如何更改签名包中的 Info.plist?

如何更改签名包中的 Info.plist?

我想更改Info.plist已签名的 OSX 应用程序中的一个标志(具体来说,我只是想设置Application is agent (UIElement) = true它以使其不会出现在 dock 中)。

首先,无论如何,它都不会让我直接更改文件(它会忽略sudo chmodsudo chflags等)

所以我将 plist 复制到其他地方,修改后再复制回来。现在 OSX 无法打开应用程序,因为代码签名不匹配。

我意识到这是一个普遍的安全问题,但有人有解决办法吗?

答案1

如果您更改已签名软件包中的任何文件,无论应用程序适用于哪个平台或操作系统,都会破坏数字签名。这几乎就是签名的全部意义所在,您信任发布者,并且知道自发布以来它没有被篡改过。

为了使其正常工作,您必须重新签名该应用程序,这至少需要一个对签署 OSX 应用程序有效的签名证书。我不确定这个过程是什么,但获得证书并不免费。也许可以自行签署应用程序,但我不确定具体细节。

相关内容