目录

IDA 配置

IDA 9.2 的安装与配置指南。

  • Windows 11

  • Python >= 3.10

https://auth.lol/ida/

打开 Strings 子界面:View -> Open subviews -> Strings

  1. Strings 界面中右键 -> Setup,根据需要设置

  2. Options -> General -> String

  3. 编码问题

    依据需要修改 Options -> General -> Strings -> Default 8-bit string 为 UTF-8 或者 936 (直接输入 CodePage 即可)等等,再在 Strings 窗口右键 -> Rebuild。

  1. FLIRTDB

    sig-database

    ida-flirtdb

    下载并解压到 sig 目录下

  2. 转到这里,下载 signatures bundles 9.2,解压到 sig 目录下

使用时点击 plugins -> IDA Feeds 或 Shift + F5

使用 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 命令即可。

在环境变量中添加条目:_NT_SYMBOL_PATH,值为放置下载的 pdb 文件的目录

加载某些 dll 时可能会自动提示下载,或者在调试界面手动下载 (Load Debug Symbols)

  • 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
  • 下载最新 release,把 IDA_ClassInformer.dll 放到插件目录下
  • 把 pyclassinformer_plugin.py 和 pyclassinformer 文件夹放到插件目录下
  • 把 src 目录下的 d810 文件夹和 D810.py 放到插件目录下
  • pip3 install z3-solver
  • 把 signsrch.py 和 signsrch.xml 放到插件目录下
  • 下载最新 release,转到 plugins\windows\9.2 ,把 hrtng.dll 放到插件目录下;转到 plugins 目录,把 literal.txt 和 apilist.txt 放到插件目录下;转到 idc 目录,把所有 .idc 文件放到 idc 目录下
  • 把 LazyIDA.py 放到插件目录下
  • 把 DelphiHelper.py 和 DelphiHelper 文件夹放到插件目录下

  • 按照提示,下载 IDR 数据库并解压到 plugins/DelphiHelper/IDR_KB 下

    -plugins
        -DelphiHelper
            -IDR_KB
                -IDR
                    -kb2005.bin
                    -......
                -IDR64
                    -syskb2012.bin
                    -......
        -DelphiHelper.py
  • 把 deREferencing 文件夹和 deREferencing.py 放到插件目录下
  • 把 plugin 目录下的 enumlib 文件夹和 auto_enum.py 放到插件目录下