Repolode
lief-project

lief-project/LIEF

Кроссплатформенная библиотека C++ с привязками для Python и Rust для разбора, изменения и абстрагирования форматов ELF, PE, Mach-O и исполняемых файлов Android.

Звёзды
5,635
Форки
761
Открытые issues
37
Последний коммит
вчера

Что это?

LIEF — библиотека для разбора, изменения и абстрагирования форматов исполняемых файлов, включая ELF, PE, Mach-O, COFF и форматы Android, такие как OAT, DEX, VDEX и ART. Она предоставляет структурированный API для изучения секций, символов, заголовков и других внутренних данных, а также позволяет изменять некоторые части бинарного файла, например добавлять секцию или переименовывать символ. Для форматов, в которых есть общие понятия — например секции, символы и точки входа, — предусмотрен единый слой абстракции.

Библиотека доступна через привязки для C++, Python и Rust и устанавливается с помощью CMake, pip, Homebrew и Cargo. Среди дополнительных возможностей — модуль времени выполнения, поддержка отладочной информации DWARF и PDB, разбор метаданных Objective-C, извлечение dyld shared cache, а также компоненты дизассемблера и ассемблера для нескольких архитектур, включая AArch64, x86-64, ARM и RISC-V. Также доступны плагины для Ghidra и Binary Ninja.

Ключевые возможности

  • 01Разбирает файлы ELF, PE, Mach-O, COFF, OAT, DEX, VDEX и ART через удобный API.
  • 02Изменяет части бинарных файлов, например добавляет секции или переименовывает символы.
  • 03Предоставляет общий слой абстракции для секций, символов и точек входа в разных форматах.
  • 04Предоставляет привязки для C++, Python и Rust.
  • 05Включает компоненты дизассемблера и ассемблера для нескольких архитектур.
  • 06Поддерживает отладочную информацию DWARF и PDB, а также метаданные Objective-C.

Сценарии использования

  • Анализ вредоносных или подозрительных бинарных файлов для Windows, Linux и macOS.
  • Написание скриптов для изучения или изменения исполняемых файлов в рамках обратной разработки.
  • Изучение файлов Android DEX, OAT или ART при анализе приложений.
  • Создание инструментов анализа бинарных файлов, которым нужен кроссплатформенный парсер.

Быстрый старт

  1. 1

    Установите пакет Python из PyPI

    pip install lief
  2. 2

    Разберите бинарный файл и выведите список его ELF-секций

Что важно знать

  • В Nightly-сборках и версии 2.0 для разработки могут появиться несовместимые изменения.
  • Для использования некоторых расширенных функций, например сервиса LIEF Extended, требуется вход через GitHub OAuth.

В подборках

Темы

Частые вопросы

Что такое LIEF?
Кроссплатформенная библиотека C++ с привязками для Python и Rust для разбора, изменения и абстрагирования форматов ELF, PE, Mach-O и исполняемых файлов Android. LIEF — библиотека для разбора, изменения и абстрагирования форматов исполняемых файлов, включая ELF, PE, Mach-O, COFF и форматы Android, такие как OAT, DEX, VDEX и ART. Она предоставляет структурированный API для изучения секций, символов, заголовков и других внутренних данных, а также позволяет изменять некоторые части бинарного файла, например добавлять секцию или переименовывать символ. Для форматов, в которых есть общие понятия — например секции, символы и точки входа, — предусмотрен единый слой абстракции.
LIEF можно использовать бесплатно? Какая у него лицензия?
LIEF распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
LIEF всё ещё поддерживается?
Активно поддерживается. Последний коммит в LIEF — 6 нояб. 2026 г..
Для чего можно использовать LIEF?
Анализ вредоносных или подозрительных бинарных файлов для Windows, Linux и macOS. Написание скриптов для изучения или изменения исполняемых файлов в рамках обратной разработки. Изучение файлов Android DEX, OAT или ART при анализе приложений. Создание инструментов анализа бинарных файлов, которым нужен кроссплатформенный парсер.
Как установить LIEF?
Установите пакет Python из PyPI: pip install lief Разберите бинарный файл и выведите список его ELF-секций
Где скачать LIEF?
Исходный код и инструкции по установке — на GitHub: https://github.com/lief-project/LIEF

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Кроссплатформенный инструмент для определения типов файлов и статического анализа: распознаёт форматы, компиляторы, упаковщики и средства защиты исполняемых файлов.

11,9 тыс.+53 за неделю996JavaScriptMITАктивно поддерживаетсяОбновлён вчера

MCP-плагин для x64dbg, позволяющий AI-ассистентам управлять отладчиком по HTTP: ставить точки останова, выполнять пошаговую отладку и читать память.

2,8 тыс.+53 за неделю319ZigMITАктивно поддерживаетсяОбновлён 4 дня назад

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

1,9 тыс.+411 за неделю414PythonCC0-1.0Активно поддерживаетсяОбновлён 9 дней назад