Skip to content

Glossary

Obfuscation

Intentional transformation of code or data to make it harder to understand, while preserving the original program's behavior.

Obfuscation is the deliberate transformation of code or data to impede human and automated analysis without changing program semantics. Techniques include inserting dead code, substituting simple operations with complex equivalents (arithmetic substitution), flattening the control flow graph into a dispatcher loop, encrypting strings, and renaming symbols to random identifiers. Malware authors use obfuscation to evade signature detection and slow reverse engineers. Extreme forms include virtualization obfuscation. Countering obfuscation often requires symbolic execution, dynamic tracing, or purpose-built de-obfuscation scripts written in a disassembler plugin API.