Как изменить Info.plist в подписанном пакете?

Я хочу изменить флаг в Info.plist подписанного приложения OSX (в частности, я просто хочу установить Application is agent (UIElement) = true так, чтобы это не показывалось в доке).

Во-первых, он не позволит мне изменить файл напрямую, в значительной степени, несмотря ни на что (он игнорирует sudo chmod, sudo chflags, так далее)

Поэтому я скопировал список в другом месте, изменил его и скопировал обратно. Теперь OSX не будет открывать приложение, потому что подпись кода не совпадает.

Я понимаю, что это общая проблема безопасности, но есть ли у кого-нибудь обходной путь?

1 ответ

Если вы изменяете какой-либо файл в подписанном пакете, независимо от того, для какой платформы или ОС используется приложение, это нарушит цифровую подпись. В этом и заключается весь смысл его подписания, вы доверяете тому, кто является издателем, и знаете, что это не было подделано с момента выпуска.

Для того чтобы заставить его работать, вы должны были бы подать в отставку приложение, которое, как минимум, потребовало бы подписи сертификата, действительного для подписи приложений OSX. Не уверен на 100%, что это за процесс, но получение сертификата не будет бесплатным. Может быть возможно самостоятельно подписать приложения, я не уверен насчет специфики.

Другие вопросы по тегам