预览版系统或者是正式版系统开启系统测试模式,在桌面的右下角会有一个水印,我们可以利用Universal Watermark Disabler工具将桌面水印去除。
其原理是:
创建painter_x64.dll文件,然后修改为注册表 HKCR\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32的值,注册表相应的原值现为%SystemRoot%\system32\explorerframe.dll, 而修改后的值为%SystemRoot%\system32\painter_x64.dll
注册表项的相关文件和桌面进程相关,应该是在桌面进程启动时加载了相应的dll文件,而该工具替换成painter_x64.dll,该dll做了相应的功能来实现水印过滤。
相关逻辑是启动进程时加载此dll,此dll在加载时进程导入表Hook,对shell32.dll中导入的gdi32.dll的ExtTextOutW函数进行挂钩,然后过滤相关字符串。
修改相应的注册表后重启explorer.exe进程起效,注册表修改的路径为HKEY_CLASSES_ROOT\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 默认值。
在不需要进行去除水印时应将注册表值修改回%SystemRoot%\system32\explorerframe.dll
其原理是:
创建painter_x64.dll文件,然后修改为注册表 HKCR\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32的值,注册表相应的原值现为%SystemRoot%\system32\explorerframe.dll, 而修改后的值为%SystemRoot%\system32\painter_x64.dll
注册表项的相关文件和桌面进程相关,应该是在桌面进程启动时加载了相应的dll文件,而该工具替换成painter_x64.dll,该dll做了相应的功能来实现水印过滤。
相关逻辑是启动进程时加载此dll,此dll在加载时进程导入表Hook,对shell32.dll中导入的gdi32.dll的ExtTextOutW函数进行挂钩,然后过滤相关字符串。
修改相应的注册表后重启explorer.exe进程起效,注册表修改的路径为HKEY_CLASSES_ROOT\CLSID\{ab0b37ec-56f6-4a0e-a8fd-7a8bf7c2da96}\InProcServer32 默认值。
在不需要进行去除水印时应将注册表值修改回%SystemRoot%\system32\explorerframe.dll
文章来源:
网络小编D
版权声明:
本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站立刻删除。
