Как изменить Info.plist в подписанном пакете?
Я хочу изменить флаг в Info.plist
подписанного приложения OSX (в частности, я просто хочу установить Application is agent (UIElement) = true
так, чтобы это не показывалось в доке).
Во-первых, он не позволит мне изменить файл напрямую, в значительной степени, несмотря ни на что (он игнорирует sudo chmod
, sudo chflags
, так далее)
Поэтому я скопировал список в другом месте, изменил его и скопировал обратно. Теперь OSX не будет открывать приложение, потому что подпись кода не совпадает.
Я понимаю, что это общая проблема безопасности, но есть ли у кого-нибудь обходной путь?
1 ответ
Если вы изменяете какой-либо файл в подписанном пакете, независимо от того, для какой платформы или ОС используется приложение, это нарушит цифровую подпись. В этом и заключается весь смысл его подписания, вы доверяете тому, кто является издателем, и знаете, что это не было подделано с момента выпуска.
Для того чтобы заставить его работать, вы должны были бы подать в отставку приложение, которое, как минимум, потребовало бы подписи сертификата, действительного для подписи приложений OSX. Не уверен на 100%, что это за процесс, но получение сертификата не будет бесплатным. Может быть возможно самостоятельно подписать приложения, я не уверен насчет специфики.