[iOS 보안] 모든 앱의 WebView 원격 디버깅 활성화

참조: https://mp.weixin.qq.com/s/bNKxQaVrPaXsZ5BPbsXy7w
(Zhou Zhi 씨의 공식 계정에서)

개요

Safari에는 프런트 엔드 디버거가 내장되어 있습니다.iPhone
이 LAN 또는 USB를 통해 MacBook에 연결되고 Safari 원격 디버깅이 활성화된 후 프런트 엔드 디버거는 기본적으로 MobileSafari 및 Xcode에서 컴파일되고 실행되는 앱에 유효합니다.

시스템에 내장된 앱이나 AppStore에서 다운로드한 앱은 JS 콘솔에서 관찰되지 않습니다.

탈옥한 휴대폰에서는 동적 패치를 통해 WebView 디버깅 기능을 활성화할 수 있습니다.
https://github.com/ChiChou/GlobalWebInspect(Zhou
Zhi 씨가 개발)

설치 튜토리얼

다운로드 주소:
https://github.com/ChiChou/GlobalWebInspect/releases

아이폰 다운로드 deb 파일
여기에 이미지 설명 삽입

Filza로 보내고 Filza를 사용하여 설치

사진 이름

디버깅 활성화

참고: https://cloud.tencent.com/developer/article/1680133

Mac의 Safari에서 개발 메뉴 열기 Safari를 실행
하고 Safari > 환경설정을 선택한 다음 고급 패널을 클릭하고 메뉴 막대에서 개발 메뉴 표시를 선택합니다.
여기에 이미지 설명 삽입
iPhone에서 Safari 디버깅 모드 켜기
iPhone을 켜고 설정 > Safari > 고급 > Web Inspector > 활성화로 이동합니다.
여기에 이미지 설명 삽입
그런 다음 MacBook에서 wkwebivew를 포함하는 응용 프로그램의 웹 페이지를 볼 수 있습니다.
여기에 이미지 설명 삽입

원칙

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와 같은 웹 페이지 파일
저장 파일 탐색 시 Command+S 누르기
여기에 이미지 설명 삽입
여기에 이미지 설명 삽입

Supongo que te gusta

Origin blog.csdn.net/qq_39441603/article/details/132194729
Recomendado
Clasificación