안드로이드 및 아이폰에서 메모리 덤프를 뜨게 되면 중요정보가 노출되어 있는 경우를 볼 수 있다.

여러 방법이 있지만 Fridump를 이용해서 메모리 덤프 뜨는 법을 적어놓으려 한다.

 

**중요

!!!Fridump는 앱이 실행 되고 있어야 작동함!!!!

 

 

> 환경

python : 3.9.7

frida : 14.2.18

frida-tools : 9.2.4

 

 

버전 맞추는 것은 모바일에서 가장 중요한 문제이다.

처음에 frida 최신 버전(15.1.17)을 설치해서 fridump를 실행했더니 장치를 못 찾는다고 오류가 나왔었다.

버전 문제인 거 같아서 frida 12.7.11 버전 다운받으니 이번엔 python이랑 버전이 안 맞아서 오류가 나왔다.

그래서 그 사이 적당한 버전으로 테스트하니 실행이 잘 되어서 나중에 까먹지 않도록 버전을 적어놓았다.

 

참고로 frida 와 frida-tools 버전도 맞추어야 한다.

확인 방법은 아래 링크에 들어가 원하는 frida버전을 찾으면 밑에 tools 버전도 나온다.

https://github.com/frida/frida/releases

 

Releases · frida/frida

Clone this repo to build Frida. Contribute to frida/frida development by creating an account on GitHub.

github.com

 

frida 15.1.17과 맞는 frida-tools 버전은 10.5.4

* 원하는 frida 버전 설치 방법은 https://mise.tistory.com/8 참고

 

 

버전이 맞는다면 이제 fridump를 다운받자

python 2.xx 버전은 fridump를 사용하고 python 3.xx 버전은 fridump3을 사용하면 된다.

나는 python 3.xx 버전이니 fridump3를 받았다.

 

 

- fridump : https://github.com/Nightbringer21/fridump

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

 

 

zip으로 다운받고 압축을 풀면 fridump3.py 가 보인다. 

아래 명령어로 도움말을 확인하자.

python fridump3.py -h

 

다 알아두면 좋지만 -s 옵션은 꼭 알아둘 필요가 있다.

추출한 dump 파일에서 문자열이 존재하면 strings.txt 파일에 문자열을 전부 모아주는 옵션이다.

 

 

실행 명령어는 다음과 같다.

python fridump3.py -u -s [패키지 이름]

 

테스트 겸 fridalab 앱을 덤프 떠보았다. 

실 단말기가 아닌 nox라 그런가 오류가 떴다.

 

device not found 오류

 

 

인터넷을 찾아보니 fridump3.py 파일을 열어서 usb_를 검색해서 값을 바꿔줘야 한다고 한다. 

 

device() > device(1)

 

 

바꾼 후에 다시 명령어를 사용하니 dump가 되었다.

nox가 아닌 단말기로 다시 실행하려면 device()로 원복 하면 되겠다.

 

 

dump 파일 중에 string.txt가 있는데 아까 -s 옵션을 주어서 생긴 파일이다.

 

 

만일 암호화되지 않은 값이 저장되어 있다면 이 파일에서 검색으로 찾을 수 있을 것이다.

 

dump 파일은 HxD를 통해 볼 수 있다.

 

 

** 참고로 여러 앱을 dump 시 기존 dump 폴더에 덮어쓰기가 되므로 다른 폴더에 저장 후 dump를 하는 것이 좋다!

 

 

참고 : 

- nox에서 fridump 하기

https://guleum-zone.tistory.com/138

복사했습니다!