学习:脱壳之VB程序快速寻找OEP
Posted zpchcbd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学习:脱壳之VB程序快速寻找OEP相关的知识,希望对你有一定的参考价值。
VB程序的OEP的特征,一般都是push一个数据到堆栈,然后进行CALL,而这个CALL调用的系统的dll文件,这个是重点要考的
那么就会有一个思路:当加壳完,最后来到OEP处,程序运行会调用系统DLL,那么我们是不是只要给系统的DLL下内存断点,当访问的时候就是不是会让OD捕获异常,使其断下点呢?
1、把一个UPX壳的VB加载OD中,EP为如下,这里选择用特殊OD来调试VB,原因是这个OD只有当访问断点处才会被断点下来,其他就算内存写入就会被断点,这种OD对VB好进行脱壳
2、发现找到系统的DLL,对其代码段进行内存访问断点,原因上面已经讲过了
3、进行F9,然后成功的断在了系统DLL的领空上
来到dll的领空,我们可以返回到程序的领空,在堆栈窗口进行反汇编窗口跟随,那么肯定是dll call调用的下一行,那么上去两行则是我们的OEP,成功找到!
以上是关于学习:脱壳之VB程序快速寻找OEP的主要内容,如果未能解决你的问题,请参考以下文章