首页
社区
课程
招聘
[原创] FastBP:X64DBG 的批量断点管理插件
发表于: 2025-3-26 18:01 952

[原创] 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

使用方法

  1. 安装插件

    • 下载最新版本【2.0】的插件。
    • 编辑 example.xlsx 文件,添加所需的 API。
    • 使用 xlsx2json.py 生成 JSON 文件,并将其重命名为 FastBP.json
    • 将生成的 JSON 文件和插件文件(dp32/dp64)复制到 X64DBG 的插件目录:
      • 32 位:x32dbg/plugins/
      • 64 位:x64dbg/plugins/
    • 重启 X64DBG,插件将自动加载。
  2. 设置断点

    • 在 X64DBG 中打开插件菜单。
    • 使用 "Set All" 选项为子类别中的所有 API 设置断点,或选择单个 API。
  3. 自定义断点

    • 更新 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编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回