카카오톡

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

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

1. 들어가는 말

이전 글에서는 카카오톡 edb파일을 복호화 하는 방법에 대해 알아보았습니다. 많은 분들이 글을 읽으시고 하드코딩된 바이트 배열을 알아내는 방법에 대해서 많은 질문을 주셨습니다만,,

그 부분은 공식적으로 게시할 수 없는 점을 죄송하게 생각합니다..(문의주신 분들 몇 분에 대해서는 이메일로 회신을 드렸습니다. 현재까지 두 분께서 성공하셨다고 회신을 주셨습니다)

이번 글에서는 카카오톡에 저장된 이미지 파일의 복호화에 대해서 알아보도록 하겠습니다.

2. 이미지 파일(.cng) 위치

이번에는 카카오톡 대화파일(.edb)이 아닌 이미지 파일 복호화에 대해서 간략하게 알아보도록 하겠습니다.

카카오톡 pc버전은 이미지 파일을 아래와 같은 경로에 .cng 파일로 저장해 둡니다.

경로명에서 알 수 있는것처럼 thumbnail 경로에는 썸내일형태의 이미지가 있고 그 원본 이미지는 연도별 디렉토리로 분리되어 저장되어있습니다.

3. 이미지 파일(.cng) 복호화

이미지 파일도 edb파일과 같은 방법으로 복호화가 가능합니다. 아래는 기존의 edb 파일 복호화 코드를 cng파일용으로 변환한 코드 전체입니다.

※ cng파일의 경우 파일명이 암호화가 되어있어(파일명 복호화 방법은 별도 설명예정) 아래 코드에서는 파일이 수정된 날짜를 파일명에 반영하여 복호화된 파일의 이름을 변경하여 저장하도록 하였습니다.

2 thoughts on “카카오톡 PC에 저장된 암호화된 대화내용 보는 방법(EDB 파일 복호화) #4”
  1. 이것은 훌륭하고 완벽하게 작동합니다. CNG가 어떤 채팅 파일과 함께 갔는지 어떻게 확인할 수 있나요?

    1. 암호화된 CNG파일명을 확인하는 방법은 카카오톡edb 복호화 1편 https://deer.cafe24.com/%ec%b9%b4%ec%b9%b4%ec%98%a4%ed%86%a1-pc-%eb%8c%80%ed%99%94%eb%82%b4%ec%9a%a9-edb-%eb%b3%b5%ed%98%b8%ed%99%94/ 에서 참고했던 논문의
      59페이지(우측상단에 페이지 표시됨)의 Fig.14, 15, 16을 확인하시면 됩니다.

      간단히 요약해 드리면,
      1. 먼저 확인하고자 하는 EDB파일(대화기록 데이터 베이스 파일)을 복호화 후 attatchment 컬럼에서 이미지나 동영상의 토큰값 알아내기
      ※ 토큰값은 이미지는 k, 동영상 tk라는 파라미터로 저장됨

      2. 논문내용을 보면 “하드 코딩된 바이트 배열에 대해 MD5 해싱을 수행
      하면 key가 된다. key에 대해 Base64 인코딩 수 행 후 MD5 해싱을 수행하면 iv가 된다. 생성한
      key, iv 쌍을 이용하여 token에 대해 AES 암호화수행 후 SHA1 해싱을 수행하면 암호화된 썸네일
      파일명이 생성된다”라고 되어 있고 아래와 같이 알고리즘을 제공하고 있습니다.
      1: key ← hardcoded byte array
      2: key ← MD5(key)
      3: iv ← MD5(Base64.encode(key))
      4: encName ← AES128/CBC/PKCS#7_ENC(token.getBytes(), key, iv)
      5: encName ← SHA1(encName)
      6: return toHexString(encName)

      3. 위 알고리즘을 챗지피티 등에 입력하여 파이썬 코드 등으로 변환하여
      파일명 찾기 코드 작성

답글 남기기

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