Obfuscator for Assembler Source Code

Protect your assembler source code & algorithms against cracking, analysis & reverse engineering by using obfuscation. Obfuscator has already been used 382010 times!

Source code in MASM format

Obfuscated code

Demo mode limitations

  • The only obfuscation technique employed is "Change code execution flow" (it's enabled by default)
  • Obfuscator will process only one procedure (1 kB max.)

You can enter your activation code and Obfuscator will work without restrictions.

BeforeAfter
mov	eax, 1
push	eax
	jmp	lbl1
lbl2:
	push	eax
	jmp	lbl3
lbl1:
	mov	eax, 1
	jmp	lbl2
lbl3:

BeforeAfter
mov	eax, 1
mov	eax, (1 xor 0F3DE0012h)
xor	eax, 0F3DE0012h

BeforeAfter
call	ExitProcess
push	offset lbl1
jmp	ExitProcess
lbl1:

BeforeAfter
call	ExitProcess
push	offset lbl1
mov	ecx,offset ExitProcess
jmp	ecx
lbl1:

BeforeAfter
push	MB_ICONINFORMATION
push	40h

BeforeAfter
...
add	eax, 1234
sub	eax, 1234

BeforeAfter
...
je	lbl1
jne	lbl1
db	04Eh,02Eh ; junks
lbl1:

Quick usage info

  • 32 bit assembler only
  • Only MASM syntax is supported
  • You need to provide at least one procedure

BeforeAfter
mov	eax, 1
	mov	eax, offset lbl1
	jmp	eax
	db	031h,04Fh,05Ch ; junks
lbl1:
	mov	eax, 1

BeforeAfter
...
.data
label_offset dd offset label
...
.code
...
mov	eax, (offset label + 1234)
jmp	dword ptr [eax - 1234]
...
label:

BeforeAfter
...
jmp	lbl1
db	0FEh,0C0h,01Dh ; junks
lbl1:

BeforeAfter
...
db	0C2h ; rep
jmp	lbl1
db	0FEh,0C0h,01Dh ; junks
lbl1:

BeforeAfter
...
push	offset lblseh
push	dword ptr fs:[0]
mov	dword ptr fs:[0],esp
db	08Bh,53,0,0,0,0
db	78,119

lblseh:
mov	edx,dword ptr[esp + 0Ch]
mov	eax,offset lblafter
sub	edx,-184
mov	dword ptr[edx],eax
or	eax,-1
inc	eax
retn

lblafter:
pop	dword ptr fs:[0]
lea	esp,[esp+4]
xor	eax,eax

Questions?

If you would like to ask me about Obfuscator, or something's not clear, mail me. I'll be happy to answer all of your questions.