发现可疑EXE文件时,需用Sigcheck检查PE结构:先确认Machine架构、LinkerVersion(异常值如2.2/6.0表加壳)、Entropy(>7.0高度疑似加壳);再查签名状态与SHA256哈希比对VirusTotal;最后通过节区信息识别非常规节名及异常入口点定位加壳行为。

当你在 Windows 11 中发现一个来路不明的 EXE 文件,比如从邮件附件、论坛下载或临时共享目录拿到的,它既没数字签名,又行为可疑(启动后立刻联网、CPU 占用异常),仅靠杀软扫描已不够——黑客常通过加壳(Packer)隐藏真实逻辑、绕过静态检测,此时需用 Sigcheck 检查其 PE 结构完整性与签名真实性。
确认 Sigcheck 已就位并解除系统拦截
前往 Microsoft Sysinternals 官网下载最新 sigcheck.exe → 将其放入 【C:\Tools】 这类你有完全控制权的本地目录 → 右键该文件 → “属性” → 勾选“解除锁定”(若存在此选项)→ 否则 Windows 可能阻止其执行命令行操作。
这一步漏掉会导致后续所有命令静默失败,且无任何报错提示。
运行基础结构检查识别加壳痕迹
在 EXE 所在目录按住 Shift + 右键 → 选择“在此处打开终端窗口” → 输入:
sigcheck -a -h suspicious.exe
重点关注三项输出:
• Machine 字段:必须是 x64 或 x86,若为 ARM64 却运行在 x64 系统上,直接排除加壳可能,属架构不匹配;
• LinkerVersion 字段:正常编译器生成值通常 ≥ 14.0(对应 VS2015+),若显示 2.2、6.0 或 0.0,高度疑似 UPX、ASPack、MEW 等老式加壳器;
• Entropy 值:若 > 7.0(尤其接近 7.9),说明文件内容高度随机化,这是压缩/加密壳的典型特征,原生编译代码熵值一般在 4.5–6.8 之间。
比对哈希与签名状态交叉验证
方法一:查签名可信度
执行 sigcheck -i suspicious.exe → 观察 Verified 字段:若为 “Unsigned” 或 “Invalid”,不代表一定被篡改,但失去签名保护层;若为 “Signed” 却显示 “Timestamp: N/A”,说明签名未打时间戳,发布者可能已注销证书,文件随时可被吊销失效。
方法二:验文件是否被二次修改
用 PowerShell 计算本地哈希:
Get-FileHash .\suspicious.exe -Algorithm SHA256 → 复制 Hash 值 → 去 VirusTotal 网站粘贴查询 → 若显示“First submission”时间晚于软件官网发布日期,或多个引擎报“Packed”、“Malware”、“Heuristic”标签,基本可判定已被加壳植入恶意逻辑。
【注意:VirusTotal 的“Community Score”低于 30% 时,不要轻信“clean”结论——大量加壳样本因未触发动态行为而逃逸】
深度转储节区信息定位异常段
第一步:提取节区原始数据
sigcheck -m suspicious.exe > manifest.txt
第二步:人工筛查关键节名
打开 manifest.txt → 搜索 .text、.data、.rsrc、.reloc 四个标准节 → 若出现非常规节名如 .upx、.aspack、.pebundle、.crypt、.stub,或节 VirtualSize 明显大于 RawSize(例如 VirtualSize=12288, RawSize=512),说明该节在内存中会被解压/解密,属于强加壳信号。
第三步:验证入口点合理性
查找 OptionalHeader.AddressOfEntryPoint 行 → 其值应落在 .text 节的 VirtualAddress + Size 范围内 → 若指向 .upx 或 .crypt 节,或数值为 0x1000 以下的低地址(如 0x400、0x100),几乎可断定是壳的跳转入口,非原始程序逻辑起点。

















