카카오톡 삭제된 메시지를 복구, 보는방법 (카카오톡 8.0버전 취약점, PC버전 전용)

2018. 9. 20. 08:37정보\뉴스\이슈


안녕하세요! Nitro입니다.

오늘은 카카오톡 8.0 업데이트의 가장 큰 핵심인, 보낸 메시지 삭제 기능의 문제점을 이용하여,
삭제된 메시지복구하는 방법을 알려드릴까 합니다.


지난 17일, 카카오가 카카오톡 8.0버전 이상의 유저들을 대상으로 보낸 메시지 삭제 기능을 정식 도입하였습니다.

많은 사람들이 기대한것과 달리, 메시지를 삭제할려면 메시지를 보낸지 5분 이내여야지 가능하며,
심지어 삭제후 '삭제한 메시지입니다' 라는 문구가 남게 되는것입니다.

그리하여 많은 사람들이 무슨 문자를 보냈기에 문자를 삭제했는지 궁금해하기도 합니다.


그리하여 오늘은 그런 사람들을 위해 '삭제한 메시지입니다'를 복구하여, 무슨 내용이였는지 알아내는법을 알려드릴까 합니다.

참고로 이 글은 윈도우10 PC 버전을 기준으로 설명해 드립니다!

[2018년 11월 5일 업데이트]

업데이트를 통해 위 방법은 막혔습니다.

완전히 막힌건 아니고, 특정 문자로 암호화가 되어 나타나는데, 어찌 뚫을수 있는 방법이 나타날것 같습니다.

찾게 되면 다시 업데이트 하겠습니다.

시작전 간단하게 설명을 해드리자면, 카카오톡의 메시지 내용은 카카오톡 프로세스 메모리에 남게 되는데, 그걸 그냥 읽어오면 됩니다.


1. HxD 에디터 다운받기

https://mh-nexus.de/en/downloads.php?product=HxD20

(다운로드 링크입니다)

시작하기 앞서 프로세스 메모리를 뜯어볼때 필요한 헥사 에디터를 다운받아줍니다.


2. 카카오톡을 실행시켜줍니다.

뭔가 험담이 써져있을듯한 메시지들이 눈에 뜁니다.


3. 헥사 에디터 실행

헥사 에디터를 실행시킨후, 기타설정 -> 메인 메모리 열기 -> KakaoTalk.exe 를 선택하고, 수락을 눌러줍시다.


4. 메모리 위치 찾기

수락을 눌러 카카오톡의 메모리값을 헥사 에디터로 열어보면 무언가 끔찍해보이는 숫자와 뭔지모를 영어들이 보이게 됩니다.


삭제된 메시지를 복구할려는 카카오톡 대화창을 열어두고, 대화 메모리를 추적하기 위해 아무 '영어'나 입력하여 보냅니다.

(한국어는 헥사에디터에서 깨져서 보이게 되기에 한국어 검색은 피해주세요.)


헥사 에디터에서 'Ctrl + F' 를 이용하여 찾기 기능을 사용할 수 있습니다.

그럼 이렇게 메시지를 찾을수 있습니다.

(참고로 F3를 눌러 다음 찾기로 넘어가고, Shift + F3을 이용하여 뒤로 찾기가 가능합니다.)


위에 Decoded text를 자세히 살펴보면, .......이 반복되다가 0Áò”Œ0� Ê%>-‘ 라는 문자가 나오고, [i 뭐시기가 나오다가 메시지 내용이 보이는걸 알수 있습니다.

그리고 다시 ...이 반복되고 다른메시지들이 보입니다.

이러한 규칙을 가지고 카카오톡 메시지가 메모리에 저장된다는것을 알수 있습니다.


5. 삭제된 메시지 옵션 찾기

아까 말한 이상한 패턴이 반복되는 구간을 찾게되면, 이제 "hidden":true 라는 문자메시지를 찾을시간입니다.

패턴 반복되는 곳에서 얼마 떨어지지 않은 구역에 존제하니 그냥 스크롤 내리면서 찾으셔도 무방합니다.

참고로 카카오톡이 메시지를 삭제처리를 하는 방법은 단순히 메시지를 받고, bool 값으로 hidden 옵션을 true 설정을 해준뒤, 그냥 페널을 위에다가 덮는 형식인듯 합니다.

아무튼 "hidden":true을 기준으로 아레 혹은 위에 메모리 영역이 숨겨진 메시지의 내용을 포함하고 있을 가능성이 많습니다.


6. 메모리값 긁어오기

그럼 이제 Decoded text 왼쪽에 존제하는 오프셋을 불러올 차레입니다.

그냥 대충 ...으로 시작하는 부분부터 적당한 부분까지 드래그한후, 복사해줍니다.


7. 유니코드로 변환

이제 얻어낸 오프셋들을 유니코드로 바꿔줍시다.

https://r12a.github.io/app-conversion/

위 사이트에 접속하여, Convert 라고 써져있는곳에 오프셋들을 붙혀넣어줍니다.


[2018년 11월 5일 업데이트]

그리고 UTF-8 units를 선택해줍시다.

사이트 개편으로 인해 방법이 변경되었습니다.

Treat bare numbers as 옆에 있는 드롭다운 박스를 눌러 UTF-8 units를 선택해주면 됩니다.


그러면 Characters 란에 오프셋들이 글자로 변환되어 나타납니다.


이걸 하는 이유는?

사실 카톡 채팅을 영어만 사용하면 굳이 이 과정은 필요가 없습니다.

헥사에디터에서 디코드된 값이 옆에 보이는데 따로 할 필요가 없죠.

그럼에도 이 과정을 거치는 이유는, 한국으로 채팅한 값을 얻어내기 위해서입니다.

(한글은 헥사에디터에서 깨져서 나오게 됩니다.)


8. 확인하기

오프셋에서 변환한 글자들을 보기 편한 프로그램에다가 붙혀넣어줍니다.

(워드던 메모장이던 notepade++이던 상관없음)

그럼 위처럼 채팅 로그를 확인할 수 있습니다.


사진에서는 순서가 섞였는데 아마 채팅에서 문제가 없다면 섞이지 않을꺼라고 생각합니다.

그럼 순서대로 찾기 쉽겠죠..?

이런 느낌으로 카카오톡의 삭제된 메시지를 발굴(?)하는 방법을 알아보았습니다.

사실 익숙해지기만 하면 1분안에도 삭제된 메시지를 복구할 수 있다고 생각합니다.

뭐 이렇게까지 글로 써서 올린 이상 언젠간 막힐꺼라 생각합니다만...

그래도 영 찝찝하면 내용을 뜯어낼수는 있겠습니다.


카카오톡에 메시지 삭제 기능이 이제서야 생긴 이유는 개발자들이 멍청해서가 아닌 한번 내뱉은 말에 책임을 지라는 뜻을 담아 만든듯 합니다. 5분 시간제한만 봐도 그렇듯 말이죠.

그리하여 결론은.. 아무리 카카오톡에서 삭제하는 기능이 생겼더라도, 상대방을 상처입히는 발언은 하지 않도록 합시다.



그럼 지금까지 Nitro였구요!

너무 악용하지 않으셨으면 합니다.. :)

오타나 오류등등은 댓글 혹은 이메일로 부탁드립니다.


그럼 이만!


반응형