Pesquisa personalizada

2005/07/13

PE - Portable Executable: Um Utilitário para Realocação

Escrevi um artigo que falo sobre como manipular a tabela de realocação do arquivo de imagem PE - Portable Executable. O que conto é sobre a pequena experiência que tive e o resultado do estudo, que chegou a um utilitário para manipular a tabela de realocação do PE. O utilitário está disponível em Delphi 7 e contém o código fonte. O fonte está bem documentado e segue o padrão PascalDoc (derivado do JavaDoc).

Como cheguei ao PE

Recentemente eu desenvolvi um utilitário que identifica as chaves de registro usadas pelo IBExpert para seu controle do período de avaliação. Após desenvolver o utilitário, verifiquei que seria conveniente, em especial para os usuários que desejassem usá-lo como um cracker, se ele rodasse junto com o executável do IBExpert. Pensei numa espécie de patcher que enxertaria o código do utilitário que desenvolvi dentro do código do executável do IBExpert. Muitos vírus atuam dessa mesma forma. Então resolvi percorrer diversos sites com artigos e códigos para desenvolvedores de vírus. Rodei bastante e verifiquei que encontrasse farto material para o desenvolvimento de vírus para DOS, mas nem tantos quantos eu gostaria para Windows. Achei inclusive alguns utilitários que faziam o que eu queria, mas funcionavam apenas para mesclar executáveis para MSDOS ou inseria um executável MS-DOS dentro de um para Windows. Isto não serve, pois eu necessito de um que mescle dois executáveis Windows e gere um terceiro como produto. Também, achei alguma coisa para Windows, mas não funcionavam como eu queria, pois eles simplesmente empacotavam os executáveis em um terceiro e no momento da carga expandiam os executáveis originais em disco. Isto é uma solução demasiadamente porca, mas vi que bastante usada por alguns vírus. Achei um que fazia exatamente o que eu queria, mas além do código ser puro assembler e envolver tarefas que seriam difíceis de serem implementadas em Delphi, era detectado pelo meu anti-vírus como um... vírus. :( Por falta de alternativa tive que estudar o formato do arquivo PE para desenvolver eu mesmo um utilitário que faça o que necessito. Felizmente a especificação do arquivo PE está facilmente acessível na web e há muitos artigos a respeito, tanto novos, quanto velhos. Há uma porção de código de exemplo, também.

O Utilitário

Para saber mais sobre o formato de arquivo PE e o utilitário que desenvolvi, leia o restante desse artigo em:
http://www.marciowb.net/articles/4/pt-br/reallocater.html


Clique no endereço abaixo para baixar o utilitário, documentação dos fontes em CHM e os fontes:

Labels:

1 Comments:

Blogger Spharion said...

"Hey man, save the pilots! Or they are be rapped when they will be arrested by murder more than one hundred people.
Hey what do you think about the Legacy EMBRAER airplane? Is it good, no? 'Cause our airplane save your life... you know. Yeah, I know we invent the airplanes, so we know how to do airplanes. Take a lesson."

Caramba, não dá pra aprender um pouco de inglês não?
E um cara de 29 anos certificado em tudo que é coisa pode ser tão infantil a ponto de ir fazer nhenhê com o cara que sobreviveu ao acidente sobre quem inventou o avião?
Putz, patético, mano.

05 October, 2006 08:50  

Post a Comment

<< Home