/*
tested on asprotect 1.23 RC4 only - arz
*/
var j
var k
eoe main
main:
/*
check for signature bytes
*/
mov j,eip
add j,47
mov k,[j]
mov j,[k]
cmp j,746F7250
je reset
/*
last exception?
*/
mov j,esp //based on britedreams lastex
add j,1C
mov k,[j]
cmp k,400000
je exit
cmp k,1000000 //did some testing on notepad :P
je exit
jmp continue
reset:
/*
zero the debugger check flags for no debugger checks
*/
mov j,eip
add j,41
mov k,[j] // get ptr to debug check array
sub k,4 // k Ptr do IsDebuggerPresent check flag
mov [k],0 // kill it (api won't be called)
add k,8 // k Ptr do anti-debug checks flag
mov [k],0 // kill the internal FS[?],TRW and system debugger checks
jmp continue
continue:
esto
jmp main
exit:
ret |