안드로이드 및 아이폰에서 메모리 덤프를 뜨게 되면 중요정보가 노출되어 있는 경우를 볼 수 있다.
여러 방법이 있지만 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 버전 설치 방법은 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라 그런가 오류가 떴다.

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

바꾼 후에 다시 명령어를 사용하니 dump가 되었다.
nox가 아닌 단말기로 다시 실행하려면 device()로 원복 하면 되겠다.


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

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

dump 파일은 HxD를 통해 볼 수 있다.
** 참고로 여러 앱을 dump 시 기존 dump 폴더에 덮어쓰기가 되므로 다른 폴더에 저장 후 dump를 하는 것이 좋다!
참고 :
- nox에서 fridump 하기