0

現在、多くのiOSオペレーティングシステムコード(フレームワーク、システムデーモン)を逆アセンブルしています。システムコールを実行する一般的な方法の1つは、mach_msgの使用です。

したがって、クライアント側では、mach_msgがどのように構築されているかを確認できます。この呼び出しを処理するシステムデーモンをよく知っています。ただし、このデーモンの逆アセンブルされたコードで呼び出しハンドラーを見つける方法がわかりません。

経験則、ハンドラーを見つける方法はありますか?

4

1 に答える 1

1

私は次のことを見つけました(少なくとも1つのデーモンで)

a)mach_msg_server_onceメソッドが呼び出され、その最初のパラメーターはコールバックメソッドです

b)通常、このコールバックメソッドはmsgh_idをチェックし、呼び出しをディスパッチするメソッドのディスパッチテーブルアドレスを検索します。

于 2012-09-11T21:51:51.473 に答える