[iOS セキュリティ] 任意のアプリの WebView リモート デバッグを有効にする

参考: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 を押します
ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_39441603/article/details/132194729