4 个版本 (2 个稳定版)

3.0.0 2021年5月28日
1.0.0 2020年8月1日
0.2.0 2020年5月17日
0.1.0 2020年3月12日

#1813解析实现

每月21 次下载

MIT 许可证

28KB
539

binsec

Actions crates.io version

二进制(不)安全的瑞士军刀

binsec 是一个用于检测 ELF/PE/Mach-O 可执行文件中安全功能的最低限度的静态分析实用程序。它对逆向工程师和漏洞研究人员来说非常有用,可以帮助他们快速深入了解二进制工件,建立快速的检测管道,并提高整体二进制分析。

功能

  • 跨平台,在任意主机上运行时支持对 ELF/PE/Mach-O 的强大检查。
  • 后端 libgoblin 用于高效和跨平台的二进制解析。
  • 可序列化为 JSON 格式,以便存储/日志记录。
  • 小巧且性能优异:最终发布构建大小约为 ~2.44Mb,分析时间约为 30ms。

静态分析检查

该项目目前支持对多种可执行文件检查的静态检测

  • 编译功能 - 关于可执行文件如何编译以及在该过程中使用的运行时的见解。
  • 漏洞缓解 - 用于限制利用和权限提升的操作系统支持的二进制加固功能。
  • 动态仪表化 - 检测用于动态分析或分析的任何已知仪表化框架。
  • 反分析(WIP) - 用于缓解逆向工程的可观察的反分析检查。

使用方法

以命令行应用程序的形式安装 binsec

$ cargo install binsec

使用该应用程序非常简单。给定任何您想要进行初始分析的二进制可执行文件,只需将其作为位置参数传递即可

$ binsec -- ./suspicious

binsec 输出还可以序列化为 JSON

# print to stdout
$ binsec --json - -- ./suspicious

# print to path
$ binsec --json report.json -- ./suspicious

贡献

这是一个持续开发的项目!您可以通过通过 问题跟踪器 抓取问题、错误并提交它们,或者通过发起拉取请求来做出贡献!

许可证

MIT 许可证

依赖关系

~8.5MB
~179K SLoC