Проверка образа диска Mac OS X

Кто-нибудь знает, что именно происходит за кулисами, когда Mac OS X проверяет файл образа диска (.dmg)? Есть ли способ расширить или настроить процедуру?

РЕДАКТИРОВАТЬ: я хотел бы создать образ диска, который проверяет, что он делает именно то, что должен делать, и ничего больше. Например, если я распространяю программное обеспечение, управляющее паролями, злоумышленник может изменить мой пакет, чтобы отправить пароли неуполномоченной третьей стороне. Для конечного пользователя функциональность будет казаться идентичной моей программе, и они никогда не узнают, что пакет был саботирован. Я хотел бы выполнить эту проверку во время монтирования.


person Zach Rattner    schedule 11.04.2011    source источник
comment
Это просто контрольная сумма, но что вы имели в виду?   -  person Nicholas Riley    schedule 11.04.2011


Ответы (2)


Насколько мне известно, вы не можете изменить эту процедуру (если только вы не сделаете некоторые системные хаки, которые я не рекомендую). Я полагаю, что он сравнивает ее с внутренней контрольной суммой и убеждается, что заголовок тома диска в порядке. Он просматривает все файлы, чтобы увидеть, не поврежден ли какой-либо из них.

person alexyorke    schedule 11.04.2011
comment
Разочаровывает, но спасибо, что избавили меня от бесполезного упражнения. - person Zach Rattner; 13.04.2011

Мое понимание dmg ограничено, но, насколько я понимаю, это, по сути, формат архива, специфичный для OSX, похожий на zip. Одним из вариантов было бы также распределить контрольную сумму вашего dmg. Это не очень полезно, так как если злоумышленник может изменить dmg, который пользователь загружает с вашего сайта, он также может изменить контрольную сумму.

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

Документацию Apple по разработке кода можно найти здесь: https://developer.apple.com/library/mac/documentation/Security/Conceptual/CodeSigningGuide/Procedures/Procedures.html#//apple_ref/doc/uid/TP40005929-CH4-SW5

person alwaysmpe    schedule 08.07.2016