尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

BlobRunner --jit 选项深度揭秘:如何用一个访问违规异常秒唤 JIT 调试器

BlobRunner --jit 选项深度揭秘:如何用一个访问违规异常秒唤 JIT 调试器 BlobRunner --jit 选项深度揭秘如何用一个访问违规异常秒唤 JIT 调试器【免费下载链接】BlobRunnerQuickly debug shellcode extracted during malware analysis项目地址: https://gitcode.com/gh_mirrors/bl/BlobRunnerBlobRunner 是一款专为恶意软件分析打造的 shellcode 快速调试工具它替你把提取出的 shellcode 文件读入内存、分配可执行空间并直接跳转执行。而它的--jit选项更是神来之笔——故意撤掉内存的执行权限让 CPU 当场触发一个0xC0000005访问违规Access Violation异常从而秒唤你系统里配置好的 JIT 调试器全程无需手动附加进程。先认识 BlobRunnershellcode 一键调试器 平时调试一段裸 shellcode你得手动找内存块、写数据、设断点繁琐又容易出错。BlobRunner 把这一切压缩成一行命令BlobRunner.exe shellcode.bin它的核心流程只有四步见 blobrunner.c 中的process_file与execute函数读取文件—— 以二进制方式加载你的 shellcode分配内存——VirtualAlloc直接申请 RWX可读写执行区域复制数据—— 把 shellcode 原样拷入跳转执行—— x86 直接jmp过去x64 则创建一个挂起线程后恢复方便你在入口下断点。就这样你只需要在调试器里对 BlobRunner 本身下好断点然后单步跳进shellcode 世界。--jit 的魔法原理一次故意的访问违规异常 ⚡--jit的精髓藏在execute函数里blobrunner.c约 L111–L119VirtualProtect(shell_entry, 1, PAGE_READWRITE, oldp);只改 1 个字节把 shellcode 入口处的执行权限悄悄抹掉流程随即变成BlobRunner 读取 shellcode 并分配 RWX 内存VirtualProtect将入口首字节权限改为可读可写、不可执行程序照常跳转到入口开始执行 → 权限冲突 → 抛出0xC0000005访问违规异常Windows 发现异常无人处理 →自动启动系统配置的 JIT 调试器并把 BlobRunner 进程加载进去调试器在异常处停住你接手分析。 一个隐藏细节源码中--jit会自动隐含--nopausemain函数 L176–L179。因为要秒唤调试器就不能在跳转前等你按回车。如何配置 Windows 的 JIT 调试器最快方法JIT 触发的前提是系统里先配好谁来接手异常。注册表方式打开HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Debugger设置Auto 1Debugger填调试器的完整路径与参数例如 WinDbg 的cdb.exe -g -G。x64dbg 方式在控制台执行setjitauto自动注册或setjit命令把 x64dbg 设为当前进程的 JIT 调试器。配置完成后运行BlobRunner.exe shellcode.bin --jit稍等片刻调试器窗口就会自动弹出并停在访问违规异常处。调试器接管后恢复执行权限才能跑 别急着单步——入口字节仍是不可执行的。在 x64dbg 中执行setpagerights region, ExecuteReadWrite把region换成 BlobRunner 控制台打印出的内存基地址Base即可。权限恢复后你就可以从容地 F7 单步、设断点、观察 API 调用了。其他实用参数速览参数作用示例--offset从 shellcode 内部指定偏移处开始执行支持0x十六进制--offset 0x100--nopause跳转前不暂停直接执行需提前设好断点--nopause--jit触发访问违规异常唤起 JIT 调试器自动隐含--nopause--jit--debug输出详细日志--debug动手构建 BlobRunner ️想要最新版本自己编译同样简单--jit自 0.0.4 版本起可用变更记录见changelog.txtWindows x86打开 Visual Studio 命令提示符cd到源码目录执行cl blobrunner.cx64 版本打开 x64 命令提示符执行cl /Feblobrunner64.exe /Foblobrunner64.out blobrunner.c。测试用的 shellcode 可以用 msfvenom 快速生成例如一条执行 calc.exe 的 x86 payload 存为shellcode_x86.bin即可开练。小贴士与注意事项 ⚠️那个访问违规异常是故意制造的不是程序出 bug调试器弹出来正是预期效果--jit必须在目标机器上配置好 JIT 调试器才有效果否则会直接以异常崩溃退出调试 x64 shellcode 时BlobRunner 通过挂起线程的方式让你在入口处先下断点别急着恢复线程。一个选项、一次异常、零手动附加——这就是 BlobRunner--jit让 shellcode 调试变快的全部秘密。【免费下载链接】BlobRunnerQuickly debug shellcode extracted during malware analysis项目地址: https://gitcode.com/gh_mirrors/bl/BlobRunner创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表