Anti-Disassembly
Tricks that break linear and recursive disassemblers — overlapping instructions, junk bytes and impossible disassembly.
Anti-Disassemblyadvanced
Uses push/ret and call-to-pop sequences as obfuscated control transfers so branches do not appear as calls or jumps, defeating call-graph recovery.
windowslinuxmacos
Anti-Disassemblyintermediate
Dense chains of unconditional jumps shatter a function into scattered fragments, defeating linear flow and inflating the control-flow graph.
windowslinux
Anti-Disassemblyintermediate
Encoded or computed switch tables hide branch targets behind arithmetic, defeating automatic control-flow recovery and leaving dead-end indirect jumps.
windowslinuxmacos
Anti-Disassemblyintermediate
Position-independent code recovers its own runtime address with a call/pop pair, spawning a phantom call xref that confuses static analysis.
windowslinuxmacos
Anti-Disassemblyadvanced
A single byte is part of two valid, both-reachable instructions, so no flat linear listing can be correct — only a path-sensitive view recovers it.
windowslinux
Anti-Disassemblyintermediate
An always-taken conditional jump is followed by a garbage opcode byte that a linear-sweep disassembler wrongly consumes, derailing the listing.
windowslinuxmacos
Anti-Disassemblyintermediate
Malware recovers its own runtime address through the FPU's saved instruction pointer via fnstenv, hiding the GetPC step from static xref analysis.
windowslinux
Anti-Disassemblyadvanced
Branch instructions are replaced with INT3 traps that a debugger-parent resolves from a hidden table at runtime, erasing control flow from the binary.
windows
Anti-Disassemblyadvanced
A jump lands inside a multi-byte instruction so the same bytes decode two ways, desynchronising linear-sweep disassemblers and hiding real code.
windowslinux
Anti-Disassemblyintermediate
Data bytes embedded mid-function are wrongly decoded as instructions by a linear sweep, desynchronising the listing and hiding the real code.
windowslinux
Anti-Disassemblyintermediate
A conditional jump whose taken and fall-through paths reach the same address, planting a junk byte in the gap that derails a linear-sweep disassembler.
windowslinuxmacos