. 386 .model flat, stdcalloption casemap :noneinclude kernel32.incincludelib kernel32.lib .CODESTART: call _NO1 ;跳过干扰码 db 0e9h ;干扰码 jmp _END ;跳出变形的代码_NO1: pop eax ;把返回地址弹出到EAX inc eax ;返回地址加一,这样就可以跳过E9干扰码了 push eax ;修改过的返回地址压入堆栈 retn ;这句看似是函数返回,其实在这里他的作用就是把jmp _END的地址付给EIP_END: invoke ExitProcess, 0 end START 用OD载入后是这样滴 当然破解的方法也是有的,在OD里把干扰码NOP掉就可以了,什么怎么找干扰码?当然是CALL的目的地址的前一个字节啦。