Defender Scan Pipeline — Stage 8
NScript:ForceTypePS @ 0x10A7813C • NScript:ForceTypeVBS @ 0x10A781C8 • mpengine.dll
Keep deobfuscating until no more changes occur (or 32 passes)
The largest engine: 22,856 lines handling 15+ obfuscation categories
'hel'+'lo')
20+ structural features extracted and evaluated by the SigTree ML decision tree ensemble (SS14) to produce !ml and !MTB detections
js_hasBigString @ 0x109324B4 — Long encoded payloads
js_hasSelfModification @ 0x109324CC — eval()-based codegen
js_triggersNormalization @ 0x109324EC — Needs deobfuscation
js_hasStringFuncs @ 0x10932510 — String manipulation
js_manySmallComments @ 0x109323B0 — Comment obfuscation
js_75percentOfFileComments @ 0x10932490 — Stego in comments
js_75percentOfFileSpaceRuns @ 0x10A786AC — Whitespace encoding
js_manyIdenticalLengthComments @ 0x10A787E4 — Stego pattern
Every intermediate deobfuscation result goes through multiple detection engines
Real-time script content from the OS Antimalware Scan Interface
Dedicated signature types for NScript content
BRUTE matching specifically on deobfuscated script text
NScript signature pack for script-specific patterns
Remediation signatures for cleaning detected scripts
PS:394 + VBS:340 + JS:359 + Batch:265 = 1,358 transforms • 75,304 lines • mpengine.dll