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

좋은 웹페이지 즐겨찾기