Windows11预览版桌面去水印工具Universal Watermark Disabler原理分析及实现

迅恒数据中心
预览版系统或者是正式版系统开启系统测试模式,在桌面的右下角会有一个水印,我们可以利用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
 

分类:IDC资讯 百度收录 必应收录