Есть ли исполняемые упаковщики (например, UPX) для iOS?

Просто интересуюсь. Или это даже технически невозможно написать мне, например, потому что iOS может предотвратить переходы в область, где находится распакованный код?

3 ответа

Решение

Вы не можете использовать его, iOS не позволяет создавать исполняемые страницы или запускать пользовательские двоичные файлы из файла.

Распаковщики, такие как UPX, должны где-то размещать распакованное изображение. Если он помещен в память, CPU должен начать выполнять инструкции в образе, который до этого считался данными. IIRC, выполнение данных не разрешено iOS.

Насколько я знаю, скомпилированный исполняемый двоичный файл не может быть упакован, потому что он должен быть подписан с помощью Xcode и инструментов. После развертывания подписанного кода на устройстве iOS его нельзя изменить каким-либо образом (только ОС может загрузить его, отличающийся от ОЗУ).

Вы можете попробовать упаковать файлы ресурсов и загрузить их другим способом.

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