Изменяет ли Apple исполняемые файлы приложений iOS в приложениях, отправленных в App Store?

Идентичен ли исполняемый файл приложения побайтно при покупке приложения через App Store и установлен на iPhone пользователя по сравнению с исходным исполняемым файлом, отправленным в Apple в исходном пакете приложений? Или он другой (например, с дополнительными подписями или шифрованием)?

Меня беспокоит только исполняемый файл, а не весь пакет приложения.

В частности, будет код, такой как ...

int main(int argc, char* argv[]) {
   FILE* file = fopen(argv[0], "rb");
   // Read entire contents of executable file; calculate a hash value
   // ...
   fclose(file);
}

. .. вычислить тот же хэш, что и при вычислении хэша за пределами iPhone в исходном, отправленном исполняемом файле?

Например, вычисление хэша SHA256, как указано выше, а затем использование «Build and Run» в XCode для запуска на подключенном iPhone, дает точно то же результат вычисления хэша SHA256 путем запуска openssl sha256 MyAppExecutableFile с терминала в OS X. Это означает, что установка приложения через XCode не изменяет исполняемый файл.

Мой вопрос заключается в том, действительно ли это все еще сохраняется, когда приложение отправлено в App Store, куплено и установлено.

8
задан JohnSpeeks 25 April 2011 в 22:51
поделиться