🗺️ 寻找二进制中的藏宝图 — Karta IDA插件 🌟
项目介绍
在猎奇的逆向工程世界里,我们经常需要面对一个巨大未知的二进制文件海洋。但是,有了“Karta”(俄语中的“地图”),一款IDA Python插件,我们就能够在这片海洋中找到开源代码的宝藏!这款神奇的插件可以识别并匹配给定二进制文件中的开源库,使用一种独特的技术,即使是超过200,000个函数的巨型二进制文件,它也几乎不会影响到整体性能。
特点和优势
-
性能超群:Karta的匹配算法是基于位置的,侧重于定位不同编译文件,并根据文件内原始顺序匹配各个函数。这样,匹配依赖于K(开源中的函数数)而不是N(二进制大小),通常N远大于K,因此获得显著的性能提升。 -
适用广泛:Karta目前支持超过10个开源库,包括OpenSSL、Libpng、Libjpeg、NetSNMP、zlib等等。 -
易用性:提供预制的*.JSON配置文件,并且有详细的文档和安装说明。
应用场景
Karta适用于以下三种主要场景:
-
在寻找有用的1-Day漏洞时,识别使用的开源列表及其版本。 -
匹配支持的开源库的符号,帮助逆向工程恶意软件。 -
在寻找专有代码中的0-Days时,帮助逆向工程二进制文件或固件。
安装和使用方法
-
Python 3 & IDA >= 7.4: 只需克隆仓库并运行 setup.py install
脚本即可。 -
Python 2 & IDA < 7.4: 对于IDA 7.4或更新版本,以及Python 3,Karta正在积极开发。Python 2和旧版IDA仍然可以使用发行版v1.2.0。
使用例子
-
Identifier: Karta的标识符插件可以识别二进制文件中存在的开源库,并指纹识别其版本。 -
Matcher: 在识别使用的开源库后,可以为特定的库(例如libpng版本1.2.29)编译.JSON配置文件。一旦编译,Karta将自动尝试在加载的二进制文件中匹配开源的函数(符号)。
总结
Karta是一个强大的IDA插件,适用于逆向工程师和安全研究人员,它可以大幅度提高识别和匹配二进制文件中的开源代码库的效率。无论你是在寻找已知漏洞,还是希望在未知的固件中探索0-Days,Karta都是你的得力助手。
#标签 #Karta #IDA #逆向工程 #插件 #开源库匹配 #二进制分析
🔗 项目地址:GitHub - CheckPointSW/Karta
原文始发于微信公众号(二进制磨剑):寻找二进制中的藏宝图 — Karta IDA插件
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论