
Algunas triquiñuelas de PE en las que estoy trabajando (cargador de shellcode, empaquetador, todo en progreso)
En este repositorio encontrarás una especie de entorno de pruebas que uso para mis cosas de modificación de archivos PE (ejecutable portátil). El código debe compilarse usando LLVM para Windows porque reemplazo/redefino algunas funciones intrínsecas (es decir, memset) para sustituir el uso del CRT estándar de Win32.
El proyecto shellcode contiene shellcode que se compilará en un archivo .exe. El script extract.py extrae el código compilado
del archivo .exe a un archivo shellcode.bin, listo para cargarse como shellcode desde una aplicación nativa de Win32.
shellcode_test implementa un cargador de shellcode predeterminado para probar este.
En estos archivos he añadido algunos encabezados de soporte básicos usados para cosas de la API de Win32 y como un reemplazo básico del CRT.
Contiene algunas funciones auxiliares para el registro de logs y una consola de depuración (incluyendo comandos ejecutables). Estas aún no tienen un uso especial, pero estoy seguro de que encontraré un propósito para esto.
Archivo PE stub que se usará más adelante para escribir un empaquetador de archivos .exe (este será el cargador).
Contiene aplicaciones básicas en C/C++ que usaré para probar mi empaquetador de PE.