0

class-dump ユーティリティを使用して iphone プライベート API からヘッダーをダンプすることを読みました。ただし、objective-c フレームワークでのみ機能します。C で記述されたフレームワーク、たとえば IOSurface、IOMobileFramebuffer などでどのように機能するかを知りたいと思いました。

質問の 2 番目の部分は非常に一般的です。cydia または istore からダウンロードしたアプリがあります。ジェイルブレイクされたデバイスでアプリをリバース エンジニアリングするにはどうすればよいですか (それが実際に必要な場合)。具体的には、実行可能なバイナリと dylib を見つけることができます。フレームワークが使用されているのを見ることができます。しかし、フレームワーク内のどの関数がアプリによって呼び出されているかをどのように確認できますか?

ありがとう。

4

1 に答える 1

3

この質問を 2 つの質問に分解することをお勧めします。

1) 「C で記述されたフレームワーク (たとえば、IOSurface、IOMobileFramebuffer など) でどのように機能するかを知りたいと思いました。」

まったく同じ質問がありました: iOS のプライベート API メソッドの署名を取得する

答えは

   a) C メソッドをグーグル検索して、他の誰かがそれを逆アセンブルしてメソッド シグネチャを見つけたかどうかを確認します。

   b) 誰もこれをやったことがないなら、あなたが最初にそれをする人になることができます


2) 「フレームワーク内のどの関数がアプリによって呼び出されているかを確認するにはどうすればよいですか?」

フレームワーク/ライブラリ内の関数への参照には、次の 2 つのタイプがあります。

  • コンパイル時の参照

いくつかの逆アセンブラーを使用すると、フレームワーク/dylib へのすべてのコンパイル時の参照が一覧表示されます。

  • ランタイム リファレンス

これらは、誰かがするときdlopendlsymまたはNSBundleいくつかの機能を使用するときの参照です。それらが使用されている場所を見つけるには、逆アセンブルして、逆アセンブルされたコードを検索/検索する必要があります。使用されるメソッドの名前を持つ文字列があります。

于 2013-01-08T16:45:33.100 に答える