Исполняемый файл iOS без основной функции

Я создал тестовое приложение, а затем экспортировал его в виде файла IPA. Я использовал IDA pro для просмотра исполняемого двоичного файла. Я обнаружил, что основная функция вызывается стартовой подпрограммой:

BLX  _main

Итак, я пришел к выводу, что точкой входа в исполняемый файл mach-o является запуск подпрограммы, которая в конечном итоге вызывает основную функцию.

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

Я хотел бы знать, почему такая разница?


person Community    schedule 09.04.2013    source источник


Ответы (1)


Вы делаете неверный вывод. Это правда, что точкой входа является подпрограмма запуска, также верно и то, что подпрограмма запуска в конечном итоге вызывает основную функцию, объявленную в вашем коде. Однако, если вы выберете «Да» в параметрах «Постобработка развертывания» и «Удалить связанный продукт» в настройке сборки Xcode, ваш символ будет полосатым, поэтому вы больше не увидите основную функцию как _main, но запутанную, например, sub_2A4C.

person Krypton    schedule 09.04.2013