专业逆向分析接口工具

IDA Moles
静态逆向分析接口

通过标准化调用逻辑,高效控制IDA Pro执行反汇编、反编译、内存分析等操作, 大幅提升逆向分析效率与灵活性。

当前版本: 1.0.7 (2025/11/22 19:36) | 支持IDA Pro 9.1
IDA Moles 演示
CMD> pip install idamoles
CMD> python
Python 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) 
[MSC v.1944 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from IDAMoles import *
>>> config = Config(address="127.0.0.1",port=8000)
>>> config.set_ida_path("C://idapro9.1")
The IDA path has been set to: C:\idapro9.1\plugins
>>>
>>> config.install_moles()
Download progress: 100.00%
[*] Install Moles Success
>>>
>>> config.open_ida_with_program("C://win32.exe",auto_mode=True,force_new=True)
SUCCESS: IDA has been started and the program has been loaded:C://win32.exe
强大功能

专为逆向分析打造的核心功能

IDA Moles 提供全方位的逆向分析接口,满足各种复杂场景需求,让逆向分析工作事半功倍

高效反编译控制

通过标准化接口控制IDA Pro执行反编译操作,快速获取高质量的伪代码,支持批量处理多个函数与模块。

高级调试功能

提供完整的调试控制接口,支持设置断点、单步执行、内存查看等操作,轻松追踪程序执行流程。

内存分析工具

深入分析程序内存布局,获取段信息、符号表、交叉引用等关键数据,助力逆向工程师全面理解二进制文件。

函数解析能力

自动解析函数参数、局部变量、调用关系,生成清晰的函数调用图,加速逆向分析过程。

MCP服务器扩展

支持开发自定义MCP服务器接口,灵活扩展逆向分析能力,满足特定场景下的定制化需求。

自动化批量处理

通过编程接口实现逆向分析流程的自动化,支持批量处理大量样本,显著提升工作效率。

快速开始

简单几步,完成安装

遵循以下步骤,快速安装并配置IDA Moles,立即体验高效逆向分析工作流

通过PIP安装IDA Moles

打开命令提示符或终端,执行以下命令安装最新版本的IDA Moles:

CMD> pip install idamoles

确保您已安装Python 3.8或更高版本,并且pip工具可用。如果安装过程中遇到问题,请检查网络连接或尝试使用国内镜像源。

快速上手

使用示例展示

通过简单的代码示例,快速了解IDA Moles的强大功能和使用方法

基本调试操作

初始化调试器并获取程序镜像信息:

>>> from IDAMoles import *
>>>
>>> config=Config(address="127.0.0.1",port=8000)
>>>
>>> client = BaseHttpClient(config)
>>> client
>>> IDAMoles.BaseHttpClient object at 0x0000020A2143C590
>>>
>>> info_page = Info(config)
>>> info_page
>>> IDAMoles.Info object at 0x0000020A2143C6E0
>>>
>>> info_page.get_image_info()
{
  "status": "success",
  "result": {
    "omin_ea": 4198400,
    "omax_ea": 4210688,
    "image_size": 12288,
    "omin_ea_hex": "0x401000",
    "omax_ea_hex": "0x404000",
    "image_size_hex": "0x3000"
  },
  "timestamp": 788718
}
获取程序加载地址、大小等关键信息

函数分析

解析指定地址的函数信息:

>>> from IDAMoles import *
>>>
>>> config=Config(address="127.0.0.1",port=8000)
>>>
>>> client = BaseHttpClient(config)
>>> client
>>> IDAMoles.BaseHttpClient object at 0x0000020A2143C590
>>>
>>> function = Function(config)
>>> function
>>> IDAMoles.Function object at 0x0000020A2143C830
>>>
>>> info = function.get_function_info("0x401000")
>>> info
{
    "status": "success",
    "result": {
        "function_info": {
            "start_address_hex": "0x401000",
            "end_address_hex": "0x401110",
            "size": 272,
            "name": "_wWinMain@16"
        }
    },
    "timestamp": 1262421
}
获取函数范围、参数数量、交叉引用等信息

内存数据读取

读取指定内存地址范围的数据:

>>> from IDAMoles import *
>>>
>>> config=Config(address="127.0.0.1",port=8000)
>>>
>>> client = BaseHttpClient(config)
>>> client
>>> IDAMoles.BaseHttpClient object at 0x0000020A2143C590
>>>
>>> memory = Memory(config)
>>> memory
>>> IDAMoles.Memory object at 0x0000020A2143CC20
>>>
>>> bytes = memory.get_memory_bytes("0x401000","10")
>>> bytes
{
    "status": "success",
    "result": {
        "address": 4198400,
        "address_hex": "0x401000",
        "requested_length": 10,
        "actual_length": 10,
        "bytes": [
            85,139,236,131,236,36,161,0,48,64
        ],
        "bytes_hex": [
            "55","8b","ec","83","ec","24","a1","00","30","40"
        ]
    },
    "timestamp": 1994296
}
以十六进制和ASCII形式查看内存数据

批量分析脚本

自动化批量分析多个二进制文件:

>>> from IDAMoles import *
>>> import os
>>>
>>> config = Config(address="127.0.0.1", port=8000)
>>> config.set_ida_path("C://idapro9.1")
>>>
>>> target_dir = "C://samples/"
>>>
>>> for filename in os.listdir(target_dir):
...     if filename.endswith(".exe"):
...         path = os.path.join(target_dir, filename)
...         config.open_ida_with_program(path, auto_mode=True)
...         analyzer = Info(config)
...         
...         image_info = analyzer.get_image_info()
...         image_info
...         {
...           "status": "success",
...           "result": {
...             "omin_ea": 4198400,
...             "omax_ea": 4210688,
...             "image_size": 12288,
...             "omin_ea_hex": "0x401000",
...             "omax_ea_hex": "0x404000",
...             "image_size_hex": "0x3000"
...           },
...           "timestamp": 788800
...         }
...         
...         config.close_ida()
自动批量处理目录中的所有可执行文件
为何选择

IDA Moles 技术优势

相比传统逆向分析方式,IDA Moles 带来了革命性的效率提升

分析效率对比

与传统手动分析相比,使用IDA Moles可节省高达85%的时间

高效自动化

通过编程接口实现逆向分析流程自动化,减少重复劳动,让分析师专注于核心逻辑理解。

标准化接口

统一的API设计,简化调用逻辑,降低学习成本,让开发者快速上手并集成到现有工作流中。

高度可扩展

支持自定义MCP服务器接口开发,轻松扩展功能,满足特定场景下的逆向分析需求。

准备好提升您的逆向分析效率了吗?

立即下载IDA Moles,体验高效、自动化的逆向分析工作流,让复杂的逆向任务变得简单

1.0.7
当前版本
9.1
支持IDA版本
3.8+
Python版本