IDA 配置
IDA 9.2 的安装与配置指南。
1 前置条件
-
Windows 11
-
Python >= 3.10
2 下载、安装与激活
2.1 下载
2.2 安装
略
2.3 激活
-
IDA 9.2
-
将 kg_patch/keygen.js 复制到 IDA 安装目录下,运行该脚本
-
IDA 9.1
3 基本配置
3.1 字符串相关
打开 Strings 子界面:View -> Open subviews -> Strings
-
Strings 界面中右键 -> Setup,根据需要设置
-
Options -> General -> String
-
编码问题
依据需要修改 Options -> General -> Strings -> Default 8-bit string 为
UTF-8或者936(直接输入 CodePage 即可)等等,再在 Strings 窗口右键 -> Rebuild。
3.2 sig
-
下载并解压到 sig 目录下
-
转到这里,下载 signatures bundles 9.2,解压到 sig 目录下
使用时点击 plugins -> IDA Feeds 或 Shift + F5
3.2.1 自行创建静态库 sig
使用 tools/flair/pcf.exe 和 sigmake.exe
先获取 pat 文件:
pcf <static_lib_path> <output_pat_path>
再把 pat 文件转换为 sig 文件:
sigmake <pat_path> <output_sig_path>
可能有 collision,查看 exc 文件:
;--------- (delete these lines to allow sigmake to read this file)
; add '+' at the start of a line to select a module
; add '-' if you are not sure about the selection
; do nothing if you want to exclude all modules
_gzgetc 26 E38D 558BEC8B550885D2744E817A104F1C000075458B426485C0740583F8FB75398B
_gzgetc_ 26 E38D 558BEC8B550885D2744E817A104F1C000075458B426485C0740583F8FB75398B
_gzopen 00 0000 558BECFF750C6AFFFF7508E8........83C40C5DC3......................
_gzopen64 00 0000 558BECFF750C6AFFFF7508E8........83C40C5DC3......................
在想要包含的行前加上 +,然后把带分号的行删去,例如:
+_gzgetc 26 E38D 558BEC8B550885D2744E817A104F1C000075458B426485C0740583F8FB75398B
_gzgetc_ 26 E38D 558BEC8B550885D2744E817A104F1C000075458B426485C0740583F8FB75398B
+_gzopen 00 0000 558BECFF750C6AFFFF7508E8........83C40C5DC3......................
_gzopen64 00 0000 558BECFF750C6AFFFF7508E8........83C40C5DC3......................
最后重新运行 sigmake 命令即可。
3.3 pdb
在环境变量中添加条目:_NT_SYMBOL_PATH,值为放置下载的 pdb 文件的目录
加载某些 dll 时可能会自动提示下载,或者在调试界面手动下载 (Load Debug Symbols)
4 插件
- IDA Pro 插件目录:安装目录下的 plugins 文件夹
| 名称 | 功能 |
|---|---|
| ClassInformer | 反编译 C++ 时恢复类信息 |
| PyClassInformer | 同上,提供更好的视图 |
| d810-ng | 去混淆,反 ollvm |
| signsrch-py | 加密算法识别 |
| Hrtng | 去混淆、lib 函数识别、解密 |
| LazyIDA | 快速 dump 数据 |
| DelphiHelper | 加载 IDR 的数据库、构造窗体控件树、VMT Parse |
| deREferencing | 显示栈和寄存器指向的内容 |
| auto-enum | 恢复 api 的 enum 参数 |
以下插件的可用性未知:
| 名称 | 功能 |
|---|---|
| IDAscope | 加密算法识别、查看函数调用 api、yara |
| HexRaysCodeXplorer | C++ 自动类型重建以及对象浏览 |
| findcrypt-yara | 加密算法识别 |
| findcrypt3 | 加密算法识别 |
| findhash | 加密算法识别 |
| KeyPatch | patch 指令 |
| Patching | patch |
4.1 ClassInformer
- 下载最新 release,把 IDA_ClassInformer.dll 放到插件目录下
4.2 PyClassInformer
- 把 pyclassinformer_plugin.py 和 pyclassinformer 文件夹放到插件目录下
4.3 d810-ng
- 把 src 目录下的 d810 文件夹和 D810.py 放到插件目录下
pip3 install z3-solver
4.4 signsrch-py
- 把 signsrch.py 和 signsrch.xml 放到插件目录下
4.5 Hrtng
- 下载最新 release,转到 plugins\windows\9.2 ,把 hrtng.dll 放到插件目录下;转到 plugins 目录,把 literal.txt 和 apilist.txt 放到插件目录下;转到 idc 目录,把所有 .idc 文件放到 idc 目录下
4.6 LazyIDA
- 把 LazyIDA.py 放到插件目录下
4.7 DelphiHelper
-
把 DelphiHelper.py 和 DelphiHelper 文件夹放到插件目录下
-
按照提示,下载 IDR 数据库并解压到 plugins/DelphiHelper/IDR_KB 下
-plugins -DelphiHelper -IDR_KB -IDR -kb2005.bin -...... -IDR64 -syskb2012.bin -...... -DelphiHelper.py
4.8 deREferencing
- 把 deREferencing 文件夹和 deREferencing.py 放到插件目录下
4.9 auto-enum
- 把 plugin 目录下的 enumlib 文件夹和 auto_enum.py 放到插件目录下