个人作品推荐: bona 现代的文件格式分析工具
資深大佬 : forcecharlie 3
最近使用 C++20 编写了一个 Windows 10 上的命令行工具 bona,用于分析文件格式,能够输出为纯文本,也可以输出为 JSON.
- 大多数文件格式使用魔数或者文件头解析,对于 ZIP/PE/ELF/MachO 专门实现了相应的分析库进行解析,支持的格式有一百多种。格式枚举 bela/blob/master/include/hazel/types.hpp
- 像 Word/PowerPoint/Excel 这种软件使用了 ZIP 格式作为容器格式,因此 Bona 的解析库能够很好的检测这些子类型,当然还有国内的 OFD 。
- Bona 在解析 ZIP 格式的时候对非 UTF-8 文件编码可以使用 Google 的 Compact Encoding Detection 对文件名进行编码检测,这样就能减少 ZIP 文件名乱码。
- Bona 能够分析 PE/ELF/MachO 这样的格式,获得可执行程序的依赖项,导入符号,导出符号,Section 等等,不同的可执行文件格式细节不一样,因此输出有一些差异。
安装:
Github Release 下载最新版本:https://github.com/fcharlie/BelaUtils/releases
或者使用包管理器 baulk
baulk u baulk i belautils bona -v
也可以从源码编译(需要安装 Visual Studio 2019 16.8 及以上版本):
git clone https://github.com/fcharlie/BelaUtils.git cd BelauUtils mkdir build cd build cmake -GNinja -DCMAKE_BUILD_TYPE=Release .. ninja all cpack
谢谢朋友们,请轻喷。
大佬有話說 (12)