笔者在研究如何对目标系统,进行属性特征信息提取时,大佬指点到本工具,简单研究一下。
介绍
“ Karta”是IDA的python插件,其功能是在已经编译过的二进制文件中搜索是否使用了开源的代码。该插件是为了匹配大体积二进制文件中的开放源代码库的开源代码(通常是查找固件)。对于每天处理固件的人来说,反复的执行net-snmp
显然是在浪费时间。所以需要一个工具来识别二进制文件所使用的开源,并在IDA中自动匹配。
这个插件的初衷是加快匹配的过程。用几个小时去匹配一个包含300个函数的库是很低效的一件事,更何况实际工作过程中逆向的工程会远大于此,比如超过100,000个函数的体积。当然,结合逆向工程行业的一些经验教训,我们解决了这个问题,并取得了比预期更好的结果。
事实证明,出于性能原因而部署的启发式方法对匹配结果也有很大的影响。该插件产生的误报率非常低,而准确性很高。这对于匹配中小型二进制文件也很有用。
因此,我们认为Karta可以成为研究人员的重要工具。[1]
本文,仅仅是用于记录帮助第一次使用该工具,如果有后续实验进展,会写到别的文章里。
安装
到该插件官方开源项目中下载源代码
这个时候我们需要注意我们的Python版本和IDA版本情况(建议使用Python 3 & IDA >= 7.4,毕竟是未来趋势)
附上可用