
Einfache dotnet Native AOT-App, die AsmResolver verwendet, um Shellcode in PE zu konvertieren.
Eine einfache dotnet-Native-AOT-App, die [AsmResolver] verwendet, um Shellcode in PE zu konvertieren.
Es werden sowohl 32-Bit- als auch 64-Bit-Shellcode (x86, x64) unterstützt -> das Ergebnis ist eine 32-Bit- oder 64-Bit-PE.
Die [Releases] sind für linux-x64 und win-x64 kompiliert.
Es ist im Native-AOT-Format kompiliert, um zu demonstrieren, wie großartig es ist (dennoch war es eine Qual, da einige Abhängigkeiten Reflektion nutzen, die entfernt wird, wenn wir sie nicht austricksen :D). Die zum Download verfügbaren [Release]-Binärdateien sind native Binärdateien ohne jegliche dotnet-Abhängigkeit! (also einfach ausführen und genießen)
Mit Native AOT kompiliert, unter Verwendung des dotnet SDK 8.0.100-preview.3.23178.7
Dotnet SDK 8+ wurde gewählt, weil es deutlich kleinere Binärdateien erzeugt.
Die Native-AOT-Kompilierung wird ab der dotnet-7-Version unterstützt.
Wenn du dotnet 7 zum Erstellen verwenden möchtest, ändere die Projektdatei so, dass sie net7.0 anzielt -> das Erstellen ist für dotnet 7 viel einfacher.
Ziemlich einfach:
-p, --path [Erforderlich. Pfad zur Shellcode-Datei]
-a, --architecture [Erforderlich. Architektur: 32 oder 64 (abhängig vom Shellcode)]
-o, --offset [Optional. Start-Offset des Shellcodes (Standardwert 0)]
--help [Diesen Hilfebildschirm anzeigen]
--version [Versionsinformationen anzeigen]
Konvertiert Shellcode in eine 32-Bit-PE (Start-Offset des Shellcodes auf das 66. Byte gesetzt):
sc2pe -a 32 -o 66 -p C:\shellcode.bin