
Aplicación sencilla de dotnet Native AOT que utiliza AsmResolver para convertir shellcode a PE
Aplicación simple de dotnet Native AOT que utiliza [AsmResolver] para convertir shellcode a PE.
Se admiten shellcodes de 32 y 64 bits (x86, x64) -> lo que da como resultado un PE de 32 o 64 bits.
Los [Releases] están compilados para linux-x64 y win-x64.
Está compilado en formato Native AOT para demostrar lo increíble que es (aunque fue un dolor de cabeza, ya que alguna dependencia usa reflection que se recorta si no lo engañamos :D). Los binarios de la [release] disponibles para descargar son binarios nativos sin ninguna dependencia de dotnet. (así que solo ejecuta y disfruta)
Compilado con Native AOT, usando dotnet SDK 8.0.100-preview.3.23178.7
Se eligió dotnet SDK 8+ porque produce binarios mucho más pequeños.
La compilación Native AOT es compatible desde la versión dotnet 7.
Si quieres usar dotnet 7 para compilar, modifica el archivo del proyecto para apuntar a net7.0 -> compilar es mucho más fácil con dotnet 7.
Bastante fácil:
-p, --path [Obligatorio. Ruta al archivo de shellcode]
-a, --architecture [Obligatorio. Arquitectura: 32 o 64 (según el shellcode)]
-o, --offset [Opcional. Offset inicial del shellcode (por defecto 0)]
--help [Muestra esta pantalla de ayuda]
--version [Muestra información de versión]
Convierte shellcode a PE de 32 bits (Offset inicial del shellcode establecido en el byte 66):
sc2pe -a 32 -o 66 -p C:\shellcode.bin