Hinikaa/elfinfo

GitHub: Hinikaa/elfinfo

一个用 C++ 实现的轻量级 ELF64 头和节表解析工具,通过显式字节偏移量安全解析,适合快速查看二进制文件基本信息。

Stars: 0 | Forks: 0

# elfinfo ELF 头和节表列出工具。 ## 概述 仅支持小端序 ELF64 —— 这是现代 Linux(x86-64,AArch64)上绝对主流的情况。 它无意取代 `readelf`,而是一个快速的“这是什么二进制文件”工具:显示类型、架构、入口点,以及包含名称、类型、地址、偏移量和大小的节表。 字段是通过显式的字节偏移量进行解析的,而不是在原始缓冲区上直接覆盖 `Elf64_Ehdr*` —— 将 struct 指针强制转换到任意字节上,会根据缓冲区在内存中实际落脚的位置,带来未对齐读取(未定义行为)的风险。 ## 安装 ``` make ``` ## 用法 ``` ./elfinfo ``` ## 示例 ``` $ ./elfinfo /bin/ls Type: DYN Machine: x86-64 Entry point: 0x54f0 Program headers: 14 (at offset 0x40) Section headers: 28 (at offset 0x273a8) Name Type Address Offset Size .text PROGBITS 0x3040 0x3040 104547 ... ``` 在开发过程中,针对真实的系统二进制文件,已逐字段验证过与 `readelf -h` / `readelf -SW` 的输出是否一致。 ## 注意事项 - 32 位 ELF 和大端序 ELF 会被明确拒绝并报错,而不会静默地解析错误。 - 不进行 symbol table 转储,不进行 relocation 解析,也不进行反汇编 —— 仅限 header 和节表。 ## 许可证 MIT,参见 `LICENSE`。
标签:C++, ELF格式, SOC Prime, 二进制分析, 云安全运维, 开发工具, 数据擦除, 逆向工程辅助