Repolode
lief-project

lief-project/LIEF

ELF、PE、Mach-O、Androidの実行ファイル形式を解析・変更・抽象化する、PythonおよびRustバインディングを備えたクロスプラットフォームのC++ライブラリ。

スター
5,638
フォーク
759
未解決の Issue
37
最終コミット
3 時間前

これは何?

LIEFは、ELF、PE、Mach-O、COFFのほか、OAT、DEX、VDEX、ARTなどのAndroid形式を含む実行ファイル形式を解析・変更・抽象化するライブラリです。構造化されたAPIを通じてセクション、シンボル、ヘッダーなどの内部情報を調べられるほか、セクションの追加やシンボル名の変更など、バイナリの一部を変更できます。セクション、シンボル、エントリーポイントといった共通概念を持つ形式には、共通の抽象化レイヤーを提供します。

C++、Python、Rustのバインディングが利用でき、CMake、pip、Homebrew、Cargo経由でインストールできます。拡張機能には、ランタイムモジュール、DWARFおよびPDBのデバッグ情報サポート、Objective-Cメタデータ解析、dyld共有キャッシュの抽出のほか、AArch64、x86-64、ARM、RISC-Vなど複数アーキテクチャ向けの逆アセンブラおよびアセンブラコンポーネントがあります。GhidraおよびBinary Ninjaのプラグインも提供されています。

主な機能

  • 01使いやすいAPIを通じて、ELF、PE、Mach-O、COFF、OAT、DEX、VDEX、ARTファイルを解析します。
  • 02セクションの追加やシンボル名の変更など、バイナリの一部を変更できます。
  • 03形式をまたいで、セクション、シンボル、エントリーポイントを共通の抽象化レイヤーで扱えます。
  • 04C++、Python、Rustのバインディングを提供します。
  • 05複数のアーキテクチャ向けに逆アセンブラおよびアセンブラコンポーネントを備えています。
  • 06DWARFおよびPDBのデバッグ情報と、Objective-Cメタデータに対応しています。

ユースケース

  • Windows、Linux、macOS向けのマルウェアや疑わしいバイナリを解析する。
  • リバースエンジニアリングの作業で、実行ファイルを調査・パッチするスクリプトを書く。
  • アプリ解析の一環として、AndroidのDEX、OAT、ARTファイルを調べる。
  • クロスプラットフォームのパーサーを必要とするバイナリ解析ツールを構築する。

クイックスタート

  1. 1

    PyPIからPythonパッケージをインストールする

    pip install lief
  2. 2

    バイナリを解析し、ELFセクションを一覧表示する

使う前に知っておきたいこと

  • Nightlyビルドと2.0の開発版では、互換性を損なう変更が導入される場合があります。
  • LIEF Extendedサービスなど、一部の拡張機能を利用するにはGitHub OAuthでのログインが必要です。

収録されている特集

トピック

よくある質問

LIEF とは?
ELF、PE、Mach-O、Androidの実行ファイル形式を解析・変更・抽象化する、PythonおよびRustバインディングを備えたクロスプラットフォームのC++ライブラリ。 LIEFは、ELF、PE、Mach-O、COFFのほか、OAT、DEX、VDEX、ARTなどのAndroid形式を含む実行ファイル形式を解析・変更・抽象化するライブラリです。構造化されたAPIを通じてセクション、シンボル、ヘッダーなどの内部情報を調べられるほか、セクションの追加やシンボル名の変更など、バイナリの一部を変更できます。セクション、シンボル、エントリーポイントといった共通概念を持つ形式には、共通の抽象化レイヤーを提供します。
LIEF は無料で使えますか?ライセンスは?
LIEF は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
LIEF は今もメンテナンスされていますか?
活発にメンテナンス中。LIEF の最終コミットは 2026年11月7日 です。
LIEF は何に使えますか?
Windows、Linux、macOS向けのマルウェアや疑わしいバイナリを解析する。 リバースエンジニアリングの作業で、実行ファイルを調査・パッチするスクリプトを書く。 アプリ解析の一環として、AndroidのDEX、OAT、ARTファイルを調べる。 クロスプラットフォームのパーサーを必要とするバイナリ解析ツールを構築する。
LIEF のインストール方法は?
PyPIからPythonパッケージをインストールする: pip install lief バイナリを解析し、ELFセクションを一覧表示する
LIEF はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/lief-project/LIEF

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト