0

私はジェイルブレイクを備えたiOSデバイスの開発にかなり慣れていません。私が読んでいることから、脱獄されていない電話ではできないすべてのクールなことを実行できるようにするには、特定のクラスに接続して、その動作の一部をオーバーライドする必要があることを理解しています。開発者がどのクラスに正確にフックする必要があるかを追跡する方法についてのドキュメントがないのでしょうか?
たとえば、電話の起動、電話を切る、ユーザーがアイコンをクリックするなどの特定のイベントにアプリを応答させたい場合は、特定のイベントを手動で生成して、どのような呼び出しが行われたかを確認します。これは、コードをフックする場所を追跡するための適切な方法ですか。そうであれば、どのように実行されますか。
私は上記のイベントに正確には興味がないことに注意してください。私は一般的なアプローチにもっと興味があります。

4

1 に答える 1

1

いくつかのアプローチがあります:

  • バイナリを分解します

バイナリを逆アセンブルすることも、class-dumpのようなものでクラスをダンプすることもできます。したがって、クラスの階層全体を見ることができます。

  • ダンプされたクラスを検索する

主要なiOSサブシステムのほとんどは、すでに誰かによって分解されています。あなたはかなりたくさんの役に立つものを見つけることができます。

例として。グーグル検索「スプリングボードヘッダー」はこれを手に入れました

  • ランタイムでクラスをダンプします。

説明のためにこの質問を見てください:Objective-Cオブジェクトのリストセレクター

于 2013-01-09T21:58:49.327 に答える