ida-skill
3
总安装量
2
周安装量
#60948
全站排名
安装命令
npx skills add https://github.com/miunasu/ida-skill --skill ida-skill
Agent 安装分布
opencode
2
github-copilot
2
codex
2
gemini-cli
2
amp
1
Skill 文档
IDA Pro éååæ
å®å ¨è§å
ä» æ¯æéæåæ – ç¦æ¢è°è¯ãæ§è¡ä»»ä½äºè¿å¶æä»¶ã
å¿«éå¼å§ï¼åå§ååæ
å¯¹æ°æ ·æ¬è¿è¡åå§ååæï¼èªå¨çæ i64 æ°æ®åºå¹¶æåææåºç¡ä¿¡æ¯ï¼
示ä¾ï¼
python IDA-Skill/tools/init_analysis.py target.exe
python 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 代ç è¿è¡æ·±å
¥åæã
示ä¾
# 1. æ§è¡ä»£ç
python IDA-Skill/tools/exec_ida.py target.i64 --code "print('Entry Point:', hex(idc.get_inf_attr(idc.INF_START_EA)))"
# 2. æ§è¡èæ¬æä»¶
python 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 çï¼
- mkyara.py – ä»ä»£ç èå´çæ YARA æ£æµè§å
- export_check.py – åæ DLL/EXE ç导åºå½æ°å¤§å°ï¼å°åè导åºå½æ°åºååºç°å¤§åè导åºå½æ°ï¼éè¦éç¹åæ
åææ¹æ³ææ¡£
| åæç®æ | æ¨èææ¡£ |
|---|---|
| åææ¶ææ ·æ¬ | æ¶æè½¯ä»¶åæ |
| ææå®å ¨æ¼æ´ | æ¼æ´åæ |
| è¿åéä¿¡åè®® | åè®®éå |
| è¯å«å å¯ç®æ³ | ç®æ³è¿å |
| å¤çæ··æ·ä»£ç | åæ··æ· |
| åæå æ ¸é©±å¨ | 驱å¨åæ |
| éååµå ¥å¼åºä»¶ | åºä»¶åæ |
| 游æå¤æåæ | 游æéå |
| ç§»å¨åºç¨éå | ç§»å¨åºç¨åæ |
| è¯å«ç¬¬ä¸æ¹åº | éæåº/SDK åæ |
| åºç¡æä½æå·§ | éç¨æå·§ |