February 2012
Intermediate to advanced
800 pages
23h 55m
English
The primary way that malware can force a disassembler to produce inaccurate disassembly is by taking advantage of the disassembler’s choices and assumptions. The techniques we will examine in this chapter exploit the most basic assumptions of the disassembler and are typically easily fixed by a malware analyst. More advanced techniques involve taking advantage of information that the disassembler typically doesn’t have access to, as well as generating code that is impossible to disassemble completely with conventional assembly listings.
The most common anti-disassembly technique seen in the wild is two back-to-back conditional jump instructions that both point to the same target. ...