PE Static Analyzer — Windows 可执行文件静态风险评估工具产品系统

我要开发同款
炒小米2026年11月13日
4阅读

技术信息

语言技术
C++、Python
系统类型
Windows
行业分类
开发工具、网络安全

作品详情

行业场景

在恶意样本初筛、供应链组件审计和应急响应场景中,分析人员需要在不运行目标程序的前提下,判断一个 Windows 可执行文件是否可疑。商业加壳检测与静态分析工具价格高、部署重,而多数团队真正需要的只是一个可离线运行、能接入自有流水线的轻量体检能力。本项目面向安全分析与运维人员,解决样本快速分类和第三方二进制准入判断的问题。

功能介绍

工具由五个模块组成:

一、PE 结构解析模块。逐层解析 DOS 头、NT 头、可选头(同时兼容 PE32 与 PE32+)、节表、导入表、导出表与 TLS 回调,并自行完成 RVA 到文件偏移的节内映射。

二、节区熵分析模块。对每个节的原始字节计算 Shannon 熵,识别压缩与加密节,同时匹配 UPX、ASPack、Themida、VMProtect 等已知壳的节名特征。

三、行为组合判定模块。以 API 调用组合而非单点匹配来推断意图,覆盖进程注入、反调试、持久化、权限提升、网络通信与加密六类行为,显著降低单个常见 API 带来的误报。

四、异常结构检测模块。识别缺失导入表、可写可执行节、异常编译时间与 TLS 回调等加壳对抗特征。

五、批量扫描与报告模块。支持目录批量分析,输出带评分与明细的 Markdown 报告及 JSON 结构化结果,可直接对接后续样本处理流程。

项目实现

我独立完成需求分析、架构设计与全部编码。

核心技术难点在于不依赖 pefile 等第三方库手写 PE 解析:需要同时兼容 PE32 与 PE32+ 两种可选头布局,自行实现 RVA 到文件偏移的节区间映射,处理导入表 thunk 在 32 位与 64 位下的不同编码,并通过间接引用还原 TLS 回调地址。

实现上把每个检测维度抽象为独立规则对象,用加权评分模型聚合结果,新增规则不影响既有判定;同时对全部解析路径做了边界保护,保证畸形样本不会导致崩溃。整个工具仅使用 Python 标准库,可在完全离线的环境中运行。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论