参考:https://mp.weixin.qq.com/s/bNKxQaVrPaXsZ5BPbsXy7w
(周志氏公式アカウントより)
概要
Safari にはフロントエンド デバッガが組み込まれて
おり、iPhone を LAN または USB 経由で MacBook に接続し、Safari リモート デバッグを有効にすると、フロントエンド デバッガはデフォルトで MobileSafari および Xcode によってコンパイルおよび実行されるアプリに対して有効になります。
システムに組み込まれているアプリ、または AppStore からダウンロードされたアプリは、JS コンソールでは監視されません。
ジェイルブレイクされた携帯電話では、動的パッチを通じて WebView デバッグ機能を有効にすることができます。
https://github.com/ChiChou/GlobalWebInspect
(開発者: Zhou Zhi)
インストールチュートリアル
ダウンロードアドレス:
https://github.com/ChiChou/GlobalWebInspect/releases
iPhoneのdebファイルをダウンロード
Filza に送信し、Filza を使用してインストールします
デバッグを有効にする
参考:https://cloud.tencent.com/developer/article/1680133
Mac の Safari で [開発] メニューを開きます
。 Safari を実行し、[Safari] > [環境設定] を選択し、[詳細設定] ペインをクリックして、[メニュー バーに開発メニューを表示] をチェックします。
iPhone で Safari デバッグ モードをオンにする
iPhone の電源をオンにして、[設定] > [Safari] > [詳細設定] > [Web Inspector] > [有効] に移動します。
その後、MacBook 上で wkwebivew を含むアプリケーションの Web ページが表示されるようになります。
原理
WebView 関連のコンポーネントは、webinspectord サービス プロセスと通信します。
リモート デバッグは、次のいずれかの資格がアプリケーションのデジタル署名に含まれている場合に有効になります。
- com.apple.security.get-task-allow
- com.apple.private.webinspector.allow-remote-inspection
- com.apple.private.webinspector.allow-carrier-remote-inspection
- com.apple.webinspector.allow
たとえば、システムに付属する Safari ブラウザには com.apple.private.webinspector.allow-remote-inspection があり、Xcode を介して実行されるすべての実デバイス デバッグ アプリケーションには com.apple.security.get-task-allow が含まれます。 。
対応する資格を検出するために、webinspectord は SecTaskCopyValueForEntitlement 関数を呼び出します。
この機能をフックして改ざんすることで、任意のアプリのリモートデバッグが実現できます。この機能はプラグインを通じて実現できます。
デバッグスキル
JS などの Web ページ ファイルを保存する ファイル
を参照するときに Command+S を押します