該程式旨在載入 32 位元或 64 位元 shellcode 並允許執行或偵錯。此外,它還可以根據所需的 shellcode 產生可執行 PE 檔案。這可以簡化測試,因為輸出二進位檔案可以由標準逆向工程工具(即 IDA Pro(甚至免費)和偵錯器)使用。
發布二進位檔案可用。您可以在 YouTube 上觀看該工具的演示
該程式提供了多個用於處理 shellcode 的選項,按其用途進行組織。
全域論點
調試 shellcode
建立PE文件
唯一需要的參數是提供包含 shellcode 的檔案的路徑。您可以透過使用-f
參數來做到這一點。這將被複製到記憶體中並執行。此外,您可以使用-ep
參數將入口點調整 X 位元組。這允許 shellcode 不在二進位 blob 的開頭開始執行。最後, -bp
決定是否應在 shellcode 之前插入斷點。這將透過0xCC
位元組(一個 INT3)來完成。這允許您在偵錯器下運行程序,並根據需要定義命令列參數。插入斷點將允許偵錯器在執行 shellcode 之前中斷執行。如果您不在偵錯器下運行,請勿插入斷點,因為這會導致程式崩潰。
您可以使用-pe
參數來產生實質上包裝 shellcode 的 PE 檔案。 shellcode 放置在.text
部分。除非使用-ep
參數,否則入口點定義為節的開頭。此參數將定義距該節開頭的偏移量,並用於更新 PE 檔案入口點(即 AddressOfEntry 欄位)。此外, -64
參數可用於產生 64 位元 PE 文件,可能用於 64 位元 shellcode。產生的 PE 檔案可以透過常見的逆向工程工具(例如 IDA Pro、Ghidra)或偵錯器(例如 x32dbg/WinDbg/etc)進行分析。
如果使用-d參數,SCLauncher 將建立一個名為.content 的新節,並將檔案的內容複製到該節中。此部分將在.text部分之後。
如果您的 shellcode 尚未處於二進位狀態,則可以使用 CyberChef 轉換該 shellcode 並將其下載為檔案。
以下是來自 Exploit-DB 的 shellcode 範例,該程式碼在 CyberChef 上轉換為二進位內容。
該程式旨在使用 Microsoft 的 C/C++ 編譯器進行編譯。安裝免費/社群版本後,您可以使用Developer Command Prompt
來使用cl
進行編譯。該命令的一個範例是:
cl sclauncher.c
這將產生可執行的sclauncher.exe
。