github.devotd.
新发现安全

lief-project/lief 1.0.0 — 用于解析和修改 ELF·PE·Mach-O 二进制的库

LIEF 这款用于解析和修改 ELF、PE、Mach-O 等可执行文件格式的 C++ 库所支持的范围,以及最新版本 1.0.0 的变更内容未予说明这一点。

仓库信息lief-project/lief ↗

LIEF 这款用于解析和修改 ELF、PE、Mach-O 等可执行文件格式的 C++ 库所支持的范围,以及最新版本 1.0.0 的变更内容未予说明这一点。

GitHub 项目说明: LIEF - Library to Instrument Executable Formats (C++, Python, Rust)

星标
★ 5.6K
复刻
756
语言
C++
许可证
Apache-2.0
最新版本
1.0.0
查看原始来源 ↗在 GitHub 查看 ↗

LIEF(lief-project/lief)是一个用于解释并重新编写 ELF、PE、Mach-O 等可执行文件格式的 C++ 库。ELF 是 Linux 使用的二进制格式,PE 是 Windows 使用的,Mach-O 则是 macOS 使用的,LIEF 将这些格式抽象为一项共同的功能。该仓库的最新版本是 1.0.0,但所提供的信息中没有包含 1.0.0 究竟改动了什么。

这个库的核心并不只是解析,而是还能改写。它被直接用于分析并重写可执行文件结构的工作,README 中说明支持解析 ELF、PE、MachO、COFF、OAT、DEX、VDEX、ART。它还提供运行时信息和调试信息(DWARF、PDB)、Objective-C 元数据、反汇编器与汇编器功能,以及 Ghidra、BinaryNinja 插件。C++、Python、Rust API 为官方提供,Node.js API 则仅属非官方。许可证为 Apache-2.0,GitHub 星标数为 5601,项目于 2017 年 3 月 16 日启动。

不过,证据止步之处也很明确。性能对比数值、采用案例和发布说明在所给信息中都不存在。新鲜度、技术、质量三项评分为空,只有动量评分以 10 分为满分仅得 1.8 分,偏低。在自行开发分析并改写二进制结构的工具时,它值得纳入考虑;但 1.0.0 究竟改动了什么,在查阅发布说明之前无法判断。