一种手动到达VProtect 2.1.0.0 OEP的方法

这里仅为记录达到OEP的方法,未涉及IAT修复等内容,内容存在错误还请指正

配置

插件

反调试可使用SharpOD,参考如下配置:

image-20241110110252914

需要注意的是,不可以选择硬件断点保护(Protect Drx),否则运行时程序会报访问异常,从而无法执行(疑似会被检测?)

image-20241110110502209

(勾选硬件断点保护后程序异常无法执行)

其他反调试插件最好清空设置

调试器

image-20241110110744017

异常参考如上图配置

到达OEP

可在VirtualAlloc函数下断点,注意下断点时不可直接在第一条指令下断点,否则会被检测。

image-20241110110908129

(下断点处)

断点后可在内存窗口中跟踪到程序代码段(通常为401000),之后直接F9运行程序,每次断下的同时观察内存窗口,其中的数据是否有变化。

image-20241110111308061

一旦变化即为程序代码解密完毕

image-20241110111323468

随后在内存布局窗口对代码段下执行断点

image-20241110111356082

随后直接F9运行程序,会直接断在OEP

image-20241110111426478

参考

VProtect 手工到达OEP的简易方法