
3分鐘從零構建BlobRunnerWindows下編譯Shellcode調試加載器的分步指南【免費下載鏈接】BlobRunnerQuickly debug shellcode extracted during malware analysis項目地址: https://gitcode.com/gh_mirrors/bl/BlobRunnerBlobRunner 是一款開源的 Shellcode 調試加載器專為惡意軟件分析場景設計它把你提取出的 shellcode 文件讀入內存、分配可執行內存區域然后直接跳轉到 shellcode 入口讓分析人員在調試器中零配置地進入目標代碼。下面這份 Windows 編譯教程將帶你用 Visual C 命令行在 3 分鐘內從零構建 BlobRunner 調試加載器并快速上手調試你的第一段 shellcode。一、認識 BlobRunnerShellcode 調試加載器解決什么痛點調試從惡意樣本中提取的 shellcode通常要手動建內存、寫跳板代碼繁瑣易錯。BlobRunner 用約 200 行的 blobrunner.c 把這些步驟全做了讀取文件把你提供的 shellcode 二進制文件讀入緩沖區分配內存通過VirtualAlloc申請 RWX可讀寫可執行內存并復制數據跳轉入口32 位版本直接jmp到 shellcode 入口64 位版本創建一個掛起線程供你先下斷點整個工具只有一個 C 源文件無第三方依賴編譯即得。二、環境準備安裝 Visual C 編譯工具最快方法在 Windows 上編譯 BlobRunner 只需要 Microsoft 的 C 編譯器cl準備步驟如下下載并安裝Microsoft Visual C Build Tools或直接安裝 Visual Studio勾選C 桌面開發工作負載從開始菜單打開Visual Studio Command Promptx86 與 x64 兩個版本都可用輸入cl驗證編譯器可用 小技巧不要使用普通 cmd 窗口Developer Command Prompt 已自動配置好編譯器環境變量省去 PATH 折騰。三、克隆倉庫并查看源碼git clone https://gitcode.com/gh_mirrors/bl/BlobRunner cd BlobRunner項目結構非常精簡核心就兩個文件blobrunner.c—— 全部邏輯文件讀取、內存分配、參數解析、跳轉/建線程changelog.txt—— 版本記錄當前版本 0.0.5新增了--jitJIT 調試支持并修復了--offset默認按十六進制解析的問題四、一鍵編譯最快編譯 BlobRunner 的步驟編譯 32 位版本推薦新手先跑通這個在x86 版本的 Visual Studio Command Prompt中依次執行cl blobrunner.c完成后當前目錄會生成blobrunner.exe全程不到 10 秒。編譯 64 位版本x64x64 版本用的是x64 Native Tools Command Prompt命令只多兩個輸出參數cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.c/Fe指定生成的 exe 名為blobrunner64.exe。由于 x64 編譯器不支持內聯匯編64 位版本改用CreateThread創建掛起線程的方式進入 shellcode方便你在恢復線程前于線程入口下斷點。五、快速上手調試你的第一段 Shellcode拿到編譯好的blobrunner.exe后用法只有一個核心形式——把 shellcode 文件作為第一個參數BlobRunner.exe shellcode.bin標準調試流程用你喜歡的調試器x64dbg、WinDbg、IDA Pro 等打開blobrunner.exe以shellcode.bin為參數運行在跳轉到 shellcode 之前下斷點單步進入開始分析常用參數速查表參數作用示例--offset 偏移從指定偏移處進入 shellcode支持0x十六進制BlobRunner.exe shellcode.bin --offset 0x0100--nopause跳轉前不暫停?? 務必提前下好斷點BlobRunner.exe shellcode.bin --nopause--jit移除執行權限觸發 AccessViolation交由系統配置的 JIT 調試器接管BlobRunner.exe shellcode.bin --jit--debug輸出詳細調試日志—--version查看版本并退出—沒有參數時會打印幫助信息說明缺少必需的文件參數。六、進階玩法JIT 調試與 x64 Shellcode用 --jit 讓 JIT 調試器自動接管加--jit后BlobRunner 會把 shellcode 入口處的頁保護改為不可執行VirtualProtect程序執行到該處時觸發0xC0000005訪問違例異常Windows 隨即拉起你預先配置的 JIT 調試器。調試器附加后把該區域權限改回可讀寫可執行即可繼續單步例如在 x64dbg 中使用setpagerights region, ExecuteReadWrite。調試 x64 Shellcode 的原理x64 版本會在跳轉前提示你到線程入口下斷點按任意鍵恢復線程。掛起線程 入口斷點的組合正是繞過 x64 無內聯匯編限制的經典做法也是changelog.txt中 0.0.2 版本引入的重要能力。七、常見問題速答找不到 cl 命令請確認是在 Visual Studio Command Prompt 中執行而不是普通終端。x64 編譯產物名不對加上/Feblobrunner64.exe參數顯式指定輸出名。哪里找測試用的 shellcode可用 Metasploit 的 msfvenom 快速生成例如生成一個 x86 的windows/exec計算器載荷存為test2.bin即可拿來練手。遠程調試怎么辦流程與本地一致只需把 shellcode 文件拷到遠程機器并把遠程路徑作為參數傳入。八、總結你現在已經掌握了 BlobRunner 從源碼到可執行文件的完整鏈路安裝 Visual C Build Tools → 克隆倉庫 → 一條cl命令完成 32 位或 64 位編譯 → 配合--offset、--jit等參數進入調試實戰。作為一個單文件、零依賴的 Shellcode 調試加載器BlobRunner 值得放進每一位惡意軟件分析人員的工具箱里 ?【免費下載鏈接】BlobRunnerQuickly debug shellcode extracted during malware analysis項目地址: https://gitcode.com/gh_mirrors/bl/BlobRunner創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考