IOS Memory Dump

Hacking/Mobile 2018. 10. 11. 14:02
반응형

1. Fridump 이용

① frida-ps -U 를 이용하여 APPNAME 확인

 - 이는 Info.plist의 Bundle Name과 동일

 - 아이폰을 켰을 때 아이콘의 이름, 때문에 한글로 되어있을 경우 frida-ps -U를 했을 때 깨져서 보일 수 있다.


② fridump.py -U [APPNAME]

 - [APPNAME] 부분에 메모리 덤프할 앱 이름을 넣어주면 된다.

 

※ 에러 해결

1.1 만약 APPNAME이 깨져서 보일경우?

 - 아이폰 상에서 보이는 앱 이름으로 시도

  ex) 만약 아이폰에서 보이는 앱 이름이 "도니도니"일 경우 

   : fridump.py -U "도니도니"

 - 정확한 것은 아이폰 상에서 clutch -i를 했을 때 보이는 앱 이름이다. (이는 한글도 보이므로 참고 가능)


1.2 fridump memory access violation

 : fridump로 메모리 덤프 중 memory access violation 에러가 뜰 수 있다.


이 때는 -r 옵션을 통해 read-only 모드로 진행할 경우, read&write 권한을 이용하여 비밀값을 찾지 않아 끝까지 진행될 수 있다.


fridump.py -U -r [APPNAME]


1.3 frida-ps로는 앱이 보이는데 fridump가 되지 않을 경우

 - [Can't connect to App. Have you connected the device?] 이런 에러가 발생

 - 이는 현재 PC에서 사용 중인 Python이 3.x 버전이라 그런 것이다. Fridump를 이용하고 싶다면 Python이 2.x버전이여야 한다.


1.4 Python 3.x버전 일 경우

 - Python 3.x 버전이 설치되어 있을 경우 일반 Fridump가 아닌 python3 용 Fridump를 이용해보길 바란다.

- 경로 : https://github.com/rootbsd/fridump3


2. gdb 이용

 : gdb가 들어가있는 IOS 단말기에서 사용 가능.


 - 아래의 내용을 .sh 확장자와 함께 저장


#!/bin/bash

if [ "$1" == "" ]; then

    echo "proc id required"

    exit 1

fi

grep rw-p /proc/$1/maps | sed -n 's/^\([0-9a-f]*\)-\([0-9a-f]*\) .*$/\1 \2/p' | while read start stop; do

  gdb --batch --pid $1 -ex "dump memory $1-$start-$stop.dump 0x$start 0x$stop";

done


* 파일명이 memory-dump.sh 일 경우 사용법 : 

./memory-dump.sh [덤프할 APP의 pid]


반응형

'Hacking > Mobile' 카테고리의 다른 글

VMware의 MacOS상에서의 IOS 인식  (0) 2019.01.03
VMware에 Mac OS X El Capitan 설치  (0) 2018.12.26
디버깅 탐지기능 확인  (0) 2018.05.25
[IOS] anti-debugging protection bypass  (0) 2018.05.04
IOS Cycript  (0) 2018.04.30
블로그 이미지

rootable

,