카카오톡 PC에 저장된 암호화된 대화내용 보는 방법(EDB 파일 복호화) #2

본 글은 연구목적으로 작성된 글이며 불법적 용도로 사용을 금합니다

[참고 논문] 윈도우 환경에서 카카오톡 데이터 복호화 및 아티팩트 분석 연구


1. 들어가며

카카오톡은 국내에서 가장 널리 사용되는 메신저로, PC 버전에서는 대화 기록을 EDB(Extensible Database) 파일 형태로 저장합니다.
하지만 이 파일은 SQLite 기반이지만 AES 암호화되어 있어 일반적인 방법으로는 접근이 어렵습니다.

1편에서는 카카오톡 EDB 파일 복호화 파이썬 코드를 만들어봤습니다.

본 글에서는 uuid, modelName, serialNumber 등을 확인하는 방법과 모든 것들을 다 조합하여 복호화에 성공한 EDB 파일을 sqLite browser 프로그램을 활용하여 내부 구조를 살펴보는 부분(채팅방 목록, 채팅내용, 대화방에 첨부된 이미지 파일)까지 작성해 보도록 하겠습니다.

2. 복호화 실행 코드

아래는 1편에서 작성한 복호화 코드 전체입니다.

이 코드에는 pc에서 확인 가능한 uuid, modelName, serialNumber 가 변수로 설정되어 있습니다.

2. 변수확인

  1. regedit를 실행합니다.

2. 아래 위치에서 변수에 들어갈 값을 확인합니다.


3. SQLite를 활용하여 파일 내용 확인

카카오톡 EDB 파일이란?

  • 역할: 카카오톡 PC 버전은 대화 기록을 chatLogs_{chatId}.edb 파일에 저장합니다.
  • 특징: SQLite 기반이지만 AES 알고리즘으로 암호화되어 있어 직접 조회가 불가능합니다.

파일의 위치

Windows 환경에서 EDB 파일은 다음 경로에 저장됩니다:

여기서 {userDir}은 각 사용자별 고유 디렉토리이며, {chatId}는 특정 채팅방을 식별하는 값입니다.

  1. 우선 SQLite를 아래 공식 사이트에서 다운받습니다.

https://www.sqlite.com/download.html

2. 설치 후 실행하여 복호화하기 전 edb파일을 실행해보면 열리지 않습니다.

3 . 위 복호화 파이썬 코드를 활용하여 파일을 복호화합니다.

4. 복호화된 파일을 SQLite를 이용해 열어보면 먼저 테이블 구조가 보입니다.

5. 여기서 데이터 탐색 탭을 누르고 chatLogs 테이블로 이동해보면 아래처럼 대화내용이 나타나게됩니다.


4. 마무리 및 다음글에 대한 예고편

본 글에서는 카카오톡 PC 버전의 EDB 파일을 복호화하고 뷰어를 사용해 확인하는 방법을 알아봤습니다.
반응이 좋으면 다음 글에서는 첨부파일(이미지, 동영상)을 복호화 하여 확인하는 방법에 대해 알아보겠습니다.

  • 하드코딩된 바이트배열은 kakaotalk.exe 파일에 대한 리버스엔지니어링 등이 필요한 부분으로 공개적으로 자세하게 설명드리기는 어렵습니다.

⚠️ 주의사항: 본인의 데이터가 아니라면 복호화를 시도하지 말아야 하며, 법적 문제를 유의해야 합니다.

글을 읽으시면서 궁금한 내용이나 정보교류를 원하시는 경우 댓글로 남겨주시면 확인 후 답변 드리겠습니다

2 thoughts on “카카오톡 PC에 저장된 암호화된 대화내용 보는 방법(EDB 파일 복호화) #2”
  1. 안녕하세요, 카카오톡 edb 복호화 관련해서 정성스럽게 남겨주신 글 잘 읽었습니다.

    저도 리버싱 엔지니어링과 포렌식에 관심이 많아서 해당 주제로 연구를 여러방면으로 해보았는데 바이트 배열을 찾는 과정에서 진척이 없어서 이렇게 실례를 무릅쓰고 질문 남깁니다.

    혹시 해당 복호화에서 사용된 바이트 배열을 얻는 리버싱 엔지니어링 과정에서 조언이 가능하시다면 아래 이메일로 연락 하셔서 도움 받을 수 있다면 감사하겠습니다.

    markyab@naver.com

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다