为应用程序添加Access=True权限,以防止调试,及破解方法
修改 Manifest
前往你程序的 App.Manifest 文件,设置 requestedExecutionLevel
。
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
如何创建清单文件请看创建清单文件
给应用程序签名
创建私人证书
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\makecert.exe" -r -pe -n "CN=Test Certificate - For Internal Use Only" -ss PrivateCertStore testcert.cer
找不到makecert.exe的用everything搜一下
安装私人证书
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\certmgr.exe" -add testcert.cer -s -r localMachine root
给程序集签名
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" sign /a /v /s PrivateCertStore /n "Test Certificate - For Internal Use Only" /t http://timestamp.digicert.com app.exe
将程序放到受信任的目录下
C:\program files
C:\program files x86
C:\Windows\system32
破解方法
移除签名
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" remove /s app.exe
修改应用程序清单
注意清单有可能是作为资源文件放在可执行文件里,也有可能以文件的方式放在可执行文件的当前目录 文件名为 <可执行文件名>.mainifest
若放在资源文件里用ResourceHacker.exe查看修改
将uiAccess改为false