아이폰 백업으로부터 문자 메세지 추출하는 방법

iTunes를 활용하여 아이폰을 백업하게 되면, 아래와 같이 백업된 데이터가 PC 혹은 맥에 남게 됩니다. 이 남겨진 데이터들을 활용하여 저장되어 있는 모든 문자 메세지(iMessage 포함)를 추출하는 방법에 관해 적어 보았습니다. 모든 iOS 기기에 적용되는 내용입니다.

* 본인의 기기가 아니더라도 본인이 사용하는 PC 혹은 맥에 백업을 해두었다면(백업 파일에만 접근할 수 있다면), 다른 사람의 문자 및 iMessage를 보는 것도 가능합니다. 단지 이 이유 때문만은 아니겠지만 본인의 모바일 기기를 아무 PC나 맥에 ‘신뢰(허용)’ 하시면 안됩니다.

이와 같은 데이터 복구는 시중에 있는 수많은 데이터 복구 프로그램(대게는 유료, 그리고 비쌈)을 사용하면 훨씬 더 정확하고 쉽게 가능합니다(저는 이벤트성으로 공짜로 라이센스를 받아 써봤습니다). 필자는 단지 깃헙에 공유되어 있는 소스를 활용하여 비용없이 메세지를 추출하는 방법을 공유드리는 것입니다.


아이폰 메세지 추출하기

윈도우의 경우, Strawberry Perl for Windows만 설치하시면 방법론에서 크게 차이가 없습니다. 편의상, 설명은 맥을 활용하며 진행하였습니다.

 

1) 백업 파일을 복구하는 것이기 때문에 백업된 데이터가 있어야 합니다. 백업해주신 데이터가 있다면 이 단계를 스킵하시고, 그렇지 않다면 iTunes에서 백업을 진행하시기 바랍니다. ▼

  • 백업하는 방법이야 모르시는 분들이 없으시리라 생각합니다. 혹, 이전에 한번도 백업해보지 않으신 분들은 아이폰/아이패드 백업하는 방법 포스트를 참조 바랍니다.

 

2) 백업된 데이터를 복사하여 다른 경로로 옮깁니다. ▼

기존의 백업파일이 어떻게 될지는 그 누구도 책임질 수 없습니다(오픈 소스 코드를 그냥 활용하는 것이므로). 그래서 원본은 유지하고 복사본으로 작업하도록 합니다.

윈도우 백업 데이터 경로 ▼

C:\Users\윈도우계정명\AppData\Roaming\Apple Computer\MobileSync\Backup

맥 ▼

~/Library/Application Support/MobileSync/Backup

 

가장 최신 버전의 백업 데이터를 바탕화면이나 다른 곳에 복사해둡시다.

 

3) 아래 깃헙 페이지에 접속하여 ZIP 파일을 다운로드합니다. ▼

위 방법 대신, 터미널을 열고 아래와 같이 하셔도 무방합니다.

$ cd ~/Desktop
$ git clone https://github.com/chelseybaker/iOSMessageExport.git

 

4) 압축을 해제해주시고 준비해두었던 백업 파일(6d0c5cbd5c…..)을 이 디렉토리 안에 넣습니다. ▼

iOSMessageExport 프로그램 자체가 업데이트된 지 너무 오래되어 그냥 돌리니깐 올바르게 동작하지 않았습니다. 일부 파일의 코드를 조금 수정하니 그럭저럭 돌아가긴 했습니다. 아래 수정 내용 참고하여 해당 파일을 수정해주시기 바랍니다.

  • 수정 내용 ▼

iOSMessages.pm 파일 13번째 줄, 3d/ 추가 :

_sms_db_filename => '3d/3d0d7e5fb2ce288813306e4d4636395e047a3d28',

iOSContacts.pm 파일 16번째 줄, 31/ 추가 :

_contacts_db_filename => '31/31bb7ba8914766d4ba40d6dfb6113c8b614be442',

 

5) 터미널을 열고, 해당 디렉토리로 이동하여 아래 커맨드를 실행합니다. ▼

해당 디렉토리라고 하면, backup.pl, iOSMessages.pm, iOSContacts.pm 등이 있는 디렉토리를 의미합니다.

해당 디렉토리 이동 ▼

cd ~/Desktop/iOSMessageExport

* 필자의 경우 바탕화면에서 작업하여 iOSMessageExport 디렉토리는 바탕화면에 있었습니다.

추출 실행 코드 ▼

$ perl backup.pl --directory_path [본인의 백업 디렉토리]
예) perl backup.pl --directory_path 6d0c5cbd5c2c6156b42d0a26b96ad012dd914569-20180614-133423/

 

6) 새로 만들어진 _export 디렉토리에 들어가서 메세지를 확인합니다. ▼

DateTime 모듈이 설치되지 않아서, 날짜 관련 오류가나긴 하지만 메세지의 내용은 확인할 수 있었습니다. 아쉽지만, 사진이나 첨부파일은 제대로 보여지지 않네요.

추출된 한 파일 예시 ▼


이상입니다.

2 COMMENTS

  1. 질문이 있습니다

    “터미널을 열고, 해당 디렉토리로 이동하여 아래 커맨드를 실행합니다. “ 이 부분과

    추출 방법이 이해가 안 가는데요
    조금더 상세히 설명해주실 수 잇나요

    제가 맥북 초보자라
    터미널 사용방법을 잘 몰라서요..
    명령어나 실행방법을 몰라서요..

    • 여기서 ‘해당 디렉토리’란 깃헙에서 내려받은 ZIP 파일을 압축 해제한 폴더입니다. 쉽게 말하면, 터미널에서 backup.pl, iOSMessages.pm, iOSContacts.pm, 그리고 내가 옮긴 백업 파일 등이 있는 디렉토리입니다.

      터미널 앱을 여신 후,

      1) cd(change directory) 커맨드를 활용해서 경로를 이동합니다. 저는 데스크탑에서 진행했기 때문에 iOSMessageExport 디렉토리가 바탕화면에 있었습니다.
      명령어 : cd ~/Desktop/iOSMessageExport

      2) 본문 4번 단계에서 백업 파일을 ‘해당 디렉토리’로 이동시켜두었기 때문에 아래 터미널 명령어를 바로 실행하시면 됩니다(만약 4번 단계에서 파일 안의 내용을 수정하지 않으셨다면 정상적으로 동작하지 않습니다).
      명령어 : perl backup.pl –directory_path [이동시킨 백업 파일 폴더 이름]
      명령어 예시 : perl backup.pl –directory_path 6d0c5cbd5c2c6156b42d0a26b96ad012dd914569-20180614-133423/

      3) 명령어가 정상적으로 동작했다면 ‘해당 디렉토리’ 내에 ‘_export’ 디렉토리가 생성되면서 메시지를 확인하실 수 있습니다.

댓글 남기기