我试图更好地理解 OSX 代码签名以及它在保护我的软件方面为我提供的优势。有人可以为我澄清某些问题吗?
给定一个经过代码签名但没有沙盒化的应用程序:
如果黑客更改了应用程序的二进制文件,则该应用程序不再被视为已签名。但是,它是否仍能正常运行(Lion 会警告用户应用程序未经过代码签名的警告)?
给定一个代码签名和沙盒的应用程序:
如果黑客在这种情况下更改代码,不会发生什么?他/她是否可以简单地删除权利文件以创建不再具有任何沙盒限制的未签名版本的应用程序?
给定一个包含签名和沙盒 XPC 服务助手的签名但未沙盒的应用程序,我可以做些什么来保证黑客无法创建任何部分的未签名(和修改)版本。在我看来,就目前而言,黑客可以执行以下操作:
创建帮助程序的二进制修改版本。因此,这个新版本将是非沙盒和非签名的。
创建主应用程序的二进制修改版本。因此,这个新版本也将是非沙盒和非签名的,并且能够启动新版本的帮助程序。
我错了吗?如果是这样,为什么?
谢谢,
蒂姆