-
-
[原创] FastBP:X64DBG 的批量断点管理插件
-
发表于: 2025-3-26 18:01 952
-
概述
FastBP 是一个为 X64DBG 提供的可以批量下断点的插件。支持通过自定义 JSON 配置文件来定义不同类别的 API 断点。该插件基于 SlothBP [ae2K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6^5y4U0c8V1j5X3N6Q4x3V1k6e0L8r3!0@1K9p5u0b7i4K6u0r3i4K6g2p5 的原始想法,并在此基础上进行了优化和扩展。
示例图如下:
JSON 配置示例
插件通过 JSON 文件定义 API 类别及其对应的断点。以下是一个 JSON 结构的示例:
{ "example": { "Memory": { "Apis": [ { "Name": "VirtualAlloc", "DllFunction": "kernel32.dll:VirtualAlloc", "Description": "Allocates a region of memory and sets its protection attributes", "ReturnValue": { "Type": "LPVOID", "Description": "address of allocated memory" }, "Parameters": "LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect", "Extensions": {} }, { "Name": "VirtualFree", "DllFunction": "kernel32.dll:VirtualFree", "Description": "Frees a region of memory previously allocated by VirtualAlloc or VirtualAllocEx", "ReturnValue": { "Type": "BOOL", "Description": "TRUE if successful, FALSE if failed" }, "Parameters": "LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType", "Extensions": {} } ], "ALL": [ "VirtualAlloc", "VirtualFree" ] } } }
JSON 结构说明
- DLL: 指定 API 所在的动态链接库(DLL)。
- API Name: API 函数名称。
- Description: API 的功能描述。
- Return Value: 返回值类型及其含义。
- Parameters: 参数列表及其类型。
- Extensions: 可选字段,用于扩展功能。
如何生成 JSON
可以通过 xlsx2json.py
脚本从 Excel 文件(.xlsx
)生成 JSON 文件。默认情况下,xlsx2json.py
读取 apis.xlsx
文件,但可以通过命令行指定其他文件:
1 | xlsx2json.py YourFile.xlsx |
使用方法
安装插件:
- 下载最新版本【2.0】的插件。
- 编辑
example.xlsx
文件,添加所需的 API。 - 使用
xlsx2json.py
生成 JSON 文件,并将其重命名为FastBP.json
。 - 将生成的 JSON 文件和插件文件(dp32/dp64)复制到 X64DBG 的插件目录:
- 32 位:
x32dbg/plugins/
- 64 位:
x64dbg/plugins/
- 32 位:
- 重启 X64DBG,插件将自动加载。
设置断点:
- 在 X64DBG 中打开插件菜单。
- 使用
"Set All"
选项为子类别中的所有 API 设置断点,或选择单个 API。
自定义断点:
- 更新 Excel 文件并重新生成 JSON 文件。
- 修改 JSON 配置文件以添加或移除所需的 API。
- 将更新后的 JSON 文件复制到插件目录,并重新加载配置,或者重启调试器以应用更改。
注意事项
- JSON 格式验证:
确保 JSON 文件格式正确,可以使用工具如 JSONLint 进行验证。如果使用xlsx2json.py
生成 JSON 文件,则无需担心格式问题。
版本差异
1.1: 直接解析固定的 JSON 文件,可以参考配置 FastBP.json 自己添加。
2.0: 编辑 xlsx 表格,在表格添加对应的内容,用 xlsx2json.py 生成 JSON 文件。
大家可以根据自己的意愿选择不同的版本,欢迎大家分享 API 列表。
源码地址:2e9K9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6Y4K9i4c8Z5N6h3u0Q4x3X3g2U0L8$3#2Q4x3V1k6o6K9r3!0E0j5i4c8G2M7W2)9J5c8V1k6S2M7%4c8n7f1l9`.`.
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2025-3-26 18:03
被Willarcap编辑
,原因:
赞赏
他的文章
赞赏
雪币:
留言: