使用这个IDA Python插件扫描二进制文件中的Yara规则。所有匹配的Yara规则将与其偏移量一起列出,以便您快速跳转到它们!
🍻 本插件及代码的所有功劳归于David Berard (@p0ly) 🍻
本插件复制自David出色的findcrypt-yara插件。本插件只是扩展了他的工作,以支持使用任何Yara规则。
可以通过菜单Edit->Plugins->FindYara或使用快捷键Ctrl-Alt-Y启动插件。启动后,FindYara将打开一个文件选择对话框,让您选择Yara规则文件。选定规则文件后,FindYara将对加载的二进制文件进行规则匹配扫描。
所有规则匹配结果将显示在一个选择框中,您可以双击匹配项并跳转到二进制文件中的对应位置。
FindYara扫描IDA中加载的PE节区,这意味着包含PE头匹配的Yara规则在IDA中不会匹配。IDA不会将PE头作为可扫描节区加载。此外,如果在IDA中加载二进制文件时未选择Load resources(加载资源),则资源节区将无法扫描。
这可能导致令人沮丧的情况:一个Yara规则在IDA外部能匹配,但在使用FindYara时却不能。如果遇到这种情况,请尝试编辑Yara规则,移除对PE头和资源节区的匹配。
在使用插件之前,您必须在IDA环境中安装Python Yara模块。最简单的方法是在IDA外部的shell中使用pip。
pip install yara-python
注意不要错误地安装yara模块。yara Python模块会干扰您的yara-python模块,因此如果错误安装了它,则必须卸载。
安装好Yara模块后,只需将最新版本的findyara.py复制到您的IDA插件目录中,就可以开始Yara扫描了!
FindYara专为__IDA 7+__和__Python 3__开发,不向后兼容。
FindYara需要安装版本**4+**的Python Yara模块。早期版本的Yara与插件不兼容,可能因Yara匹配格式的重大变更而导致问题。
非常感谢David Berard (@p0ly) - 在GitHub上关注他!这主要是他的代码,原插件框架的所有功劳都归他。
此外,向Alex Hanel @nullandnull致敬 - 在GitHub上关注他。Alex帮助我理清了IDC方法的使用方式。他的IDA Python书籍是一本极好的参考书!!