jk039 2007-4-4 18:14
脱ASProtect 1.22 - 1.23 Beta 21壳时不懂的地方
这下我们要小心了,再Shift+F9 四次,我们就到达了ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov壳的最后一次异常,继续。
00EE2AA6 3100 XOR DWORD PTR DS:[EAX],EAX // ASProtect典型的最后一次异常.
00EE2AA8 64:8F05 0000000>POP DWORD PTR FS:[0]
00EE2AAF 58 POP EAX
00EE2AB0 833D 786DEE00 0>CMP DWORD PTR DS:[EE6D78],0
00EE2AB7 74 14 JE SHORT 00EE2ACD
00EE2AB9 6A 0C PUSH 0C
00EE2ABB B9 786DEE00 MOV ECX,0EE6D78
00EE2AC0 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00EE2AC3 BA 04000000 MOV EDX,4
00EE2AC8 E8 63E1FFFF CALL 00EE0C30
00EE2ACD FF75 FC PUSH DWORD PTR SS:[EBP-4]
00EE2AD0 FF75 F8 PUSH DWORD PTR SS:[EBP-8]
00EE2AD3 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00EE2AD6 8338 00 CMP DWORD PTR DS:[EAX],0
00EE2AD9 74 02 JE SHORT 00EE2ADD
00EE2ADB FF30 PUSH DWORD PTR DS:[EAX]
00EE2ADD FF75 F0 PUSH DWORD PTR SS:[EBP-10]
00EE2AE0 FF75 EC PUSH DWORD PTR SS:[EBP-14]
00EE2AE3 C3 RETN ////F2 下断,运行后断在这里。到这里后,我们可以用两种方法到达程序入口。一种是在code断下内存断点,可以直接到达oep。另外一种是在0012ff68下硬件断点,也可以到达oep。为了更直接明了,我们采用第二种方法。在命令行下hr 12ff68,运行后断在如下代码 (这里我不知道怎么在 在命令行下hr 12ff68 希望高手来指点一下谢谢!!)
愿意教我的加我QQ:172947634