
Einfache dotnet Native AOT-App, die LibObjectFile verwendet, um Shellcode in ELF zu konvertieren.
Einfache dotnet-Native-AOT-App, die [LibObjectFile] verwendet, um Shellcode in ELF zu konvertieren.
Sowohl 32-Bit- als auch 64-Bit-Shellcode (x86, x64) wird unterstützt -> das Ergebnis ist ein 32-Bit- oder 64-Bit-ELF.
[Releases] sind für linux-x64 und win-x64 kompiliert.
Es ist in das Native-AOT-Format kompiliert, um zu demonstrieren, wie großartig es ist (trotzdem war es eine Qual, da einige Abhängigkeiten Reflection verwenden, 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)
Native AOT kompiliert, mit dotnet SDK 8.0.100-preview.3.23178.7
Dotnet SDK 8+ wurde gewählt, weil es deutlich kleinere Binärdateien erzeugt.
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 auf net7.0 abzielt -> 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 (Standard: 0)]
--help [Diesen Hilfebildschirm anzeigen]
--version [Versionsinformationen anzeigen]
Konvertiere Shellcode in ein 32-Bit-ELF (Start-Offset des Shellcodes auf das 66. Byte gesetzt):
sc2elf -a 32 -o 66 -p C:\shellcode.bin