ios 역방향 소 검 조작 수기
1. vmware 에 osx 시스템 을 설치 하고 링크 참조:http://jingyan.baidu.com/article/ff411625b9011212e48237b4.html
2. osx 에 lldb 명령 행 을 설치 합 니 다 (xcode 6.4 설치 후 lldb 버 전이 너무 낮 으 면 디 버 깅 시 명령 해석 오류 가 발생 할 수 있 습 니 다)
$xcode-select --install
;
$xcode-select -p
3. ios 장치 에 debugserver 를 설치 합 니 다. 참고:http://bbs.iosre.com/t/debugserver-lldb-gdb/65
디 버 깅 시작
1. 추가 프로 세 스 디 버 깅
(1) 추가 프로 세 스
;*.1234 -a (appname/ id)
$debugserver *:1234 -a "SpringBoard"
$debugserver *:1234 -a procID
(2) osx lldb 연결 사용
$lldb
lldb)platform select remote-ios ; sdk
lldb)process connect connect://(iosip):1234
lldb)image list -o -f ;
lldb)di -s addr; ;-f -A thumb/arm
lldb)b -[T1CommerceOfferHowWorksView setHiddenObserver:] ;
lldb)process continue ; , c
lldb)br s -a base+offset ; IDA
lldb)br command add 1 ; 1
command>p i
command>bt
command>DONE
lldb)po $r0 ;ios ,
lldb)x/10xw addr ; , gdb length 10 x hex w word
lldb)process interrupt ;
lldb)register read all ;
lldb)exit ;
2. 프로 세 스 디 버 깅 을 시작 하여 함수 입구 에서 차단 합 니 다.
(1) ios 에서 debugserver 를 사용 하여 실행 가능 한 프로그램 을 시작 합 니 다.
$debugserver -x backboard *:1234 /var/mobile/Containers/Bundle/Application/3F55C4D3-FC36-4A08-85D4-287BED0D0B06/APP.app/APP
/private/var/mobile/Containers/Data/Application/306D682A-0A72-4765-AA4B-1881001FE306
(2) osx 에서 lldb 연결 디 버 깅
$lldb
lldb)process connect connect://192.168.1.104:1234
lldb)ni ;ni
invalid thread
lldb)process interrupt ; ,
lldb)image list -o -f ; , ,
3. 기호 가 지원 하 는 디 버 깅 (sdk 조건 이 없 는 친구 가 한번 해 볼 수 있 기 때 문)
; ios osx scp
$target create -arch armv7 ~/APP
$b -[T1CommerceOfferHowWorksView setHiddenObserver:]
$image lookup --address 0x100123aa3 --verbose
3. 문제 와 총화
1. lldb 버 전이 너무 낮 아서 명령 해석 과 ida 의 비대 칭 을 초래 합 니 다.
> xcode 를 마 운 트 해제 하고 xcode - select -- install 을 사용 하여 최신 명령 행 도 구 를 직접 설치 합 니 다. 제 가 설치 한 버 전 은 340 입 니 다. 이전 330 에 문제 가 있 을 것 입 니 다.
2. 탈각 app
> 터미널 에서 다음 명령 을 실행 합 니 다. 전 제 는 dumpdecrypted. dylib 파일 을 다운로드 하면 됩 니 다.
DYLD_INSERT_LIBRARIES=/var/root/dumpdecrypted.dylib?/private/var/mobile/Containers/Bundle/Application/1E821425-7743-4D5A-B704-6515694D420A/APP.app/APP
3. app 의 구 조 를 어떻게 압 니까?
>
구조 보기
otool -f app
구조 보기
lipo -info Twitter
참여 링크:
http://versprite.com/og/ios-reverse-engineering-part-one-configuring-lldb/
https://aigudao.net/archives/244.html
http://casatwy.com/shi-yong-lldbdiao-shi-cheng-xu.html
http://bbs.iosre.com/t/debugserver-lldb-gdb/65
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.