iOS 역방향 튜 토리 얼 추적 함수 호출 상세 설명

머리말
오늘 배 운 것 은 추적 함수 호출 입 니 다.무슨 뜻 입 니까?예 를 들 어 위 챗 자동 으로 보 너 스 를 빼 앗 는 플러그 인 이 되 려 면 이런 기능 을 써 야 합 니 다.보 너 스 를 받 았 을 때 위 챗 의 보 너 스 를 빼 앗 는 함 수 를 자동 으로 촉발 합 니 다.좋아,그럼 우리 먼저 이 함 수 를 찾 자.
매 핑 포트

$ sh usb.sh
Forwarding local port 10001 to remote port 22
Incoming connection to 10001
다른 터미널 로그 인

$ sh login.sh
위 챗 설치 경로 찾기

ps -A|grep mobile
 8636 ??   0:35.91 /var/mobile/Containers/Bundle/Application/EB02DC6D-EBE5-4BE8-92CE-B9ABE75B3C3E/WeChat.app/WeChat
참고 로 위 챗 의 Bundle Id 를 살 펴 보고 Tweak 을 만 들 때 사용 합 니 다.
cycript 를 통 해 위 챗 을 주입 합 니 다.

~ root# cycript -p WeChat
명령 을 실행 하여 info 정 보 를 보고 CF BundleIdentifier 를 찾 아 Bundle Id 가 져 오기

cy# [[NSBundle mainBundle] infoDictionary].toString()
CFBundleIdentifier = "com.tencent.xin";
지금 케이스 를 벗 었 습 니 다.(App Store 에서 다운 받 았 기 때 문 입 니 다)

 ~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Containers/Bundle/Application/EB02DC6D-EBE5-4BE8-92CE-B9ABE75B3C3E/WeChat.app/WeChat
탈피 성공,휴대폰 로그 인 상태 종료

exit
파일 을 복사 하 다

 $ scp -P 10001 root@localhost:/var/root/WeChat.decrypted Wechat
탈각 성공 여부 확인

 $ otool -l Wechat | grep cryptid
  cryptid 0
위 챗 헤더 파일 내 보 내기

$ class-dump -H Wechat -o WechatHeaders
그리고 위 챗 에 보너스 가 있 는 채 팅 창 에 와 서 Reveal 을 통 해 현재 화면 을 보 는 Controller 는 BaseMsgContentView Controller 입 니 다.
그리고 방금 내 보 낸 BaseMsgContentView Controller.h 파일 을 찾 아서 열 어 보 겠 습 니 다.제 가 가 겠 습 니 다.500 여 개의 함수 가 있 습 니 다.어떻게 해 야 합 니까?그것 이 우리 가 사용 할 함수 라 는 것 을 어떻게 압 니까?
Tweak 프로젝트 를 만 드 는 방법 이 있 습 니 다.Tweak.xm 파일 은 다음 과 같이 수정 되 었 습 니 다.

%hook BaseMsgContentViewController
- (void)touchesBegan_TableView:(id)arg1 withEvent:(id)arg2
{
 NSLog(@"%@",NSStringFromSelector(_cmd));
 %orig;
}
...
%end
위의 세 점 은 그 500 여 개의 함 수 를 대표 한다.무 섭 죠?
중요 한 것 은 logify.pl 스 크 립 트 입 니 다.theos 를 설치 할 때 자체 적 으로 가 져 온 것 입 니 다.이 스 크 립 트 는 NSLog 에 인쇄 방법의 입 참 과 출 참 을 주입 합 니 다.(모든 방법 에 log 를 넣 는 것)
위치/theos/bin/logify.pl이것 은 대역 이 고,실제 경 로 는.../theos/vendor/logos/bin/logify.pl터미널 에서 명령 실행

$ logify.pl BaseMsgContentViewController.h > Tweak.xm
ps:logify.pl 명령 을 수행 할 수 있 는 것 은.bashprofile 파일 에 추 가 됐 습 니 다.

export THEOS=~/theos
export PATH=$THEOS/bin:$PATH$ 
방금 생 성 한 Tweak.xm 파일 보기

빨 간 테두리 위치 주의
  • %log 는 유 닉 스 의 시스템 로그 인쇄 서비스 입 니 다
  • %orig 는 원시 적 인 방법 을 호출 하 는 코드 입 니 다
  • HBLogDebug 는 출력 반환 값 입 니 다이렇게 하면 얼마나 편리 한가,하나하나 쓸 필요 가 없다.Tweak 프로젝트 에서 생 성 된 Tweak.xm 파일 을 새로 생 성 한 Tweak.xm 파일 로 대체 합 니 다.
    터미널 에 새 프로젝트 를 입력 합 니 다.
    ```
    nic.pl
    총결산
    이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

    좋은 웹페이지 즐겨찾기