2013-04-09 4 views
2

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

BLX _main 

Таким образом, я пришел к выводу, что точка входа в macho-исполняемого начать подпрограмму, которая в конечном итоге вызова основной функции.

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

Хотелось бы знать, почему существует такая разница?

ответ

0

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