0x00 前言

IDA作为功能非常强大的逆向工具,其脚本引擎idapython极大地扩展了其自动化分析能力。但原生的idapython API较为底层,在日常使用中略显繁琐,而且在开发上不够pythonic。

如今官方的idapython项目在github上从2025年9月8号开始就已经不再维护了,相反的,不同于仅仅作为ida的SDK封装的idapython,一个更强大且方便的工具ida-domain出现了。它提供了更干净的接口,更简洁和直接的使用方式,属于对idapython的二次封装。

image-20251010171055749

不同于idapython的一个重要改变是整个项目从出现开始第一天就是开源的项目,这是官方和逆向工程社区进行结合的表现。在这个项目出现的同时,idasdk也正式开源,每个逆向爱好者都可以用此构建插件或者帮助ida-domain的开发。

ida-domain项目地址:https://github.com/HexRaysSA/ida-domain

image-20251010172236812

0x01 安装

  • 先决条件

    IDA Pro 版本高于9.1.0

  • 配置环境变量

    1
    2
    # 将IDADIR设置为环境变量,值是IDA的安装目录
    export IDADIR="[IDA Installation Directory]"
  • pypi安装

    1
    pip install ida-domain
  • 测试安装

    1
      

0x02 开发、测试和构建

  • 开发

    基于uv

    1
    2
    3
    4
    git clone https://github.com/HexRaysSA/ida-domain.git
    cd ida-domain
    uv sync --extra dev
    uv run pre-commit install
  • 测试

    1
    2
    uv sync --extra dev
    uv run pytest
  • 构建文档

    1
    2
    uv sync --extra docs
    uv run mkdocs serve

    文档在sites目录下