手脱 ASProtect 1.22 - 1.23 Beta 21 -> Alexey Solodovnikov
并修复的过程;
OD忽略出内存和添加的访问的所有异常;
还是运用最后一次异常的方法,达到程序OEP 达到脱壳的目的;
当达到后,打开内存镜像,在CODE 段下断点,运行。。达到OEP。。
脱壳,修复。。。不能运行。。。
为什么??因为程序中还有还有问题。。哈哈。。。运行脱壳后程序,会出现异常。那么就在数据窗口那返回程序,具体就是在反汇编窗口跟随。。来到一个地方。。向上找到最近的CALL..这就是问题的地方。。她CALL的地址有问题。。
在转存窗口 dd 那个地址,发现她储存的是壳的地址,壳已经被我们脱了,
不异常才怪呢。。。
打开源程序(为脱壳的),来到同样的地方,跟随那个CALL 看下面返回的是什么地址。。记下她,将她作为脱壳程序中那个内存中的地址内容,也就是让那个CALL 执行她,在转存窗口修改就行。。
按照这样的方法,将其它的几个地方也这样修改就完成了
让我们打开愿程序开开。。OK!!