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/8/26 16:20:59 阅读更多 →
七夕,人类在给机器人定价

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

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

2026/8/26 16:20:59 阅读更多 →
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/8/26 16:20:59 阅读更多 →

最新新闻

Vue2-week3

Vue2-week3

Vue2 插槽 (slot) 笔记整理 插槽作用 实现父组件向子组件指定位置插入 HTML 结构&#xff0c;属于组件通信&#xff1a;父组件 → 子组件。 三种插槽&#xff1a;默认插槽、具名插槽、作用域插槽 1. 默认插槽 没有名字的<slot>&#xff0c;父组件传入的内容会填充到…

2026/8/26 16:48:46 阅读更多 →
【TDengine】查询引擎如何利用标签先过滤再扫描数据(Tag-first filtering)?

【TDengine】查询引擎如何利用标签先过滤再扫描数据(Tag-first filtering)?

TDengine 3.4.x 标签优先过滤(Tag-First Filtering)深度解析:万亿级时序数据的毫秒级查询秘诀 问题原文:“查询引擎如何利用标签先过滤再扫描数据(Tag-first filtering)?” 解析范围:本文将深入 TDengine 3.4.x 社区版的查询优化核心——标签优先过滤(Tag-First Filte…

2026/8/26 16:48:46 阅读更多 →
MyBatis 的注解式开发

MyBatis 的注解式开发

MyBatis 的注解式开发是除了 XML 映射之外的另一种主流方式。它把 SQL 直接写在 Java 接口的方法上&#xff0c;省去了 XML 文件&#xff0c;适合简单查询和快速开发。 下面我从最基础的注解开始&#xff0c;逐步深入到复杂的映射和动态 SQL一、为什么用注解式开发&#xff1f;…

2026/8/26 16:48:46 阅读更多 →
【TDengine】流计算(Stream)功能在 TDengine 中如何实现?

【TDengine】流计算(Stream)功能在 TDengine 中如何实现?

TDengine 3.4.x 流计算(Stream)功能深度解析:内嵌式实时处理引擎的架构与实战 问题原文:“流计算(Stream)功能在 TDengine 中如何实现?” 解析范围:本文将深入 TDengine 3.4.x 社区版的 SNode (Stream Node) 组件,系统性地剖析其内嵌式流计算引擎的设计原理、执行模型…

2026/8/26 16:48:46 阅读更多 →
中国技术大败局TBL-20260810-054深度解剖报告V2.1 决策迭代版

中国技术大败局TBL-20260810-054深度解剖报告V2.1 决策迭代版

中国技术大败局TBL-20260810-054深度解剖报告V2.1 决策迭代版技术溯源说明本报告依托合肥气链科技有限公司道息实验室 QiLinkOS 开源专利分析体系&#xff0c;采用 矩规双螺旋归因模型完成客观研判&#xff0c;其分析基准专利&#xff1a;CN2026109829751&#xff1b;全部数据公…

2026/8/26 16:48:46 阅读更多 →
关于欧盟CE认证的CPR建材指令认证

关于欧盟CE认证的CPR建材指令认证

‌欧盟CE认证CPR建材指令‌&#xff08;Construction Products Regulation, CPR&#xff09;是一项旨在确保建筑产品在欧盟市场内安全、环保和性能一致的法规&#xff0c;自2013年7月1日起取代旧的建筑产品指令&#xff08;CPD&#xff09;&#xff0c;要求所有进入欧盟市场的建…

2026/8/26 16:47:44 阅读更多 →

日新闻

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要&#xff1a; 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数&#xff08;random()、unifor…

2026/8/26 0:00:40 阅读更多 →
《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》读书笔记--第三章Databases and Database Files(2)

《Microsoft Sql server 2008 Internals》索引目录&#xff1a; 《Microsoft Sql server 2008 Internals》读书笔记--目录索引 在上篇文章中&#xff0c;主要介绍了创建数据库的基本语法和FileGroup的初步知识。需要注意的是: 关于FileGroup 如果你的系统是用Raid设备直接存…

2026/8/26 1:18:18 阅读更多 →
政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体怎么建?三种模式、三步路径与四个误区

政务AI智能体已经从概念试点阶段&#xff0c;转入了政务服务的常态化落地应用&#xff1b;在实际使用过程中&#xff0c;它能自主理解办事需求、辅助完成填报申报、开展材料预审&#xff0c;并联动多个系统协同作业&#xff0c;真正嵌入到政务办理的全流程当中。但在落地推进过…

2026/8/26 1:18:18 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/25 3:38:18 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/25 10:31:12 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →