WEB开发网
开发学院网络安全黑客技术 Armadillo标准加壳的程序的脱壳和引入表修复方案 阅读

Armadillo标准加壳的程序的脱壳和引入表修复方案

 2007-01-13 20:14:38 来源:WEB开发网   
核心提示: 第二步,引入表的修复以前总以为它的修复很难,但实际上只要修改程序流程,完全可得到正确的引入表的.1.可先用importREC试试,有一个指针无效,如果CUT程序退出时会出错,所以要修复它.通过它我们可看到iat的rva为1000,错误指针为1030,(如果很多指针无效,只要记住一个无效的R

第二步,引入表的修复 

以前总以为它的修复很难,但实际上只要修改程序流程,完全可得到正确的引入表的. 

1.可先用importREC试试,有一个指针无效,如果CUT程序退出时会出错,所以要修复它.通过它我们可看到iat的rva为1000,错误指针为1030,(如果很多指针无效,只要记住一个无效的RVA就可以了) 

2.重新载入程序,BP VirtualProtect,断下后f9,注意堆棧的变化,当出现如下信息时要注意了: 

0012DB28 00D0887E /CALL to VirtualProtect from 00D08878 
0012DB2C 00401000 |Address = SoundEdi.00401000 
0012DB30 000CB000 |Size = CB000 (831488.) 
0012DB34 00000004 |NewProtect = PAGE_READWRITE 
0012DB38 0012F034 pOldProtect = 0012F034

它将往401000也就是IAT所在的地方写入信息:这是再按一下F9,又停下来,D 401000,我们可看到,IAT所在的位置已经写入了东西,还不是dll的地址,还记得那个无效指针的地址吗:401030,我们清掉断点,然后在在内存定位到401030处,"右键-->breakpoint-->hardware on write-->dword",然后按F9运行,程序停了下来: 

00D0942F  8B85 5CFBFFFF MOV  EAX, DWORD PTR SS:[EBP-4A4] 
00D09435  8B8D 48F9FFFF MOV  ECX, DWORD PTR SS:[EBP-6B8] 
00D0943B  8908      MOV  DWORD PTR DS:[EAX], ECX 
00D0943D  8B85 5CFBFFFF MOV  EAX, DWORD PTR SS:[EBP-4A4]   ; 停在这 
00D09443  83C0 04    ADD  EAX, 4 
00D09446  8985 5CFBFFFF MOV  DWORD PTR SS:[EBP-4A4], EAX 
00D0944C ^ E9 78FEFFFF  JMP  00D092C9

看到上述二行:MOV ECX,DWORD PRT [EBP-6B8],我们再往上找几行可看到这个语句: 

上一页  1 2 3 4 5  下一页

Tags:Armadillo 标准 加壳

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接