|
如果是个破解高手,他们肯定知道,程序装入内存时一般ESP都会是0x12FF8C。
下面开始正式脱壳(我用UPX1.25压缩的做例子,用OllyDBG打开已压缩加壳的程序.
看到反汇编代码:
PUSHAD
;这行很重要,一般的程序头部都是PUSH EBP(或一个立即数)和MOV EBP, ESP(对应十六进制机器码为558BEC),用来初始化CPU,此处是PUSHAD,说明非市面流行编译器编译
;说明程序可能已被加密
;此时记下ESP,应该为12FF8C
004364D1 . BE 00D04100 MOV ESI,Clock.0041D000
004364D6 . 8DBE 0040FEFF LEA EDI,DWORD PTR DS:[ESI+FFFE4000]
004364DC . 57 PUSH EDI
004364DD . 83CD FF OR EBP,FFFFFFFF
004364E0 . EB 10 JMP SHORT Clock.004364F2
004364E2 90 NOP
004364E3 90 NOP
004364E4 90 NOP
004364E5 90 NOP
004364E6 90 NOP
004364E7 90 NOP
|