Есть ли исполняемые упаковщики (например, UPX) для iOS?
Просто интересуюсь. Или это даже технически невозможно написать мне, например, потому что iOS может предотвратить переходы в область, где находится распакованный код?
3 ответа
Вы не можете использовать его, iOS не позволяет создавать исполняемые страницы или запускать пользовательские двоичные файлы из файла.
Распаковщики, такие как UPX, должны где-то размещать распакованное изображение. Если он помещен в память, CPU должен начать выполнять инструкции в образе, который до этого считался данными. IIRC, выполнение данных не разрешено iOS.
Насколько я знаю, скомпилированный исполняемый двоичный файл не может быть упакован, потому что он должен быть подписан с помощью Xcode и инструментов. После развертывания подписанного кода на устройстве iOS его нельзя изменить каким-либо образом (только ОС может загрузить его, отличающийся от ОЗУ).
Вы можете попробовать упаковать файлы ресурсов и загрузить их другим способом.