按照往常的修改方式,虽然是启动了第二个窗体,但是发现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成功