이 글을 참고하여 악용하시면 안되요. 정보통신망법, 정보통신기반보호법에 의거 처벌 받을 수 있습니다.
ddms을 이용하여 실행 중인 안드로이드 앱 메모리를 덤프하여 비밀번호를 추출해 볼것이다.
따라서 ddms가 설치가 되어 있는지 확인을 해야한다.
설치 경로 : C:\android\sdk\tools\lib
이런 창이 실행 된다면 사용 할 수 있다. 필자는 환경 변수로 지정해놨기 때문에 어디서든 실행 시킬 수 있다.
먼저 알아보고자 하는 앱을 실행시키고 ddms을 실행시킨다. 그 후 앱에서 로그인을 해본다.
문둥문둥한 사각형에 해당되는 앱을 클릭하고 직사각형 부분을 클릭하면 hprof파일을 떨궈준다.
이 파일을 폴더 하나 만들어서 거기에 저장한다.
하지만 여기서 hprof파일이 표준이 아니어서 표준 형식으로 바꿔 줄 것이다.
hprof 표준 형식 프로그램 위치 : C:\android\sdk\platform-tools
hprof-conv [방금 떨군 파일] [표준형식으로 바꿀 이름]
위와 같이 하면 새로운 파일이 만들어 진 것을 볼 수 있다.
그럼 이제 이 파일을 가지고 메모리 분석을 해볼 것이다.
메모리 분석할 떈 MemoryAnalyzer64를 쓸것이다.
MemoryAnalyzer64.z01MemoryAnalyzer64.z02MemoryAnalyzer64.z03MemoryAnalyzer64.z04MemoryAnalyzer64.z05MemoryAnalyzer64.z06MemoryAnalyzer64.zipMemoryAnalyzer 실행 모습
왼쪽 상단의 File -> Open Heap Dump -> 아까 형식 바꾼 파일
위와 같이 열린 것을 알 수 있다.
이제 분석하기 쉽게
상단 중앙에 있는 트리 형태를 클릭해주고
상단 오른쪽에 사각형 3개에서 Group by class loader를 누르면 위와 같이 나오는 것을 알 수 있다.
여기서 왼쪽 Attributes에서 Go to 하면 md5로 된 비밀번호를 확인 할 수 있었다.
※ 아주 손쉽게 메모리 덤프를 뜨고 메모리에 있는 비밀번호를 추출 할 수 있었다. 그러므로 모바일 앱을 만들 땐
메모리 보안에도 신경써야 함을 알 수 있다.
중요 정보는 꼭 AES-256 등 안전성이 검증된 암호화 방법을 써야 하며
루팅 탐지하여 루팅 되었을 때 앱 실행을 막는다거나 다른 보안적 조치가 필요하다.
'Android' 카테고리의 다른 글
안드로이드 앱 정적분석 방법 (2) [feat.CodeEngn.com SmartApp2] (0) | 2016.09.17 |
---|---|
Burp Suite를 이용한 안드로이드에서 앱 데이터/패킷 캡쳐, 변조 (1) | 2016.09.02 |
안드로이드 앱 정적분석 방법 (1) (0) | 2016.08.24 |
안드로이드 스튜디오, 지니모션을 통한 앱분석 환경 만들기 (2/2) (0) | 2016.08.24 |
안드로이드 스튜디오, 지니모션을 통한 앱분석 환경 만들기 (1/2) (0) | 2016.08.23 |
최근댓글