안드로이드

메모리 덤프 (Frida, DDMS)

우와해커 2018. 3. 22. 14:40


메모리 내 저장된 민감정보 확인

 

 

(프리다, 프리덤프)

루팅폰 프리다(프리덤프)메모리 뜨기, 아래 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

http://chp747.tistory.com/97

http://chp747.tistory.com/98

 

프리다로 할 수 있는 것

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 명령어로 캡쳐 아래내용 스터디 필요

https://stackoverflow.com/questions/25795458/is-it-possible-to-trigger-an-android-heap-dump-from-the-command-line

 



 

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에디터로 연후 검색