Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Karta — IDA Python 插件,用于在二进制文件中快速、基于位置地匹配开源库符号,从而实现对大型固件和恶意软件的高效逆向工程与漏洞分析。 | Kitploit
工具/GitHubGitHub/checkpointsw/karta
静态分析漏洞分析逆向工程二进制分析
GitHubcheckpointsw/karta

Karta

IDA Python 插件,用于在二进制文件中快速、基于位置地匹配开源库符号,从而实现对大型固件和恶意软件的高效逆向工程与漏洞分析。

查看仓库
908106154年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Build Status Docs Status

root@kitploit:~
 /$$   /$$                       /$$              
| $$  /$$/                      | $$              
| $$ /$$/   /$$$$$$   /$$$$$$  /$$$$$$    /$$$$$$ 
| $$$$$/   |____  $$ /$$__  $$|_  $$_/   |____  $$
| $$  $$    /$$$$$$$| $$  \__/  | $$      /$$$$$$$
| $$\  $$  /$$__  $$| $$        | $$ /$$ /$$__  $$
| $$ \  $$|  $$$$$$$| $$        |  $$$$/|  $$$$$$$
|__/  \__/ \_______/|__/         \___/   \_______/

用途

"Karta"(俄语中意为"地图")是一个 IDA Python 插件,用于识别并匹配给定二进制文件中的开源库。该插件采用独特技术,能够支持超大型二进制文件(超过20万个函数),且几乎不影响整体性能。

匹配算法基于位置驱动。这意味着其主要目标是定位不同的已编译文件,并根据每个文件的函数在文件中的原始顺序进行匹配。这样一来,匹配的复杂度取决于 K(开源库中的函数数量),而非 N(二进制文件的大小),由于通常 N >> K,从而获得了显著的性能提升。

我们认为该 IDA 插件主要有三个使用场景:

  1. 在搜索有效的 1-Day 漏洞时,识别使用的开源库列表及其版本。
  2. 匹配受支持开源库的符号,以帮助逆向分析恶意软件。
  3. 匹配受支持开源库的符号,以帮助逆向分析二进制文件/固件,从而在专有代码中搜索 0-Day 漏洞。

阅读文档

https://karta.readthedocs.io/

安装(Python 3 & IDA >= 7.4)

对于使用 Python 3 的最新版本,只需 git clone 仓库并运行 setup.py install 脚本即可。从 v2.0.0 版本开始支持 Python 3。

安装(Python 2 & IDA < 7.4)

自 IDA 7.4 发布以来,Karta 仅针对 IDA 7.4 或更新版本以及 Python 3 进行积极开发。Python 2 和旧版 IDA 仍可通过 v1.2.0 版本支持,由于 Python 2.X 已停止维护,该版本很可能是最后一个受支持的版本。

识别器

Karta 的识别器是一个小型插件,用于识别二进制文件中存在的(受支持的)开源库并指纹化其版本。无需反复逆向分析同一个开源库,只需运行识别器插件即可获得已使用开源库的详细列表。 Karta 目前支持 10 多个开源库,包括:

  • OpenSSL
  • Libpng
  • Libjpeg
  • NetSNMP
  • zlib
  • 等。

匹配器

识别出所使用的开源库后,可以针对特定库(例如 libpng version 1.2.29)编译一个 .JSON 配置文件。配置完成后,Karta 将自动尝试匹配已加载二进制文件中开源库的函数(符号)。此外,如果您的开源库使用了外部函数(如 memcpy、fread 或 zlib_inflate),Karta 也会尝试匹配这些外部函数。

文件夹结构

  • src: 插件的源代码目录
  • configs: 预先提供的 *.JSON 配置文件(希望社区能贡献更多)
  • compilations: 生成配置文件的编译技巧,以及以往开源库的经验总结
  • docs: sphinx 文档目录

扩展阅读

  • https://research.checkpoint.com/karta-matching-open-sources-in-binaries/
  • https://research.checkpoint.com/thumbs-up-using-machine-learning-to-improve-idas-analysis

致谢

本项目由我(联系方式见下文)在 Check Point 研究团队(Check Point Research)的支持下开发。

联系方式(更新)

本仓库由我 Eyal Itkin 在 Check Point Research 期间开发并维护。遗憾的是,随着我离开研究团队,我将无法再维护此仓库。这主要是因为运行所有回归测试以及涉及多个 IDA Pro 版本所需的诸多要求。

请接受我诚挚的歉意。

@EyalItkin

下载工具