荆棘女王:什么是ANTIDEBUG ?

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 02:37:11
具体一点到底是什么样子的?(现在只知道是反调试的)

antidebug:
push offset K32 ; 取kernel32的base地址
call GetModuleHandleA
or eax,eax ; 检测是否失败
jz error

push offset @IsDebuggerPresent ;得到函数地址
push eax ; 压入堆栈
call GetProcAddress ; ~~~!!~~可能产生错误
or eax,eax
jz error

call eax ; 调用IsDebuggerPresent

or eax,eax ; 如果不等于 0,就说明有人在分析我们的代码
jnz debugger_found ;那就——呵呵,要做什么?你想作什么?那就作吧。。