Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Karta — Плагин IDA Python для быстрого поиска и сопоставления символов из открытых библиотек в бинарных файлах на основе их местоположения, что обеспечивает эффективный обратный инжиниринг и анализ уязвимостей в больших прошивках и вредоносных программах. | Kitploit
Инструменты/GitHubGitHub/checkpointsw/karta
Статический анализАнализ уязвимостейОбратная инженерияАнализ Бинарных Файлов
GitHubcheckpointsw/karta

Karta

Плагин IDA Python для быстрого поиска и сопоставления символов из открытых библиотек в бинарных файлах на основе их местоположения, что обеспечивает эффективный обратный инжиниринг и анализ уязвимостей в больших прошивках и вредоносных программах.

Репозиторий
908106324 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Build Status Docs Status

 /$$   /$$                       /$$              
| $$  /$$/                      | $$              
| $$ /$$/   /$$$$$$   /$$$$$$  /$$$$$$    /$$$$$$ 
| $$$$$/   |____  $$ /$$__  $$|_  $$_/   |____  $$
| $$  $$    /$$$$$$$| $$  \__/  | $$      /$$$$$$$
| $$\  $$  /$$__  $$| $$        | $$ /$$ /$$__  $$
| $$ \  $$|  $$$$$$$| $$        |  $$$$/|  $$$$$$$
|__/  \__/ \_______/|__/         \___/   \_______/

Назначение

«Karta» (с русского «Карта») — это плагин для IDA на Python, который идентифицирует и сопоставляет библиотеки с открытым исходным кодом в заданном двоичном файле. Плагин использует уникальную технику, позволяющую работать с огромными бинарными файлами (>200 000 функций) практически без ущерба для общей производительности.

Алгоритм сопоставления основан на местоположении. Это означает, что его основное внимание направлено на определение местоположения различных скомпилированных файлов и сопоставление функций каждого файла на основе их исходного порядка внутри файла. Таким образом, сопоставление зависит от K (количество функций в проекте с открытым исходным кодом) вместо N (размер бинарного файла), что даёт значительный прирост производительности, так как обычно N >> K.

Мы считаем, что у этого плагина для IDA есть 3 основных варианта использования:

  1. Идентификация списка используемых открытых источников (и их версий) при поиске полезного эксплойта 1-Day.
  2. Сопоставление символов поддерживаемых открытых источников для помощи в реверс-инжиниринге вредоносного ПО.
  3. Сопоставление символов поддерживаемых открытых источников для помощи в реверс-инжиниринге бинарного файла / прошивки при поиске 0-Day в проприетарном коде.

Документация

https://karta.readthedocs.io/

Установка (Python 3 & IDA >= 7.4)

Для последних версий с использованием Python 3 просто клонируйте репозиторий с помощью git clone и запустите скрипт setup.py install. Python 3 поддерживается начиная с версии v2.0.0 и выше.

Установка (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
  • и т.д.

Сопоставитель

После идентификации используемых открытых источников можно скомпилировать конфигурационный файл .JSON для конкретной библиотеки (например, libpng версии 1.2.29). После компиляции 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).

Контакт (обновлено)

Этот репозиторий был разработан и поддерживался мной, Эялем Иткиным, в течение моих лет работы в Check Point Research. К сожалению, с моим уходом из исследовательской группы я больше не смогу поддерживать этот репозиторий. Это связано в первую очередь с длинным списком требований для запуска всех регрессионных тестов и версий IDA Pro, задействованных в этом процессе.

Пожалуйста, примите мои искренние извинения.

@EyalItkin

Скачать инструмент