
Algumas artimanhas de PE em que estou trabalhando (carregador de shellcode, packer, tudo em desenvolvimento)
Neste repositório, você encontrará uma espécie de playground que uso para minhas modificações de arquivos PE (portable executable). O código deve ser compilado usando LLVM para Windows porque eu substituo/redefino algumas funções intrínsecas (ou seja, memset) para substituir o uso da CRT regular do Win32.
O projeto shellcode contém shellcode que será compilado em um arquivo .exe. O script extract.py extrai o código compilado
do arquivo .exe para um arquivo shellcode.bin, pronto para ser carregado como shellcode a partir de uma aplicação Win32 nativa.
shellcode_test implementa um carregador de shellcode padrão para testar este.
Nestes arquivos adicionei alguns cabeçalhos de suporte básicos usados para coisas da API Win32 e como um substituto básico da CRT.
Contém algumas funções auxiliares para logging e um console de depuração (incluindo comandos executáveis). Estes ainda não têm uso especial, mas tenho certeza de que encontrarei um propósito para isso.
Arquivo PE stub que será usado posteriormente para escrever um packer de arquivos .exe (este será o loader).
Contém aplicações básicas em C/C++ que usarei para testar meu packer de PE.