본문

안드로이드 어플 및 문자메시지 DB 확인하기

[그림 1] 미래 예측의 가장 중요한 부분에서 짤렸다..

포토관상이라는 어플을 받았다. 지난번에 다른이가 해줬을때 결과를 읽고선 '오 이거 그럴싸한데?' 하고 생각했는데 내 관상결과를 내가 가지고 있지 않다는 점이 좀 그래서, 그리고 다시 자세히 읽어보려고 받아보았다. (별로 믿지도 않으면서) 셀카찍는건 별로 안좋아해서 몇년전에 포샵처리된 증명사진파일을 모니터에 대고 찍기로 했다. 이상하게 카메라에서 안찍고 일반 사진 파일을 불러오려고 하면 오류가 뜨는데 이건 수정되어야 할 문제인것 같다. 아무튼 과도한 포샵으로 윤곽이 많이 죽었지만 다행이도 인식을 하고 결과를 보여주었다. 지난번에 했던것과는 다른 결과라서 주욱 읽어가고 있는데 두번째로 생각할 수 있는 진로와 직업.... 에서 짤려벼렸다.(x10 미니의 힘!) 미술쪽은 꽝이라 첫번째 진로는 바라지도 않는데... 그래서 이를 알기 위해 직접 어플리케이션 DB에 접근하기로 한다.

바로 말하자면, 포토관상 어플의 결과 DB는 /data/data/com.inforus.kwansang/databases/kwansang.db 에 저장되어 있다. 물론 이곳에 접근하기 위해서는 Root Explorer등의 특수 어플/프로그램을 사용해야 한다. 안드로이드의 기본 데이터베이스는 sqlite3을 기반으로 하기 떄문에 sqlite를 읽어볼 수 있는 프로그램을 통해 데이터를 확인할 수 있다. 처음 시도한 프로그램은 'SQLite Database Browser' 로서, 무료 공개 소프트웨어이다. 여기에서 db 파일을 읽어온 후 Browse Data 탭에서 TB_RESULT 테이블을 선택하면 아래에 포토관상의 지난 결과들을 확인할 수 있다.

그리고 이왕 분석을 시작한것, 문자메시지 위치에 대해서도 확인하기로 했다. 대부분의 안드로이드 폰은 문자메시지를 /data/data/com.android.provider.telephony/databases/mmssms.db 이곳에 저장한다. pdu 테이블은 mms, sms 테이블은 sms를 의미한다. 또한 mms 파일은 /data/data/com.android.providers.telephony/app_parts/이곳에 저장된다. 안드로이드 앱간의 정보 공유에 대해서는 Content Provider를 사용하여 'content://sms/inbox'와 같은 형태로 접근하면 되며, 이것은 검색을 통해 알아볼 수 있다. 단 이전 포스팅(Content Provider를 사용할 때 유의해야 할 점)에서도 적어놓았다시피 안드로이드 SDK외의 주소에 접근하면 기기간의 호환성에 문제가 있을 수 있다는것을 명심해야 한다.

아무튼 mmssms.db파일을 SQLite Database Browser으로 읽으려 했으나 실패했다. 일반 텍스트 편집기에서도 파일을 읽어 내용을 볼 수 있는데 못읽을 이유는 없었다. 그래서 다른 SQLite 프로그램을 찾아보니 'SQLiteSpy'라는 프로그램이 있었다. 개인적인 용도로는 무료로 사용할 수 있었고, 실행시켰더니 SQLite Database Browser보다 더욱 직관적이고 간편한 구조로 이루어져 있었다. 심지어 설치도 필요없는 단일 실행파일로 되어있다! 아래에 SQLiteSpy를 통하여 SMS를 확인하는 화면을 올려놓았다.

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.