为应用程序添加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

posted @ 2021-11-16 14:35  乘舟凉  阅读(375)  评论(0编辑  收藏  举报