-
-
[原创]秒入OEP
-
发表于:
2011-3-3 14:03
13036
-
我不知道有没有人发现这个方法(阅历不太丰富,不知道有没有这个方法),但至少我发现时非常兴奋,也试了不少壳,包括一些猛壳,都可以用这个方法快速找到OEP,我想把这个技巧独自享用,然后比别人快一步的找到OEP,好炫耀自己多厉害,但最后还是决定分享给大家,拿着宝剑就说自己是英雄没什么了不起,大家一起进步才有意义.
写这篇烂文的启发是在2005年一个大牛的文章技巧上得到的:http://bbs.pediy.com/showthread.php?threadid=10548(不过没看完)
后来我就想,既然程序从OEP下面任意一个CALL进入后,暂时性的一去不返(进入窗口循环什么的),但他的返回地址还是会在堆栈中,而这个返回地址就是和OEP在同一平面上,往上翻就能找到OEP了!
下面我以ZProtect.1.4.9.0.Preview.2的壳为例子
首先临时的给一个C++程序加了ZProtect壳
然后OD载入
直接运行,然后暂停,看堆栈,从最下面往上找,是代码段的返回地址都看一下
然后就发现:
删除分析
然后代码往上翻,就到OEP了,然后打开没加密过的程序,对比下就能确认
当然这个方法不是万能的,大家只要明白原理,就知道对哪些壳管用,哪些不管用,别要到时候来问我,为什么这个壳不行.....
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)