메모리 덤프 (Frida, DDMS)
메모리 내 저장된 민감정보 확인
(프리다, 프리덤프)
루팅폰 프리다(프리덤프)메모리 뜨기, 아래 URL따라하기
http://chp747.tistory.com/97?category=724021
안드로이드에서 루트권한으로 서버 실행
#su root
#cd /data/local/tmp
#frida-server &
윈도우에서 확인 (파이썬 3.x, pip로 frida 설치 된 상태)
#frida-ps -U
프리덤프 실행 (현재 배포판이 파이썬2.x 버전이라 파이썬3.x호환이 안됨)
#python fridump.py
녹스
윈도우 작업관리자 켜서 메모리덤프하면된다...존나 쉽구나.
치트엔진
비 루팅 폰에서 가능하다고 하지만 루팅이 안되어 있는 상태에서는 메모리 덤프할 수 있는 영역이 제한적이라고 한다
루팅 폰에서 진단대상 어플리케이션이 구동되야 메모리 덤프 가능 ㅅㅂ....
녹스에서 프리다 서버 설치 안된다...가상OS라 안되는 듯..메모리 덤프 하려면...루팅폰 가져가자
=> 내 폰 G3 루팅하자
프리다
프리덤프
1. 루팅된 폰에서 사용가능 (Frida Server가 모바일에서 구동되어야하는데 요즘 폰은 잘 안됨, 루팅폰에서 가능)
2. 파이썬 3.6 이상 사용가능
3. frida 설치 필요 ( pip install frida )
4. frida-server가 모바일에 설치되어 구동되어서 구동되어야 한다.
https://github.com/frida/frida/releases
Study 필요 블로그
http://www.hahwul.com/2017/08/hacking-frida-hooking-to-multi-platform.html
프리다로 할 수 있는 것
https://github.com/dweinstein/awesome-frida
트레이닝
https://www.codemetrix.net/hacking-android-apps-with-frida-1/
DDMS
AndroidManifest.xml에 android:debuggable="true" 일 경우 DDMS 메모리 확인 가능한
다만 요즘 앱 마켓 시장에서는 false로 설정할 경우 릴리즈가 불가능 하다고 한다.
따라서 코드를 수정하여 리패키징 후 설치해야 메모리를 볼 수 있다.
- Android Device Motnitor
- Studio 설치되야함
- DDMS : 프로세스 안보임.... why?
debug 설정이 false거나 해당 설정이 없기 때문에 (기본 값 false)
http://jmoon1601.tistory.com/62?category=637005
DDMS 명령어로 캡쳐 아래내용 스터디 필요
GDB
NDK설치 및 귀찮은 설정들로 인해 안하는게 정신 건강에 이로울 듯
1.PID확인
adb -e shell
# ps | grep '패키지명'
2.안드로이드 내 쓰기 가능한 곳에 메모리 덤프
adb shell am dumpheap [PID번호] /sdcard/Download/[저장할 이름]
3. 로컬 컴퓨터에 다운로드
adb pull /sdcard/Download/저장한 이름
4.저장된 힙파일을 읽기 위해 파일 포맷 변경
C:\Users\yim91\AppData\Local\Android\sdk\platform-tools\hprof-conv.exe
명령어: hprof-conv.exe 원본파일 변경할파일명
5.hex에디터로 연후 검색