EXE、DLL、SYS、静的ライブラリ、COFFオブジェクト、ELFファイルに対応し、逆アセンブルとデコンパイルも行えるWindows向けPEビューア・解析ツールです。
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
PyPIからPythonパッケージをインストールする
pip install lief - 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 の数値は毎日更新されます。
関連プロジェクト
実行せずにファイル形式や実行ファイルのコンパイラ、パッカー、保護機能を特定する、クロスプラットフォーム対応の識別・静的解析ツール。
Unix系システム上のバイナリを解析、逆アセンブル、デバッグ、エミュレートするための、自由なリバースエンジニアリングフレームワーク兼コマンドラインツール群。
エントリーポイントからの実行パスを追跡し、関連関数をクラスタリングして、Geminiでバイナリの挙動を説明するIDA Proプラグイン。
x64dbgをHTTP経由で操作し、ブレークポイントの設定、ステップ実行、メモリ読み取りなどをAIアシスタントから行えるMCPプラグインです。
バイナリ、アプリ、ファームウェア、ファイル形式、プロトコルを対象とする、注釈付きの厳選リバースエンジニアリングツール・学習リソース集。