能力值:
( LV9,RANK:450 )
|
-
-
51 楼
请问下面这个 OEP 到底是怎么得到了? 百思不解。
二、寻找修复壳的入口
用Olydbg重新打开ACProtec,.idata区段设置内存写入断点,再选CODE区段设置内存访问断点,对一般没入口点变形的可直达OEP。
代码:
--------------------------------------------------------------------------------
004069BE C3 retn
004069BF 90 nop
004069C0 53 push ebx//断在这里,从堆栈可以看出并非OEP,记下eax值
004069C1 8BD8 mov ebx,eax
004069C3 33C0 xor eax,eax
004069C5 A3 CC604F00 mov dword ptr ds:[4F60CC],eax
004069CA 6A 00 push 0
--------------------------------------------------------------------------------
由于ACProtec采用Delphi编写,入口段也非常容易得到,如下:
代码:
--------------------------------------------------------------------------------
004F556C > 55 push ebp
004F556D 8BEC mov ebp,esp
004F556F 83C4 F0 add esp,-10
004F5572 B8 3C534F00 mov eax,Dumped.004F533C
004F5577 E8 4414F1FF call Dumped.004069C0
004F557C A1 6CA25100 mov eax,dword ptr ds:[51A26C]
|
|
|