- UID
 - 67719
 
 注册时间2010-5-29
阅读权限10
最后登录1970-1-1
周游历练 
  
 
 
 
该用户从未签到  
 | 
 
 本帖最后由 jehchan 于 2010-6-4 14:25 编辑  
 
在网上看到一篇文章,壳是给脱了,但是不知道怎么处理附加数据呢, 
按照他的方法,我把call改了,指针也没用错误了,但是还是修复不了,这是怎么回事啊?? 
这个是一个外挂程序。用按键精灵做的按键小精灵,QQ堂外挂。 
用peid查壳:PEBundle 2.0x - 2.4x-> Jeremy Collake [Overlay]  
 
PEBundle是个**壳,主要功能是把程序要用到的dll等文件绑到一个exe中。基本上没有什么保护功能。  
 
Overlay是说程序文件后面有附加数据。  
 
用OllyICE打开,hr 12ffc0。下这个断是典型的用ESP定律脱壳。  
 
不停地按F9运行,等到出现一个长时间的间隔,说明PEBundle解完了。此时来到:  
 
00466468 68 70394600  push 00463970  //这里  
0046646D C3       retn  
0046646E C8 000000 e  nter 0, 0  
 
这个push+retn实质是一个jmp命令,f8两下到这里:  
 
00463970 . 60       pushad  
00463971 . BE 00C04300   mov esi, 0043C000  
00463976 . 8DBE 0050FCFF  lea edi, dword ptr [esi+FFFC5000]  
0046397C . 57       push edi  
0046397D . 83CD FF     or ebp,FFFFFFFF  
00463980 . EB 10      jmp short 00463992  
00463982 90        nop  
00463983 90        nop  
 
其实这个地方用OllyICE的SFX跟踪真正入口也可以跟到。  
 
这个入口是典型的UPX壳,没关系,一样用ESP定律搞定。按F9运行。  
 
00463AD0 FF96 503E0600   call dword ptr [esi+63E50] //这个call  
00463AD6 . 09C0      or eax, eax  
00463AD8 . 74 07      je short 00463AE1  
00463ADA . 8903      mov dword ptr [ebx], eax  
00463ADC . 83C3 04     add ebx, 4  
00463ADF .^ EB D8     jmp short 00463AB9  
00463AE1 > FF96 543E0600  call dword ptr [esi+63E54]  
00463AE7 > 61       popad  
00463AE8 .- E9 F104FBFF  jmp 00413FDE //断在这里  
 
413fde就是OEP了,在这个jmp下断,然后清掉硬件断点。  
 
这个JMP上方的代码是两个循环,作用是填写IAT,其中标记的call实质就是GetProcAddress。  
 
只不过是程序自己实现的,没有调用kernel.dll的GetProcAddress。  
 
也就是因为这个原因,它只是把自己的rva填入了IAT,这样用ImpRec处理就会出现无效函数。  
 
解决方法就是把这个call直接改成call GetProcAddress。  
 
然后ctrl+f2重新开始,F9运行到jmp处。(刚刚下过断点的)  
 
f8一次,来到:  
 
00413FDE 55     push ebp  
00413FDF 8BEC    mov ebp, esp  
00413FE1 6A FF    push -1  
00413FE3 68 A0E94100 push 0041E9A0  
00413FE8 68 4A3F4100 push 00413F4A ; jmp 到 msvcrt._except_handler3  
 
很好,标准的VC入口。用LordPE dump 下来,然后用ImpRec修复。  
 
接下来是把Overlay部分加入到dump中,最后修改Overlay的偏移量。  
 
那个偏移量是在DOS Header中的。不能多讲了,其实都是很简单的。  
---就是这上面的我不会处理……大家帮帮忙,谢谢了!!! |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们 
 
 
 
x
 
 
 
 
 |