
Semplice app dotnet Native AOT che usa AsmResolver per convertire shellcode in PE
Semplice app dotnet Native AOT che usa [AsmResolver] per convertire shellcode in PE.
Sono supportati sia shellcode a 32-bit che a 64-bit (x86, x64) -> il risultato è un PE a 32-bit o 64-bit.
Le [Release] sono compilate sia per linux-x64 che per win-x64.
È compilato in formato Native AOT per dimostrare quanto sia fantastico (anche se è stato un incubo, perché alcune dipendenze usano la reflection che viene rimossa se non la inganniamo :D). I binari delle [release] disponibili per il download sono binari nativi senza alcuna dipendenza dotnet! (quindi basta eseguirli e goderseli)
Compilato con Native AOT, usando il 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 a partire dalla versione dotnet 7.
Se vuoi usare dotnet 7 per la compilazione, modifica il file di progetto per avere come target net7.0 -> la compilazione è molto più semplice con dotnet 7.
Abbastanza semplice:
-p, --path [Obbligatorio. Percorso del file shellcode]
-a, --architecture [Obbligatorio. Architettura: 32 o 64 (in base allo shellcode)]
-o, --offset [Opzionale. Offset iniziale dello shellcode (default 0)]
--help [Mostra questa schermata di aiuto]
--version [Mostra le informazioni sulla versione]
Converti shellcode in PE a 32-bit (offset iniziale dello shellcode impostato al 66° byte):
sc2pe -a 32 -o 66 -p C:\shellcode.bin