2

テスト アプリを作成し、IPA ファイルとしてエクスポートしました。IDA pro を使用して、実行可能なバイナリ ファイルを調べました。main 関数が start サブルーチンによって呼び出されることがわかりました。

BLX  _main

したがって、mach-o 実行可能ファイルのエントリ ポイントは開始サブルーチンであり、最終的にメイン関数を呼び出すと結論付けました。

しかし、Clutch で取得した他のアプリの実行ファイルを開こうとすると、_main 関数がまったくなく、代わりに sub_2A4C のようなものがあることがわかりました。

なぜこのような違いがあるのか​​ 知りたいですか?

4

1 に答える 1

0

あなたの結論は正しくありません。エントリ ポイントが開始サブルーチンであることは事実です。また、開始サブルーチンが最終的にコードで宣言されたメイン関数を呼び出すことも事実です。ただし、Xcode のビルド設定で [Deployment Postprocessing] オプションと [Strip Linked Product] で [はい] を選択すると、シンボルがストライプ化されるため、メイン関数が _main として表示されなくなり、sub_2A4C などの難読化が行われます。

于 2013-04-09T02:51:48.317 に答える