11个版本
0.0.12 | 2024年7月28日 |
---|---|
0.0.10 | 2024年5月31日 |
0.0.8 | 2024年3月22日 |
0.0.5 | 2023年12月30日 |
0.0.3 | 2023年10月28日 |
#1109 在 解析器实现
264 每月下载量
在 3 crates 中使用
170KB
3.5K SLoC
MalwareDB 类型
注意:这些解析器旨在从各种文件类型中提取可能有用的功能。它们绝对不是它们各自文件格式的完整表示。尽管如此,欢迎贡献以提取更多功能/信息,添加对新文件格式的支持,或进行一般改进!
该crate包含解析某些可执行和文档数据类型以及确定Zip文件是Microsoft Office文档还是文件存档的逻辑。
可执行类型
- ELF(功能标志
elf
,默认) - Mach-O和Fat Mach-O(功能标志
macho
,默认)。Fat Mach-O中嵌入的Mach-O二进制文件作为子元素提取和处理。 - PE32(功能标志
pe32
,默认) - PEF(功能标志
pef
,非默认且可能不实用)
对于每个可执行文件,目标是提取
- 段信息:名称、大小、熵
- 导入数据
- 目标:架构、操作系统、字节序、指针大小(32位与64位)
- 二进制类型(对象文件、可执行文件、库等)
一些复杂性
- 如何获取ELF的导入? Go已解决这个问题,但我无法复制。Goblin问题 #363。
- 我应该放弃对Goblin的定制解析器吗?它将允许我从PE32文件中获取Authenticode数据,但我担心它不会对格式不正确的文件有容忍度(因为恶意软件往往会这样)。
文档类型
- 通过pdf解析PDF(功能标志
pdf
,默认) - RTF 目前不完整(功能标志
rtf
,默认)
应该有一种简单的方法来表示所需的数据,这样存储数据的组件就无需了解文件格式。
依赖项
~9-16MB
~223K SLoC