今年IDA官方举办的插件开发比赛,结果已经出炉,前三名分别为:
DynDataResolver
Lucid 与 grap
efiXplorer
01
DynDataResolver
项目地址:
https://github.com/Cisco-Talos/DynDataResolver
DynDataResolver简称DDR,由Cisco安全团队成员开发,使用DynamoRIO框架进行二进制插桩,帮助从运行的软件中提取有价值的信息并显示出来,比如执行过的指令、寄存器值、API调用日志等等。虽然安装比较麻烦,但毕竟开源免费,通常被用来分析恶意软件。
更多信息可以参考:
https://blog.talosintelligence.com/2020/05/dynamic-data-resolver-1-0.html
02
Lucid
项目地址:
https://github.com/gaasedelen/lucid
Lucid是一款交互式查看IDA 微码(中间语言)的插件,它能够将F5代码与对应微码高亮显示出来,其提供的交互功能非常适合用来学习反编译器中的微代码转换,通过微码可以对抗软件混淆,对付花指令、乱序等情况。
03
grap
项目地址:
https://github.com/QuoSecGmbH/grap/
grap是基于汇编和控制流的二进制相似度匹配检测插件,支持DOT图形描述语言来自定义规则,可以考虑用来识别一些历史漏洞函数。
04
efiXplorer
项目地址:
https://github.com/binarly-io/efiXplorer
efiXplorer是一款UEFI固件分析插件,可以解压UEFI固件中的所有模块,并自动分析整合到同一个IDB,实现跨模块的交叉引用识别。
05
bf
下载地址:
https://www.hex-rays.com/wp-content/static/contests_details/contest2020/bf/bf.zip
bf是brainfuck语言反编译器插件,这种语言实在是太小众了,而且该插件不稳定,可能导致IDA崩溃。
06
bip
项目地址:
https://github.com/synacktiv/bip/
Bip是一个旨在简化Python与IDA交互的插件,提升在IDA的Python交互式控制台的使用和插件编写效率,它安装简单,且有相关文档和示例代码。
07
capa explorer
项目地址:
https://github.com/fireeye/capa/
capa explorer是由Fireeye使用Python开发的一款与capa框架交互的IDA插件,capa是用来识别PE可执行程序行为的,比如检测shellcode、后门、病毒的行为,通过一套可查看和设置的规则来定义
08
FingerMatch
项目地址:
https://github.com/jendabenda/fingermatch
FingerMatch用于二进制程序间的模糊匹配的Python插件,基于函数、数据、类型和注释等信息进行检测。在无符号的程序逆向分析中,有时可以借助它与疑似的开源库作相似度比对,若找到其使用的开源库,对于提高分析效率将有很大帮助。
09
idaDiscover
下载地址:
https://www.hex-rays.com/wp-content/static/contests_details/contest2020/idaDiscover/idaDiscover.7z
idaDiscover是一款辅助分析恶意软件的插件,支持搜索加密和动态生成的字符串,内嵌PE文件、可疑循环、加密和Hash算法等等。
10
idahunt
项目地址:
https://github.com/nccgroup/idahunt
idahunt是Python脚本开发的命令行工具,算不上严格意义上的IDA插件,通过命令行调用IDA分析二进制程序,支持/PE/ELF/MACH-O等程序,可以同时打开多个IDB进行分析,指定相应的Python脚本进行自动化分析。比较适用的场景包括微软补丁分析、同家族的恶意软件分析、分析打包的二进制压缩包(比如UEFI, HP iLO, Cisco IOS 路由器, Cisco ASA 防火墙等等)。
11
ida_medigate
项目地址:
https://github.com/medigate-io/ida_medigate
ida_medigate用于逆向C++的插件,用于辅助分析虚函数分发,支持虚函数的交叉引用识别。
12
idapm
项目地址:
https://github.com/tkmru/idapm
idapm是IDA插件管理器,可以帮助用户完成棘手的插件管理任务:添加,删除,罗列插件。
13
PacXplorer
下载地址:
https://www.hex-rays.com/wp-content/static/contests_details/contest2020/PacXplorer/pacxplorer.zip
PacXplorer支持分析ARM64 PAC指令,以提供一种新型的交叉引用:从调用方到虚拟函数,反之亦然。通过分析每个启用PAC的虚拟方法调用方,并使用在其中找到的信息来解析目标,对使用Apple的指针验证码(PAC)功能的任何二进制文件分析提供很大的帮助。
14
PETree
项目地址:
https://github.com/blackberry/pe_tree
PETree提供在IDA中分析PE文件格式的功能,并提供直观漂亮的可视化图像,以树结构形式展示分析结果,可以帮助分析加壳或加密的恶意软件。
15
qiling
下载地址:
https://raw.githubusercontent.com/qilingframework/qiling/dev/qiling/extensions/idaplugin/qilingida.py
qiling是一款二进制仿真的Python插件,在Qiling二进制仿真框架与IDA之间架起桥梁,使得可以像在实际调试会话中一样查看寄存器和堆栈。
16
Renamer
下载地址:
https://github.com/ClarotyICS/ResearchTools/tree/master/IDA/Renamer
Renamer是基于字符串来重命名函数的插件。
17
SmartJump
项目地址:
https://github.com/PwCUK-CTO/SmartJump
SmartJump通过在调试中解引用寄存器和内存的功能,将IDA自带的“ g”快捷键已提供的功能添加到列表中。这样就可以编写出功能更强大的表达式,例如:[[rsp] + ebx,确实方便许多。