메뉴 건너뛰기

조회 수 10063 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부


sqlite3 의 기본 명령어를 알아야하고
adb shell 기능이 설치 되어있어야 합니다.
(그리고 리눅스 명령어는 기본이겠죠..??^^;)
간단한 검색으로 설치와 숙지가 가능한 것들이니 숙지하고 진행하도록 합시다.

순서로는
1 *.db파일(sqlite) 분석하기
2. python을 이용한 명령어 구성
3. 실행
정도가 되겠습니다.

아마도 1번이 제일 오래 걸릴것 같은데 시작해보도록 하겠습니다.

먼저 카카오톡의 db가 저장되어있는 곳을 찾아가보겠습니다.
보통 저장되어있는 /data/data/ 폴더 내에
리스트를 살펴보면
..
[여기서 잠깐!] -루팅을 안한경우...
살펴보기전에 cd /data/data 라는 명령어를 치게 되면 실행이 되지 않습니다.
루트권한으로 바꿔야 하죠.
su 명령어를 사용합니다.

혹여 루팅이 어렵다면 다른 방법도 있습니다.
파일을 직접 복사해와서 분석하는 방법인데 아래에서 설명하는 폴더에 들어가서 필요한 파일을 복사해와서 이후 기능을 실행하면 됩니다.
01 (2).png


다음의 위치에 db 파일이 자리잡고 있습니다.
더 이동해서 database 폴더내의 목록까지 조회해봅니다.
2.png



이 내용을 이렇게 자세히 다루는 것은 앞으로 대충 다룰려고 이럽니다..ㅋ
보이는 대로 KakaoTalk.db라는 파일이 있고 대소문자를 구분해서 다음 명령어를 실행시키면 db에 접속이 가능합니다.
이 때 대소문자를 구분하지 않고 소문자로만 쓰게 되면
소문자로 된 파일(kakaotalk.db)이 생성되어 sqlite가 실행되니 주의해야 합니다.

3.png



이제 테이블들이 뭐가 있는지 살펴보겠습니다.
테이블을 살펴보는 명령어는 여러가지가 있겠지만 간단한 .tables를 사용하겠습니다.
여기서부터는 개인적으로 복잡하다고 생각합니다.. sql 쿼리문을 잘 못하기에..(삐질삐질...)
4.png


friends라는 테이블에 집중하겠습니다. @.@
이제부터 복잡해지는데.. schema 라는 명령어를 사용해서 필요한 자료를 찾아내겠습니다.
schema라는 명령어는 간단하게 생각하자면 테이블의 속성을 살펴보는겁니다.
.schema friends 라는 명령어를 실행시킵니다.
5.png



@.@...... 역시 예상대로 아주 복잡한 스키마를 가지고 있습니다...

하나씩 자세히 본다면 키값들과 채팅아이디값 폰번호 이름 등등 많은 속성들이 있습니다.
이 값들을 실제 출력한다면 아주 유명한 쿼리값인 select * from friends; 라는 명령어를 사용하면 됩니다.
그러면 cmd 창이 마구마구 올라가는 대참사가 벌어지게 되어서 여기에는 따로 올리지 않겠습니다..
대략 몇개만 캡쳐해보려 했으나 의미가 없어서.. 모두 암호화 되어서 저장되는것 같습니다.

List of Articles
번호 제목 날짜 조회 수
237 안드로이드 - RecyclerView 안에 RecyclerView 구현하기 file 2021.04.02 502
236 안드로이드 - Json 파싱하기 file 2021.04.02 828
235 안드로이드 - 타이머(Timer) 구현하기 2021.04.01 1368
234 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 241
233 안드로이드 - 리사이클러 뷰(RecyclerView) 구현 file 2021.04.01 388
232 안드로이드 - 네비게이션 드로어(Navigation Drawer)를 활용하여 슬라이드 메뉴 구현하기 file 2021.04.01 1856
231 안드로이드 - 툴바(ToolBar)를 사용하여 앱바(App Bar) 구현하기 file 2021.04.01 454
230 안드로이드 - 프로그레스바(ProgressBar) 구현하기 file 2021.04.01 451
229 안드로이드 - AsyncTask 구현 예제 file 2021.04.01 280
228 안드로이드 - 액티비티(Activity)와 액티비티 생명 주기(Activity Life Cycle) file 2021.04.01 225
227 안드로이드 - 리스트뷰(ListView) 구현 file 2021.04.01 490
226 안드로이드 - 컨텍스트 메뉴(Context Menu) 사용 예제 file 2021.04.01 206
225 안드로이드 - 옵션 메뉴 (Option Menu) 구현 방법 file 2021.04.01 283
224 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) file 2021.04.01 324
223 안드로이드 - 날짜 및 시간 정보 입력받기 (DatePickerDialog / TimePickerDialog) file 2021.04.01 1759
222 안드로이드 - setContentView()와 레이아웃 전개자(LayoutInflater) 2021.04.01 227
221 안드로이드 - AlertDialog 사용하여 알림창 띄우는 방법 총정리 file 2021.03.31 686
220 안드로이드 - SnackBar를 사용해 팝업창 띄우기 file 2021.03.31 281
219 안드로이드 - 토스트(Toast) 메시지 사용하기. file 2021.03.31 321
218 안드로이드 - 액티비티(Activity)로부터 결과 데이터 받아오기 file 2021.03.31 483
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved