3

SpringboardService には多くのプライベート API が含まれていることは知っています (例: SBGetApplicationState、SBDimScreen など)。「nm」ツールを使用してこれらのメソッドのリストを取得しました。

これらのプライベート API メソッドの署名を取得できるツールを見つけたいと考えています。私が理解しているように、SBGetApplicationStateはC呼び出しです(対Objective Cメソッド)。したがって、逆アセンブルや追加の手動アクションなしで署名を回復できるかどうかはわかりません。ただし、少なくとも半自動化されたプロセスが存在することを願っています。

いくつかのメモ:

a) このリンク (iOS ランタイム プライベート ヘッダー) を見ました: https://github.com/nst/iOS-Runtime-Headers

これには、Objective C ヘッダーのみが含まれています。

b) このリンクを見ました (SpringBoard.app/MIG サブシステム) http://iphonedevwiki.net/index.php/SpringBoard.app/MIG_subsystem

興味深い情報が含まれていますが、ドキュメントは少し古くなっています (iOS 3.1-4.2 の場合)。

c) 私は調査を行っており、AppStore にアプリケーションを提出する予定はありません。私は、プライベート API の使用に基づく AppStore の拒否についてよく知っています。

4

1 に答える 1

3
  1. 残念ながら、C 関数に関するあなたの仮定は正しいです。それらの署名を自動的に取得することはできません。
  2. ただし、Objective-C メッセージを使用してこれを行うことができます -- class-dump (または、より良いのはclass-dump-z ) をご覧ください。
于 2012-07-16T20:09:05.723 に答える