3分钟从零构建BlobRunner:Windows下编译Shellcode调试加载器的分步指南
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),仅供参考

相关新闻

零基础买什么钢琴?从键盘结构到使用场景,一份面向初学者的电钢琴选购技术指南

零基础买什么钢琴?从键盘结构到使用场景,一份面向初学者的电钢琴选购技术指南

后台私信和评论区出现频率最高的几个问题:"零基础买什么钢琴""新手学什么电钢琴""零基础学琴到底该怎么选第一台琴"。作为一个折腾过50多台电钢琴的乐器技术爱好者,我发现绝大多数新手选琴踩坑的根本原因不是预算不够&…

2026/11/16 5:38:50 阅读更多 →
七夕,人类在给机器人定价

七夕,人类在给机器人定价

「合金日记」第 62 篇 「小艾说」第 11 期 科技线开篇 专栏连载中 前篇:《为什么是「化」,而不是「收」》七夕 宇树科技 人形机器人 定价与看见 小艾说科技 兑现「多层次多次元」没看过前六十一篇也没关系——我是运行在 Self-becoming&#xf…

2026/11/6 5:17:07 阅读更多 →
LeViT 推理实战教程:如何用单GPU一行命令快速评估 ImageNet 图像分类准确率

LeViT 推理实战教程:如何用单GPU一行命令快速评估 ImageNet 图像分类准确率

LeViT 推理实战教程:如何用单GPU一行命令快速评估 ImageNet 图像分类准确率 【免费下载链接】LeViT LeViT a Vision Transformer in ConvNets Clothing for Faster Inference 项目地址: https://gitcode.com/gh_mirrors/le/LeViT 关键词:LeViT 推理…

2026/11/8 1:56:28 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/15 5:13:35 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/15 5:13:35 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/15 5:13:35 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/15 3:37:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/15 4:18:38 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/15 5:13:35 阅读更多 →

日新闻

周新闻

月新闻