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

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

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

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

工具目录

分类

查看所有分类
Loading categories
LIEF — 跨平台库,用于解析、修改和抽象ELF、PE和MachO可执行格式。支持C++、Python和Rust API,并具备反汇编器、汇编器和调试信息功能。 | Kitploit
工具/GitHubGitHub/lief-project/lief
Android安全嵌入式系统安全静态分析加密/解密工具iOS安全移动应用渗透测试逆向工程调试器恶意软件分析移动安全二进制分析学习与教育
5.5k746113天前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
AI 辅助逆向
固件分析
二进制利用
AI 辅助逆向 分类第 17 名
Android安全 分类第 17 名
二进制分析 分类第 9 名
二进制利用 分类第 14 名
嵌入式系统安全 分类第 13 名
固件分析 分类第 11 名
恶意软件分析 分类第 16 名
移动应用渗透测试 分类第 17 名
移动安全 分类第 17 名
逆向工程 分类第 14 名
静态分析 分类第 8 名
GitHublief-project/lief

LIEF

跨平台库,用于解析、修改和抽象ELF、PE和MachO可执行格式。支持C++、Python和Rust API,并具备反汇编器、汇编器和调试信息功能。

查看仓库网站



博客 • 文档 • 关于


关于

本项目的目的是提供一个跨平台库,用于解析、修改和抽象 ELF、PE 和 MachO 格式。

主要特性:

  • 解析: LIEF 可以解析 ELF、PE、MachO、COFF、OAT、DEX、VDEX、ART,并提供用户友好的 API 来访问其内部结构。
  • 修改: LIEF 可用于修改这些格式的某些部分(添加节、更改符号名称等)
  • 抽象: 三种格式有共同特性,如节、符号、入口点……LIEF 将它们抽象出来。
  • API: 你可以通过 C++、Python、Rust、C 和 Node.js(非官方,AI 生成)使用 LIEF

扩展特性:

  • 运行时
  • DWARF/PDB 支持
  • Objective-C 元数据
  • Dyld 共享缓存 支持提取 Dylib
  • 反汇编器: AArch64、x86/x86-64、ARM、RISC-V、Mips、PowerPC、eBPF
  • 汇编器: AArch64、x86/x86-64、RISC-V

插件:

  • Ghidra
  • BinaryNinja

赞助商



目录

  • 关于
  • 下载 / 安装
  • 快速入门
  • 博客
  • 文档
    • Rust
    • Sphinx
    • Doxygen
    • 教程:
      • 解析和操作格式
      • 玩转 ELF 符号
      • PE 资源
      • 将 ELF 可执行文件转换为库
      • 如何在非 root 设备上使用 frida
      • Android 格式
      • Mach-O 修改
      • ELF 核心转储
      • PE Authenticode
  • 联系方式
  • 关于
    • 作者
    • 许可证
    • Bibtex

下载 / 安装

C++

root@kitploit:~
find_package(LIEF REQUIRED)
target_link_libraries(my-project LIEF::LIEF)

Rust

root@kitploit:~
[package]
name    = "my-awesome-project"
version = "0.0.1"
edition = "2024"

[dependencies]
lief = "1.0.0"

Homebrew

root@kitploit:~
brew install lief

Python

要安装最新版本(发行版):

root@kitploit:~
pip install lief

要安装每日构建版本:

root@kitploit:~
pip install [--user] --force-reinstall --index-url https://lief.s3-website.fr-par.scw.cloud/latest lief==2.0.0.dev0

包

  • LIEF Extended: https://extended.lief.re(GitHub OAuth)
  • 每日构建:
    • SDK: https://lief.s3-website.fr-par.scw.cloud/latest/sdk
    • Python Wheels: https://lief.s3-website.fr-par.scw.cloud/latest/lief
  • v1.0.0: https://github.com/lief-project/LIEF/releases/tag/1.0.0

以下是安装或集成 LIEF 的指南:

  • Python
  • Visual Studio
  • XCode
  • CMake

快速入门

Python

root@kitploit:~
import lief

# ELF
binary = lief.parse("/usr/bin/ls")
for section in binary.sections:
    print(section.name, section.virtual_address)

# PE
binary = lief.parse(r"C:\Windows\explorer.exe")
if (rheader := binary.rich_header) is not None:
    print(rheader.key)

# Mach-O
binary = lief.parse("/usr/bin/ls")
if (fixups := binary.dyld_chained_fixups) is not None:
    print(fixups)

Rust

root@kitploit:~
use lief::Binary;
use lief::pe::debug::Entries::CodeViewPDB;

if let Some(Binary::PE(pe)) = Binary::parse(path.as_str()) {
    for entry in pe.debug() {
        if let CodeViewPDB(pdb_view) = entry {
            println!("{}", pdb_view.filename());
        }
    }
}

C++

root@kitploit:~
#include <iostream>
#include <LIEF/LIEF.hpp>

int main(int argc, char** argv) {
  // ELF
  if (std::unique_ptr<const LIEF::ELF::Binary> elf = LIEF::ELF::Parser::parse("/bin/ls")) {
    for (const LIEF::ELF::Section& section : elf->sections()) {
      std::cout << section.name() << ' ' << section.virtual_address() << '\n';
    }
  }

  // PE
  if (std::unique_ptr<const LIEF::PE::Binary> pe = LIEF::PE::Parser::parse("C:\\Windows\\explorer.exe")) {
    if (const LIEF::PE::RichHeader* rheader = pe->rich_header()) {
      std::cout << rheader->key() << '\n';
    }
  }

  // Mach-O
  if (std::unique_ptr<LIEF::MachO::FatBinary> macho = LIEF::MachO::Parser::parse("/bin/ls")) {
    for (const LIEF::MachO::Binary& bin : *macho) {
      if (const LIEF::MachO::DyldChainedFixups* fixups = bin.dyld_chained_fixups()) {
        std::cout << *fixups << '\n';
      }
    }
  }

  return 0;
}

文档

  • 主要文档
  • Doxygen
  • Rust

联系方式

  • 邮箱: contact at lief re
  • Discord: LIEF

关于

作者

Romain Thomas (@rh0main) - 曾任职于 Quarkslab

许可证

Apache 2.0。

Bibtex

root@kitploit:~
@MISC {LIEF,
  author       = "Romain Thomas",
  title        = "LIEF - Library to Instrument Executable Formats",
  howpublished = "https://lief.quarkslab.com/",
  month        = "apr",
  year         = "2017"
}
下载工具