zpchcbd

VB程序的OEP的特征,一般都是push一个数据到堆栈,然后进行CALL,而这个CALL调用的系统的dll文件,这个是重点要考的

那么就会有一个思路:当加壳完,最后来到OEP处,程序运行会调用系统DLL,那么我们是不是只要给系统的DLL下内存断点,当访问的时候就是不是会让OD捕获异常,使其断下点呢?

1、把一个UPX壳的VB加载OD中,EP为如下,这里选择用特殊OD来调试VB,原因是这个OD只有当内存访问断点处才会被断点下来,其他OD就算设置了内存断点,一访问就会直接断下,不适合用于脱壳

2、发现找到系统的DLL,对其代码段进行内存访问断点,原因上面已经讲过了

3、进行F9,然后成功的断在了系统DLL的领空上

来到dll的领空,我们可以返回到程序的领空,在堆栈窗口进行反汇编窗口跟随,那么肯定是dll call调用的下一行,那么上去两行则是我们的OEP,成功找到!

分类:

技术点:

相关文章:

  • 2021-06-16
  • 2021-05-13
  • 2021-11-08
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
  • 2021-09-20
  • 2021-07-03
猜你喜欢
  • 2021-07-22
  • 2021-06-26
  • 2021-09-18
  • 2021-12-08
  • 2022-02-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案