
Semplice app dotnet Native AOT che utilizza LibObjectFile per convertire shellcode in ELF
Semplice app dotnet Native AOT che usa [LibObjectFile] per convertire shellcode in ELF.
Sia shellcode a 32 bit che a 64 bit (x86, x64) sono supportati -> risultando in ELF a 32 bit o 64 bit.
Le [Release] sono compilate per linux-x64 e win-x64.
È compilato in formato Native AOT per dimostrare quanto è fantastico (anche se è stato un dolore, perché alcune dipendenze usano reflection che verrebbe rimossa se non la inganniamo :D). I binari della [release] scaricabili sono binari nativi senza alcuna dipendenza dotnet! (quindi basta eseguirli e goderseli)
Compilato con Native AOT, usando dotnet SDK 8.0.100-preview.3.23178.7
Il dotnet SDK 8+ è stato scelto perché produce binari molto più piccoli.
La compilazione Native AOT è supportata dalla versione dotnet 7.
Se vuoi usare dotnet 7 per la compilazione, modifica il file di progetto per puntare a net7.0 -> la compilazione è molto più semplice per dotnet 7.
Molto semplice:
-p, --path [Obbligatorio. Percorso del file shellcode]
-a, --architecture [Obbligatorio. Architettura: 32 o 64 (a seconda dello shellcode)]
-o, --offset [Facoltativo. Offset iniziale dello shellcode (default 0)]
--help [Mostra questa schermata di aiuto]
--version [Mostra informazioni sulla versione]
Converti shellcode in ELF a 32 bit (offset iniziale dello shellcode impostato al 66° byte):
sc2elf -a 32 -o 66 -p C:\shellcode.bin