我目前的问题是,我试图阻止程序更改其自身文件的属性(特别是写入权限),以阻止程序在连接到互联网的情况下自行更新。到目前为止,我尝试过的方法是,借助以下方法,拒绝执行程序的用户写入(即修改/更改)程序的可执行文件及其所有文件icacls 实用程序。此内置系统工具可以修改文件/文件夹的用户权限。首先,我授予了对程序可执行文件及其文件的完全访问权限以清除所有限制,然后,我拒绝了以下权限:DE、WD、WDAC、WO、AS、WEA、WA(请参阅icacls 实用程序看看它们代表什么),但重新启动程序后,属性被重置为对程序有利,程序立即开始更新。这次失败的尝试后,我拒绝了其他权限,例如:D,但我再也无法启动程序,因为我甚至无法目录程序所在的目录。在其他额外的拒绝权限中也可以看到同样的行为,包括但不限于 M、W、GW。我也试过隐藏属性工具从我注意到的程序开始控制台程序在启动时总是被程序调用,借助它可以传递一个属性工具命令来修改属性,除非拒绝运行程序的用户更改属性,但同样,拒绝我之前提到的 M、W、GW 权限会限制我查看程序及其文件所在的目录,更不用说执行它了。可能是程序正在使用 Windows API 来更改其文件的属性?除了我已经提到的方法之外,还有哪些其他方法可以防止该程序修改属性?
答案1
1. 不要在管理员帐户下工作。创建标准帐户并在其中工作。仅使用管理员帐户来设置所需文件的安全权限或安装/卸载新程序或调整系统设置。如果您的帐户是管理员帐户,那么程序可以轻松覆盖您的所有限制,因为它也可以在管理员帐户下工作。
2. 在高级防火墙设置中阻止顽固程序在防火墙中的传出连接。
您可以尝试撤销您想要不可写的文件的所有权,并将受限用户指定为不同的所有者(而不是运行程序的帐户),但我猜程序的功能会被破坏。