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解析器实现

Download history 226/week @ 2024-04-28 4/week @ 2024-05-05 22/week @ 2024-05-19 115/week @ 2024-05-26 20/week @ 2024-06-02 9/week @ 2024-06-09 14/week @ 2024-06-16 169/week @ 2024-06-23 66/week @ 2024-06-30 4/week @ 2024-07-14 256/week @ 2024-07-28 3/week @ 2024-08-04 4/week @ 2024-08-11

264 每月下载量
3 crates 中使用

Apache-2.0

170KB
3.5K SLoC

MalwareDB 类型

TestLintCrossCrates.io Version

注意:这些解析器旨在从各种文件类型中提取可能有用的功能。它们绝对不是它们各自文件格式的完整表示。尽管如此,欢迎贡献以提取更多功能/信息,添加对新文件格式的支持,或进行一般改进!

该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