Obfuscator for the x86 assembler
Obfuscator is a tool to modify x86 assembler source code in this way to make an analysis of compiled code very difficult. Small example:
It is an unusual tool and the target audience is quite small, but if you're writing assembler code and you want to protect your work from decompilation or just to make it as hard as it's possible to analyze, you might want to try it.
- MASM syntax only, processing of @@ labels, detection of local variables, constant equ values, and numbers in different formats (hex, dec)
- changing code execution flow (non linear code path) - it's usefull against all kinds of debuggers, analysis of such code is very "unpleasant"
- mutation of original instructions into series of other equivalent opcodes - obfuscator can mutate both arithmetic and logical opcodes
- hiding of direct calls to functions (including WinApi calls)
- inserting garbage opcodes between real instructions (so called "junks")
- inserting fake instructions between real ones, 32/16/8 opcodes are generated
- no support for code with assume directives
- obfuscated code is slower than the original code
If you have any questions regarding Obfuscator, mail me.