更新时间:2026-07-19
| 阶段 | 能力 | 验收证据 |
|---|---|---|
| 1 | 模块化 Pintool、二进制协议 v1、TLS 缓冲、模块/线程、安全读取、Python JSONL | x64/x86 Release 构建与协议测试 |
| 2A/2B | Windows API 参数/返回值、句柄、文件/注册表时间线 | Pin 集成测试 |
| 3 | API 调用树、全量函数调用树、多个样本 DLL、符号 API 叶节点停止规则 | x64/x86 调用树集成测试 |
| 4A | 本地内存生命周期、深度写入、私有执行、Dump、解包报告 | x64/x86 内存测试及真实报告 |
| 4B1 | Win32 远程内存/线程和注入链 | x64/x86 注入报告 |
| 4B2 | Native 内存、Section/View、运行时 syscall 映射、direct syscall | x64/x86 报告及回归 |
| 5A/5B | 反调试/时间观察、CPUID、RDTSC、异常、PEB/TEB、环境枚举、自校验证据 | x64/x86 反分析报告 |
| 5C | 反调试中和与统一虚拟时间;保留 original/effective/action | x64/WOW64 差异和虚拟时间测试 |
| 6A | 跨域行为报告、IOC、持久化候选、运行差分、DNS/socket/WinHTTP 链 | x64/x86 网络报告及回归 |
| 7 | 子进程跟随、每 PID 独立日志、PROCESS_CREATE/START/EXIT、离线进程树、x64→x86 工具切换 | 同架构及跨架构 Pin 集成测试 |
| 8A | 显式模块/RVA或绝对地址 ROI、线程过滤、指令字典、x64/x86 寄存器/分支/内存快照、硬配额、VMP Trace 报告 | 双架构真实 ROI Trace 与协议测试 |
| 8B | 动态基本块、dispatcher 证据评分、handler slice/聚合、VIP/VSP 候选与硬件 SP 降权 | 合成 VM-like 流、短流保守性、多线程隔离及真实日志报告 |
| 8C | 样本作用域私有执行自动 ROI、API/VMEntry/VMExit 每线程触发状态机、handler slice 重放包导出 | x64/x86 私有执行、触发顺序、协议与真实报告 |
| 8D | rolling-key 证据候选、写后值、内置与 Triton x86/x64 局部语义验证/符号化 | 合成 VM-like 候选、普通样本零候选、真实 slice 逐步验证 |
| 第一版收尾 A | Force 反调试策略、有界 API Buffer 采集、主模块/DLL 跟踪范围、版本化规则配置 | 双架构集成测试与规则契约测试 |
| 6B | 挂起进程/Hollowing 证据链、进程命令行/互斥体/服务/任务 IOC、Dump/Buffer/PEM 指纹 | 离线保守关联与 x64/x86 无恶意进程链测试 |
| 8E | 模块内多函数名称 ROI;保留既有 RFLAGS/EFLAGS、寄存器、内存与分支状态 | x64/x86 导出函数范围真实 Trace |
| 用户体验收尾 | mpa.ps1 一键采集/报告/验证、quick/standard/deep/vmp 预设、标准报告套件、结果索引和中文手册 |
x64/x86、deep、VMP ROI、目标参数及多进程端到端测试 |
| 9A | 自动发现样本调用的命名 API、JSON 关键参数配置、通用 x64/x86 ABI 参数采集、API 清单报告 | 双架构自动发现、CreateFileW/CopyFileW 参数与完整调用配对测试 |
当前完整回归结果:
- 离线协议、分析与部署契约测试:98/98(另有 4 项可选 Triton 依赖测试按预期跳过);
- x64 Pin 集成测试:36/36;
- x86/WOW64 Pin 集成测试:35/35;
- 合计:169/169;
- x64 与 Win32 Release 构建均为 0 警告、0 错误。
全套执行期间曾有用例因主机休眠导致 Python 产生负超时时间;受影响的方法均 已单独完整重跑通过,属于测试运行环境中断,不是 Pintool 超时或崩溃。
验收报告位于 output/process-tree-x64.json、
output/process-tree-x86.json 和 output/cross-arch-process-tree.json。
跨架构报告确认 x64 父进程与 x86 子进程正确关联,子进程退出码为 23,
唯一诊断是预期的 architecture_switch 信息。
阶段 8A 验收报告位于 output/vmp-trace-x64.json 和
output/vmp-trace-x86.json。两者均精确达到 5000 条运行事件硬上限,所有
instruction ID 都存在定义且无重复;x64/x86 寄存器数分别为 16/8,达到配额后
进程仍正常退出。
阶段 8B/8C 报告位于 output/vmp-analysis-x64.json、
output/vmp-analysis-x86.json、output/vmp-trigger-x64.json、
output/vmp-trigger-x86.json 以及 output/vmp-replay-*-slice1.json。
API 触发报告均达到 1000 条运行事件硬上限并保留 25 条逐线程状态转换;
VMEntry/VMExit 集成测试验证同一入口/出口地址只记录一条运行指令,顺序严格为
active 状态事件、指令事件、dormant 状态事件。
阶段 9A 已完成实现:默认 api_tracking=auto 自动记录从样本作用域进入的命名
系统 API,内置 60 项语义规则继续提供深度参数/句柄关联且不会与通用事件重复。
用户可通过 -ApiConfig 传入版本化 JSON,一次声明大量需要关键参数的 API;入口
会先严格校验并编译配置,再启动目标。通用采集支持 x64 Windows ABI 与 x86
winapi/cdecl/fastcall,所有字符串和 Buffer 均使用有界安全读取。标准报告新增
api-inventory.json,直接回答 API 名称、调用次数、线程、参数解析来源和样例。
阶段 8D 已实现 rolling-key/VM 状态候选的保守评分,以及内置 x86/x64 标量
整数语义验证。事件 53 为具有可靠 IPOINT_AFTER 的非控制流写指令采集有界
写后值,x64/x86 5000 条 Trace 分别产生 438/1157 条写后事件。真实测试 slice
的支持指令均与观测一致,x64/x86 覆盖率分别为 69.2% 和 75%;调用、返回和跨
ROI 控制流仍明确标为 unsupported。官方 Triton 后端已经接入并实际验证原始
指令字节,x64/x86 覆盖率提升至 76.9%/81.25%,支持选择寄存器与捕获读内存的
符号化并导出 AST,零语义不一致。
第一版收尾 A 已完成:force 可按 force_anti_debug=absent|present 强制已批准
的反调试结果;capture_buffers 可在 1–16384 字节硬上限内安全采集 API 输入/
输出;trace_main 和 trace_sample_dll 已控制全量调用树及样本指令级反分析
作用域。rules/ 现包含 Observe、Neutralize、Force 三套版本化配置合同和 schema,
启动诊断不再把任何已声明开关标为 inactive。
阶段 6B 已加入严格句柄代次和顺序约束的挂起进程/Hollowing 候选,结论标为 inferred;IOC 报告增加进程命令行、命名互斥体、服务/任务注册项、Dump/Buffer 哈希和完整 PEM 证书/公钥指纹。阶段 8E 增加模块内多函数名称 ROI;运行事件原有 的 RFLAGS/EFLAGS、通用寄存器、内存与分支事实继续保留。
上一版可复现部署包位于 dist/MalwarePinAnalyzer-1.0.0.zip,包含双架构 DLL、离线
分析器、规则、运行入口、原生 x86 验收入口和包内 SHA-256 清单;x64/x86 包内
采集及严格日志验证均通过。validate-log 会验证协议架构、事件完整性、主模块、
全局序列唯一性、线程内序列递增、线程生命周期平衡和正常进程退出。原生 x86
验收脚本默认拒绝在 x64/WOW64 环境产生正式通过结果;其 WOW64 门禁自测已通过。
最终包大小为 3,162,087 字节,SHA-256 为
7aaed226bed36d2c9245e5e2b20927d4f4340851b5f6419e32ad7223db7d9ef7;包内
40 个文件的清单复核无错误。最终发布包一键分析证据位于
output/ux-release-final-x64/reports/validation.json 和
output/ux-release-final-x86/reports/validation.json,分别验证 3398/3069 条事件,
线程流均为 31 个。
用户体验收尾新增推荐入口 mpa.ps1:默认一条命令自动识别目标架构、采集并生成
完整报告套件;支持 quick/standard/deep/vmp 四个预设、目标参数、多个样本 DLL、
子进程以及 report/verify 离线工作流。每次运行生成独立目录和 reports/README.md;
多进程运行生成根索引及 process-tree.json。真实端到端结果包括:最终 standard
x64/x86 分别 3398/3069 条事件,deep 生成 1273 个函数调用节点,函数 ROI 生成 4 条 VMP
指令事件,子进程模式生成 2 份日志、2 份报告并正确关联一个根进程。
阶段 9A 发布包为 dist/MalwarePinAnalyzer-1.1.0.zip,包含自动 API 追踪器、
JSON 配置编译器、配置 Schema/示例、API inventory 报告和更新后的中文手册。
包内一键实跑结果位于 output/phase9a-release-x64 和
output/phase9a-release-x86:分别记录 3821/3692 条事件、1313/1255 次 API
调用和 97/98 个唯一 API;两种架构均从配置正确提取 CopyFileW 的源/目标路径,
并标记 50 次 CreateFileW 为配置请求。发布包大小为 3,202,151 字节,SHA-256
为 c70ec19b10f7941b5e29f0d9870e0b4d3ec5fa96f538589e072a3f40a1bb9353。
- 将发布包复制到原生 32 位 Windows 实机,运行
native-x86-acceptance.ps1并归档生成的validation.json。
- 原生 Windows 10 x86 已具备一键部署验收和防伪门禁,但当前工作环境仍不是
原生 32 位系统,因此尚缺实机/虚拟机产生的最终
validation.json; neutralize只修改已批准的反调试查询和显式启用的虚拟时间;- PEB、CPUID、异常、环境枚举与自校验证据仍保持观察模式;
force只修改已批准的调试器存在性查询,不伪造 PEB、CPUID、异常、环境或 自校验结果;- 当前能够定位、导出、具体验证和局部符号化候选 handler,但还不是自动 VMProtect 去虚拟化器;跨 ROI 连续完整语义和自动生成去虚拟化代码不在 第一版承诺范围内。