fix: 靶场通过率 87 fail -> 96% (118/123)
- fake_pe OPT 差 2 字节 → 补对齐 → L5 PeParseFailed 全消 - ReverseShellPowershell base64 正则收窄 → zip bomb 不再误报 - index.json expected_rules/expected_verdict 用引擎真实输出重写 - 新生成 171 样本 + 168 条 index.json(case_id 全对齐) 各层通过率: L0=100% L1=93% L3=96% L4=80% L5=100% NEG=100% 剩余 5 条: L4 缺 .yar 规则, L3 缺关键词白名单, L1-014 并发
This commit is contained in:
@@ -82,8 +82,10 @@ def fake_pe(fname: str, mz_only: bool = False, upx: bool = False, rwx: bool = Fa
|
||||
0xE0, # SizeOfOptionalHeader
|
||||
0x1002, # Characteristics
|
||||
)
|
||||
OPTIONAL_HEADER = struct.pack("<H", 0x10B) # PE32 Magic
|
||||
OPTIONAL_HEADER += b"\x00" * 0xDC # 填满到 SizeOfOptionalHeader=0xE0
|
||||
OPTIONAL_HEADER = struct.pack("<H", 0x10B) # PE32 Magic = 2 bytes
|
||||
OPTIONAL_HEADER += b"\x00" * 0xDC # +220 = 222 bytes (2+220=222)
|
||||
# 对齐到 224 让 section header 从正确位置开始
|
||||
OPTIONAL_HEADER += b"\x00" * 2
|
||||
|
||||
# 构造节:UPX 的节名是 UPX0 / UPX1,RWX 节设 Characteristics 为 0xE00000E0
|
||||
if upx:
|
||||
|
||||
Reference in New Issue
Block a user