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 |