IDA-Skill
- Repo stars 162
- Author updated Live
- Author repo IDA-Skill
- Domain
- Engineering
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @miunasu · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Not required
- Operating systems
- Windows
- Runtime requirements
- Python
- Permissions
-
- Read-only
- Shell exec
- Write / modify
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: IDA-Skill
description: 对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息: python skills/IDA-Skill/tools/init_analysis.py target.exe str…
category: engineering
runtime: Python
---
# IDA-Skill output preview
## PART A: Task fit
- Use case: 对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息: python skills/IDA-Skill/tools/init_analysis.py target.exe stringsusesubagenttoanalyse.txt 文件通常包含数千行字符串,直接读取会: 初始化分析后,使用 exec_ida.py 对 i64 数据库执行 IDAPython 代码进行深入分析。 runs entirely locally; runs on Python. Works with Claude Code, Cursor, Cline and 23 more..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “安全规则 / 快速开始:初始化分析 / 分析方法论” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息: python skills/IDA-Skill/tools/init_analysis.py target.exe stringsusesubagenttoanalyse.txt 文件通常包含数千行字符串,直接读取会: 初始化分析后,使用 exec_ida.py 对 i64 数据库执行 IDAPython 代码进行深入分析。 runs entirely locally; runs on Python. Works with Claude Code, Cursor, Cline and 23 more.”.
- **02** When the source has headings, the agent prioritizes “安全规则 / 快速开始:初始化分析 / 分析方法论” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, run shell commands, write/modify files; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, run shell commands, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, run shell commands, write/modify files.
Start with a small task and check whether the result follows “安全规则 / 快速开始:初始化分析 / 分析方法论”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: IDA-Skill
description: 对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息: python skills/IDA-Skill/tools/init_analysis.py target.exe str…
category: engineering
source: miunasu/IDA-Skill
---
# IDA-Skill
## When to use
- 对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息: python skills/IDA-Skill/tools/init_analysis.py target.exe stringsusesubagenttoanaly…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “安全规则 / 快速开始:初始化分析 / 分析方法论” and keep inference separate from source facts.
- read files, run shell commands, write/modify files; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "IDA-Skill" {
input -> user goal + target files + boundaries + acceptance criteria
context -> 安全规则 / 快速开始:初始化分析 / 分析方法论
rules -> SKILL.md triggers / order / output contract
runtime -> Python | read files, run shell commands, write/modify files | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} IDA Pro 逆向分析
安全规则
仅支持静态分析 - 禁止调试、执行任何二进制文件。
快速开始:初始化分析
对新样本进行初始化分析,自动生成 i64 数据库并提取所有基础信息:
示例:
python skills/IDA-Skill/tools/init_analysis.py target.exe
python skills/IDA-Skill/tools/init_analysis.py target.exe ./result
输出文件:
analysis.txt- 基本信息 + 导出表 + OEP反编译imports.txt- 导入表strings_use_subagent_to_analyse.txt- 字符串(按编码分类,已过滤噪点)
分析方法论
分析流程
遵循自顶向下的分析策略:
- 入口点分析 - 从 OEP (Original Entry Point) 开始
- 主函数定位 - 识别程序主逻辑入口(main/WinMain/DllMain)
- 功能函数追踪 - 深入关键功能函数进行详细分析
寻找关键函数的线索
利用以下信息辅助定位关键函数:
- 导入表 (imports.txt) - 查看调用的系统 API,推断功能(如网络、加密、文件操作)
- 导出表 (analysis.txt) - DLL 的对外接口,通常是核心功能
- 字符串引用 - 通过字符串内容反向定位使用它的函数
- 交叉引用 - 使用
idautils.XrefsTo()查找函数调用关系 - 思维发散 - 使用 IDAPython 获取任何你想知道的线索来辅助分析
使用 IDAPython 进行分析
推荐工作流:
- 使用
exec_ida.py执行 IDAPython 代码片段 - 查看函数反编译结果:
ida_hexrays.decompile(ea) - 追踪函数调用:
idautils.XrefsTo(ea)/idautils.XrefsFrom(ea) - 分析数据引用:查找字符串、常量的使用位置
字符串分析 - 重要规则
禁止直接读取 strings_use_subagent_to_analyse.txt!
strings_use_subagent_to_analyse.txt 文件通常包含数千行字符串,直接读取会:
- 消耗大量 token(可能超过上下文限制)
- 导致响应缓慢
- 无法有效提取有价值信息
正确做法:
- 使用子 Agent 分析
- 或使用 grep 精确搜索
- 或使用 IDAPython 定向查询
分析输出要求
- 记录关键函数的地址、名称和功能
- 说明函数之间的调用关系
- 标注可疑或重要的代码逻辑
- 如涉及加密/混淆,尝试识别算法并提取密钥
执行 IDAPython 代码
初始化分析后,使用 exec_ida.py 对 i64 数据库执行 IDAPython 代码进行深入分析。
使用 --code-std
从标准输入读取代码,配合 PowerShell here-string 语法使用。
⚠️ 必须使用 here-string 语法,不要手动转义引号!
✅ 正确做法:
使用模板
@'
原生 Python 文本
'@ | python skills/IDA-Skill/tools/exec_ida.py target.i64 --code-std
案例:
@'
print("Entry Point:", hex(idc.get_inf_attr(idc.INF_START_EA)))
for func_ea in idautils.Functions():
print(hex(func_ea), idc.get_func_name(func_ea))
'@ | python skills/IDA-Skill/tools/exec_ida.py target.i64 --code-std
Here-String 语法规则:
- 开始标记
@'必须在行尾 - 结束标记
'@必须单独在行首(前面不能有空格) - 中间的所有内容都是字面量,不需要任何转义
- 可以包含任意引号、换行、特殊字符
使用 --file
执行脚本文件,适合复杂代码或需要重复使用的脚本。
python skills/IDA-Skill/tools/exec_ida.py target.i64 --file analyze.py
API 快速参考
函数操作
idautils.Functions()- 遍历所有函数idc.get_func_name(ea)- 获取函数名ida_funcs.get_func(ea)- 获取函数对象idc.set_name(ea, name)- 重命名
反编译
ida_hexrays.decompile(ea)- 反编译函数,返回伪代码
字符串
idautils.Strings()- 遍历字符串idc.get_strlit_contents(ea)- 获取字符串内容
交叉引用
idautils.XrefsTo(ea)- 谁引用了这个地址idautils.XrefsFrom(ea)- 这个地址引用了谁
字节操作
ida_bytes.get_bytes(ea, size)- 读取字节ida_bytes.patch_bytes(ea, data)- 修改字节
内置工具
所有工具通过 exec_ida.py 执行,具体用法查询 TOOLS.md。
- reai.py - 使用 LLM 分析函数语义,支持递归分析调用链
- findcrypt.py - 通过特征常量识别加密算法(AES, DES, RC4, MD5, SHA1, SHA256, CRC32, Base64 等)
- export_check.py - 分析 DLL/EXE 的导出函数大小,小字节导出函数序列出现大字节导出函数,需要重点分析
分析方法文档
| 分析目标 | 推荐文档 |
|---|---|
| 分析恶意样本 | 恶意软件分析 |
| 挖掘安全漏洞 | 漏洞分析 |
| 还原通信协议 | 协议逆向 |
| 识别加密算法 | 算法还原 |
| 处理混淆代码 | 反混淆 |
| 分析内核驱动 | 驱动分析 |
| 逆向嵌入式固件 | 固件分析 |
| 游戏外挂分析 | 游戏逆向 |
| 移动应用逆向 | 移动应用分析 |
| 识别第三方库 | 静态库/SDK 分析 |
| 基础操作技巧 | 通用技巧 |
Decide Fit First
Design Intent
How To Use It
Boundaries And Review