WEB开发网
开发学院网络安全黑客技术 脱壳基础知识入门之用内存断点找OEP 阅读

脱壳基础知识入门之用内存断点找OEP

 2007-01-15 16:44:16 来源:WEB开发网   
核心提示: F9以后停在这里,继续对code下内存访问断点,脱壳基础知识入门之用内存断点找OEP(6),看看左下角还在解码,哎~真是麻烦!003728E1/EB1Djmpshort00372900003728E3|25FFFFFF7Fandeax,7FFFFFFF003728E8|0385830600

F9以后停在这里,继续对code下内存访问断点。

看看左下角还在解码,哎~真是麻烦!

003728E1  /EB1D        jmpshort00372900
003728E3  |25FFFFFF7F     andeax,7FFFFFFF
003728E8  |038583060000    addeax,dwordptrss:[ebp+683]
003728EE  |2B858F060000    subeax,dwordptrss:[ebp+68F]
003728F4  |8BDE         movebx,esi
003728F6  |2BD8         subebx,eax
003728F8  |8958FC       movdwordptrds:[eax-4],ebx          //停在这里
003728FB  |83C708       addedi,8
003728FE ^|EBDB        jmpshort003728DB
00372900  64:FF3530000000   pushdwordptrfs:[30]             //清除内存断点以后到这里下断,F9

又是一段解码的代码,再次使用上面的办法手动跳出去。

现在继续对code段下内存访问断点!!F9以后到达这里。

004010CC  FFD7         calledi    ;unpackme.004010CE //OEP哦
004010CE  58          popeax
004010CF  83EC44       subesp,44
004010D2  56          pushesi
004010D3  90          nop
004010D4  E8B518F7FF     call0037298E
004010D9  8BF0         movesi,eax

呵呵~虽然不是我们熟悉的OEP,但是地址是没错了,况且根据我们的步骤,我可以很肯定的说这是code段的第一次“执行”中断!

所以这就是OEP了。

总结一下:当我们在寻找OEP的时候,要多次对code下断“赌”一“赌”他解压完毕,如果不是就对别的段试试~如果程序跑飞了,那就没办法了,重来呗~其实说起来要赌的是:当data段,idata段,rsrc段摆在你的面前,你会好好“珍惜”那个段,不过还好上天还会给我们从来一次的机会(ctrl+F2^_^),那么我们会对那个不会跑飞的段说3个字----“先断你”如果非要在上面加一个次数,我希望是“一次内存断点就好了”

上一页  1 2 3 4 5 6 7 8  下一页

Tags:脱壳 基础知识 入门

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