WEB开发网
开发学院网络安全黑客技术 Magic Utilities 2003 脱壳手记 下 阅读

Magic Utilities 2003 脱壳手记 下

 2007-01-13 20:14:29 来源:WEB开发网   
核心提示: jmp eip 挂起程序,然后到Peditor中dump full,Magic Utilities 2003 脱壳手记 下(2), ___________________________________________________________________ 下面的工作就是定位输

jmp eip

挂起程序,然后到Peditor中dump full。

___________________________________________________________________

下面的工作就是定位输入表了。

用Ultraedit打开dump下来的程序,搜索kernel,位于pec1块的搜索结果如下(事实上,在pec1 section

中有不止一处的kernel,但是其他位置的kernel都不能找到相应的IID->Name):

000950b0h: 74 45 6E 76 69 72 6F 6E 6D 65 6E 74 56 61 72 69 ; tEnvironmentVari
000950c0h: 61 62 6C 65 41 00 4B 45 52 4E 45 4C 33 32 2E 64 ; ableA.KERNEL32.d 
000950d0h: 6C 6C 00 00 00 00 47 65 74 4D 65 6E 75 49 74 65 ; ll....GetMenuIte
000950e0h: 6D 49 6E 66 6F 41 00 00 00 00 53 65 74 52 65 63 ; mInfoA....SetRec
000950f0h: 74 00 00 00 44 72 61 77 45 64 67 65 00 00 00 00 ; t...DrawEdge....
00095100h: 46 69 6C 6C 52 65 63 74 00 00 00 00 43 6F 70 79 ; FillRect....Copy
00095110h: 52 65 63 74 00 00 00 00 47 65 74 53 79 73 43 6F ; Rect....GetSysCo
00095120h: 6C 6F 72 00 00 00 53 79 73 74 65 6D 50 61 72 61 ; lor...SystemPara
00095130h: 6D 65 74 65 72 73 49 6E 66 6F 41 00 00 00 44 65 ; metersInfoA...De
                       

再通过这个地址反推IID的location,向上找到的IID数组如下:

00093ea0h: 60 46 09 00 00 00 00 00 00 00 00 00 0E 47 09 00 ; `F...........G..     
00093eb0h: 94 06 08 00 68 43 09 00 00 00 00 00 00 00 00 00 ; ?..hC..........
00093ec0h: 80 47 09 00 9C 03 08 00 3C 41 09 00 00 00 00 00 ; €G..?..<A......
                       

这样就得到了输入表的地址:00093ea0。 

最后用PeditorD打开dump下来的文件,填入OEP:0005129C(RVA)

Import Table:00093EA0

运行一下,成功!

后记:脱壳中遇到一些不太明白的地方,希望大侠能解答一下:

1.我在载入源程序前把所有的section的characteristics都改成E0000020也不能使Softice在入口点处中断,不知是什么原因。

2.Peditor dump下来的文件是磁盘文件还是内存映象?其IAT是否已被填充为API的入口地址?

3.我手工脱壳以后的文件反汇编没有参考字符串,而用Pe_Scan脱壳后却有字符串。不知如何才能做到。

上一页  1 2 

Tags:Magic Utilities 脱壳

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