给你的Ida插上翅膀
嗯,用户让我总结一篇文章的内容,控制在一百个字以内,而且不需要特定的开头。首先,我得仔细阅读这篇文章,理解它的主要目的和步骤。 文章一开始提到“小x同学,把0x1011218f 的函数中的花指令去除掉”,这说明主要任务是去除花指令。接着,作者讨论了如何配置IDA Python环境,强调不要用系统Python,而是创建虚拟环境。然后详细介绍了如何使用conda创建虚拟环境,并修改路径。这部分是步骤中的关键点。 接下来,文章转向安装IDA MCP插件,通过pip安装,并配置AI IDE。最后总结AI的作用和古法分析的意义。整体来看,文章主要讲的是配置IDA Python环境和使用MCP插件来辅助分析。 所以,总结的时候需要涵盖目标、步骤和工具。控制在一百字以内的话,可以这样表达:介绍如何配置IDA Python环境并使用MCP插件去除花指令和分析代码。 </think> 文章介绍了一种通过配置IDA Python环境并结合MCP插件来去除花指令和分析代码的方法。 2025-12-19 03:46:43 Author: 91fans.com.cn(查看原文) 阅读量:5 收藏

一、目标

一、目标

“小x同学,把0x1011218f 的函数中的花指令去除掉”。

最近飞哥已经陷入到AI中无法自拔,感觉以后古法分析都快要成非遗了,以后的标题都得是"传承三十年,古法纯手工去花指令,定位关键算法"。

二、步骤

你的Ida Python在哪里?

首先你得知道你的ida python是谁? 在哪里?

原则一,不要用系统的python,不然你乱七八糟装一堆包,把系统的python干坏了,就废了,最好创建一个虚拟环境,这个python只给ida用

/Applications/IDA Professional 9.1.app/Contents/MacOS

目录下面找到 idapyswitch

fenfei@fenfei-Mac-Studio MacOS % ./idapyswitch
The following Python installations were found:
    #0: 3.13.0 ('') (/opt/homebrew/Cellar/[email protected]/3.13.5/Frameworks/Python.framework/Versions/3.13/Python)
    #1: 3.12.0 ('') (/opt/homebrew/Cellar/[email protected]/3.12.10/Frameworks/Python.framework/Versions/3.12/Python)
    #2: 3.11.0 ('') (/opt/homebrew/Cellar/[email protected]/3.11.12/Frameworks/Python.framework/Versions/3.11/Python)
    #3: 3.10.0 ('') (/opt/homebrew/Cellar/[email protected]/3.10.17/Frameworks/Python.framework/Versions/3.10/Python)
    #4: 3.9.0 ('') (/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/Python3)
    #5: 3.9.0 ('') (/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/Python3)
Please pick a number between 0 and 5 (default: 0)

可以看到 我现在ida 用的是 py3.13

然后使用 conda 装个虚拟环境,然后里面也装python3.13

conda create -n ida_env python=3.13

修改 /Applications/IDA Professional 9.1.app/Contents/MacOS/python/init.py

增加一行 sys.path.append("/opt/miniconda3/envs/ida_env/lib/python3.13/site-packages")

恭喜你,从此以后你的ida python就专款专用了

可以确认一下你的配置是否正确,

插上翅膀

https://github.com/mrexodia/ida-pro-mcp

mcp是什么?这个得问ai

MCP 一般指的是 Model Context Protocol(模型上下文协议)。

一句话版理解(先看这个)

MCP = 给 AI 规定的一套“插件 / 外挂接口标准”

就像:

  • USB 是硬件接口标准
  • HTTP 是网络接口标准
  • MCP 是 AI 调用外部能力的接口标准

其实你就理解成,ida mcp 可以让AI ide 直接操作你的ida

我们开始安装 ida mcp

# 进入ida专用py环境
conda activate ida_env
pip uninstall ida-pro-mcp
pip install https://github.com/mrexodia/ida-pro-mcp/archive/refs/heads/main.zip
ida-pro-mcp --install

ok了, 安装完毕, 打开 ida ,找个样本反编译,然后 Edit → Plugins → MCP

[MCP] Server started:
  Streamable HTTP: http://127.0.0.1:13337/mcp
  SSE: http://127.0.0.1:13337/sse
  Config: http://127.0.0.1:13337/config.html

这就是启动成功,

配置AI IDE

打开你常用的 AI IDE, 包括不限于 Cursor / CodeGeeX / Trae / Codebuddy

配置 MCP

{"mcpServers":{"ida":{"transport":"sse","url":"http://127.0.0.1:13337/sse","alwaysAllow":["idb_meta","list_funcs","disasm","decompile","lookup_funcs","analyze_funcs","get_bytes"]}}}

出来这个效果

idamcp
1:idamcp

可以开始了

从ida mcp中,请把 0x101159B88 函数的花指令去掉

从ida mcp中,请帮我分析一下 xid 是如何生成的, 生成frida hook 脚本 跟踪一下。

嗯 真香

三、总结

感觉ai进步了,以前红极一时的 AI Prompt 没那么重要了,反正我说的 AI 基本都能听懂。

古法纯手工还有没有意义? 有个网友说过 你不会的别指望 ai 会,你能用 ai 搞出来是因为你会

ffshow
1:ffshow

插上翅膀的人是天使,插上翅膀的老鼠是蝙蝠

100

关注微信公众号,最新技术干货实时推送

100

文章作者 奋飞

上次更新 2025-12-19

许可协议 奋飞安全原创,转载请注明出处。


文章来源: http://91fans.com.cn/post/idamcp/
如有侵权请联系:admin#unsafe.sh