学习:VB调试之修改系统DLL

按照往常的修改方式,虽然是启动了第二个窗体,但是发现NAG窗体依然存在

这种情况,我们就可以从DLL中下手

首先了解下当一个程序运行的DLL加载流程情况:

1、当前进程的可执行模块所在的目录。

2、当前目录。

3、Windows 系统目录。GetSystemDirectory 函数检索此目录的路径。

4、Windows 目录。GetWindowsDirectory 函数检索此目录的路径。

5、PATH 环境变量中列出的目录。

思路:那么我们可以把程序的依赖dll文件,一起放到一个文件夹当中


修改DLL实现绕过NAG:

1、程序创建窗体是通过CreateWindowExA,我们在bp CreateWindowExA,多次F9找到关键窗体出现的地方,如下

2、找到空数据的地方,自己构造一个CreateWindowExA进行判断,如果是正常的窗体创建就跳回去正常运行,如果不是的话修改SYTLE为40000000,让当前创建的窗体消失


3、绕过NAG成功

原文地址:https://www.cnblogs.com/zpchcbd/p/12088795.html