2014년 2월 14일 금요일

아이폰 백업에 대하여( 운영체제별 백업경로 구조, SMS, Call History 통화내역 등등... )

아이폰을 컴퓨터에 연결하고 아이튠즈(iTunes)를 실행시키면 ‘요약’ 탭에서 백업에 대한 항목을 찾을 수 있다. 아이폰의 데이터를 백업할 수 있는 방법은 ‘아이클라우드(iCloud)에 백업’과 ‘이 컴퓨터에 백업(로컬 백업 암호화)’ 등 두 가지다. 

우선 ‘아이클라우드에 백업’은 원격지(remote)에 있는 애플 서버에 사용자의 백업 파일을 전송하는 것이다. 하지만 아이클라우드는 기본 5기가만 지원하기 때문에 전제 파일을 백업하는데 무리가 있다. 기본 설정으로 ‘아이클라우드에 백업’이 설정되어 있으며, 사용자 편의에 따라 ‘이 컴퓨터에 백업’으로 변경이 가능하다.

‘이 컴퓨터에 백업’은 아이폰이 연결된 컴퓨터에 폴더를 생성하여 백업 파일을 만든다는 의미다. ‘이 컴퓨터에 백업’을 선택하면 패스워드를 설정할 수 있다. ‘로컬 백업 암호화’ 기능을 ‘끔(OFF)’으로 선택할 경우, 패스워드를 설정하지 않고도 백업 파일을 생성할 수 있다.


[그림 2] 아이튠즈를 이용한 아이폰 백업 파일 생성


백업 파일 폴더 구조
 
아이튠즈를 이용한 백업이 완료되면 [표 1]의 백업 경로에 백업 파일이 생성된다.
 

 운영체제 백업 경로
 Windows XPC:\Documents and Settings\[user name]\Application Data\Apple Computer\MobileSync\Backup\
 MAC OS X~/Library/Application Support/MobileSync/Backup/
 Windows 7C:\Users\[user name]\AppData\Roaming\AppleComputer\MobileSync\Backup\
[표 1] 운영체제 별 아이폰 백업 파일 생성 경로

해당 폴더로 이동하면 [그림 3]과 같이 식별 가능한 파일명과 SHA1으로 해시(hash)된 파일명들이 존재한다는 것을 알 수 있다. 식별이 가능한 파일들과 그렇지 않은 파일들의 기능을 알아보자.


[그림 3] 백업 파일이 생성된 폴더

• Manifest.mbdb: 백업 폴더 안에 저장되어 있는 파일명을 기록
• Info.plist: Build Version, Device Name, GuID, ICCID, Last Backup Date 등을 기록
• Manifest.plist: Applications, Date, Encrypt 유무, System Domain Version 등을 기록
• Status.plist: BackupState, UUID, Version 등을 기록
• App Files: 파일명을 SHA1으로 해시하여 저장


백업 파일 해석 도구
 
아이폰 백업 파일 경로로 이동하여 파일을 확인해도 어느 파일이 어떤 기능을 하는지 파악하기는 쉽지 않다. 다행히 백업 파일을 식별 가능하게 해주는 도구들이 있다. 이러한 도구는 아래 URL에서 다운로드 할 수 있다.



백업 파일 식별 도구 • iPhone Backup Extractor : http://www.iphonebackupextractor.com/
• iBackupBot : http://www.icopybot.com/itunes-backup-manager.htm

이러한 도구들은 Manifest.mbdb, Info.plist, Manifest.plist, Status.plist, App files를 파싱하여 보여준다. 파싱이 완료되면 [그림 4]와 같이 백업 파일들의 폴더 구조를 볼 수 있어 손쉽게 파일에 접근 및 확인이 가능하다.


[그림 4] 백업 파일의 폴더 구조


Manifest.mbdb 파일의 구조와 정보

Manifest.mbdb 파일은 백업파일들에 대한 도메인과 파일 경로(PATH)를 저장하고 있다. 도메인은 11개의 시스템 도메인(System Domain)과 1개의 애플리케이션 도메인(Application Domain)이 있다.


• System Domain
RootDomain, MediaDomain, SystemPreferencesDomain, TonesDomain, CameraRollDomain, BooksDomain, MobileDeviceDomain, HomeDomain, KeychainDomain, WirelessDomain, ManagedPreferencesDomain
• Application Domain
애플리케이션 도메인은 AppDomain-App_Name과 같은 형태로 표현된다(ex : AppDomain-com.apple.iBooks).

Manifest.mbdb의 파일 구조는 [표 2]와 같다.



 Offset 데이터 설명
 4byteMbdb0x05Signature
 StringAppDomain-net.daum.mapsDomain Name
 String Library/Preferences/net.daum.maps.plistFile Path
 4byte 0x000001F5User ID
 4byte 0x000001F5Group ID
 4byte 0x500E6FBALast Modified Time
 4byte 0x500E6FBALast Accessed Time
 4byte 0x500E6FBACreated Time
 8byte 0x000000000001D25파일의 길이(0x0은 심볼릭 링크나 디렉터리를 의미함)
[표 2] Manifest.mbdb 파일 구조
 

[그림 5] Manifest.mbdb 파일

Last Modified Time, Last Accessed Time, Created Time은 Unix Numeric Time으로 Big Endian 형식을 띄고 있다. 해당 시간을 [그림 6]의 DCode를 이용해 확인해보면 ‘2012-07-24 09:49:46’이라는 것을 알 수 있다. 또한 UTC+9으로 계산하면 ‘2012-07-24 18:49:46’이 된다는 것을 알 수 있다. 이처럼 Manifest.mbdb 파일을 확인하면 앱이 아이폰에 언제 설치되었고, 언제 수정되었는지에 대한 내역을 모두 확인할 수 있다.


[그림 6] 디지털 시간 디코더 DCode

파일명은 [그림 7] 및 [그림 8]과 같이 Domain-PATH를 SAH1으로 해시한 값으로 저장된다.


[그림 7] Domain-PATH를 SAH1으로 해시한 값


[그림 8] 해시한 값으로 저장된 파일명


백업 파일을 남기는 중요 흔적
 
[표 3]은 주요 백업 파일의 기능과 도메인-경로를 정리한 내용이다.


 이름 도메인 - 경로 기능
 ContactsHomeDomain - Library/AddressBook/AddressBook.sqlitedb
SHA1 : cd6702cea29fe89cf280a76794405adb17f9a0ee
연락처 및 생성 시간
 CalendarHomeDomain - Library/Calendar/Calendar.sqlitedb
SHA1 : 2041457d5fe04d39d0ab481178355df6781e6858
이벤트 및 생성 시간, 이벤트 발생 시작 시간 및 종료 시간
 SMSHomeDomain - Library/SMS/sms.db
SHA1 : 3d0d7e5fb2ce288813306e4d4636395e047a3d28
SMS 메시지 내용 및 보낸 시간
 Call HistoryWirelessDomain - Library/CallHistory/call_history.db
SHA1 : 2b2b0084a1bc3a5ac8c27afdf14afb42c61a19ca
통화 시도 시간
 Voice MailHomeDomain - Library/Voicemail/voicemail.db
SHA1 : 992df473bbb9e132f4b3b6e4d33f72171e97bc7a 
보이스 메일 및 보낸 시간
 NoteHomeDomain - Library/Notes/notes.sqlite
SHA1 : ca3bc056d4da0bbf88b5fb3be254f3b7147e639c
노트 내역 및 생성 시간
 SafariHomeDomain - Library/Safari/History.plist
SHA1 : 1d6740792a2b845f4c1e6220c43906d7f0afe8ab
마지막 방문 시간
[표 3] 주요 백업 파일의 기능 및 도메인-경로

1. Contacts

Contacts 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/AddressBook/ AddressBook.sqlitedb’이다. 해당 파일은 주소록으로 사용되며, 사용자가 입력한 대화 상대의 주소, 이름, 전화번호, 이메일 등을 기록한다. 또한 생성 시간을 기록있어, 대화 상대의 정보가 언제 입력되었는지 알 수 있다.


[그림 9] Contacts 파일 내 정보

2. Calendar

Calendar 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Calendar/Calendar. Sqlitedb’이다. Calendar 파일은 사용자가 기록해 놓은 일정을 포함하고 있다. 일정 안에는 일정이 시작되는 시점과 종료되는 시점이 기록되어 있으며, 일정에 대한 메모도 포함되어 있기 때문에 포렌식 측면에서 상당히 의미 있는 데이터라 할 수 있다.

 
[그림 10] Calendar 파일 내 정보

3. SMS(Short Message Service)

SMS 파일은 HomeDomain에 위치해 있으며 경로는 ‘Library/SMS/sms.db'이다. SMS 파일은 사용자와 대화 상대의 SMS 기록을 전부 기록하고 있다. 파일 안에는 SMS를 발송한 시간(Mac Absolute Time), 상대방이 SMS를 발송한 시간, 사용자가 상대방이 보낸 SMS를 확인한 시간 등이 기록되어 있다. 또한 SMS의 첨부 파일이 무엇인지, 언제 첨부되었는지에 대한 기록까지 담고 있다. SMS파일은 다양한 시간 정보를 담고 있기 때문에 타임라인(Timeline) 분석 시 매우 유용한 정보를 얻을 수 있다.


[그림 11] SMS 파일 내 정보

4. Call History

Call History 파일은 WirelessDomain에 위치해 있으며 경로는 ‘Library/CallHistory/call_ history.db’이다. Call History 파일은 사용자와 대화 상대의 전화 이력(history)을 기록한 파일이다. 언제 전화가 걸려왔는지, 통화는 얼마나 오래 지속되었는지, 취소되거나 받지 못 한 통화 등의 정보를 저장하고 있다.


[그림 12] Call History 파일 내 정보
 
5. Notes

Notes 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Notes/notes.sqlite’이다. Notes 파일에는 사용자가 기록한 내용이 저장되어 있다. 저장된 내용 외에도 데이터를 기록한 시간이 저장되어 있어 타임라인 분석에 유용하다.


[그림 13] Notes 파일 내 정보

6. Safari

Safari 파일은 HomeDomain에 위치해 있으며, 경로는 ‘Library/Safari/History.plist’이다. Safari History 파일은 사용자가 웹에서 검색한 내용이나 웹 페이지 방문 기록 등이 저장되어 있다. 이 중 검색한 시간(Mac Absolute Time)과 방문 시간 정보도 포함되어 있어 마찬가지로 타임라인 분석에 용이하다.


[그림 14] Safari 파일 내 정보

지금까지 아이폰 백업 파일 생성 과정부터 주요 백업 파일과 각 파일이 저장하고 있는 정보에 대해 살펴봤다. 2부에서는 스마트폰 사용자들이 주로 이용하는 앱 유형에 따른 포렌식 분석 방법 등을 살펴본다.@

출처 : http://blog.naver.com/youseok0?Redirect=Log&logNo=10153805349

2014년 2월 5일 수요일

아이폰 (SMS)문자 백업하기

안녕하세요. Yo구르트입니다.
오늘 ios6 업데이트가 있는 날이었습니다.
먼저 업데이트를 한 사람들 중 문자가 모두 날아가버렸다는 분들이 계시더라구요.
그래서 아이폰 문자 백업하는 방법을 알아보려 합니다.

방법1) 아이폰과 아이튠즈의 동기화
기기명에 우클릭하여 백업을 선택합니다.
윈도우 7에 경우 아래의 경로에 파일들이 생성됩니다.
C:\Users\Administrator\AppData\Roaming\Apple Computer\MobileSync\Backup\랜덤문자40자리
원도우 XP는
C:\Documents and Settings\사용지자\Application Data\Apple Computer\MobileSync\Backup\랜덤문자40자리
중 백업일자로 생성된 폴더에서
3d0d7e5fb2ce288813306e4d4636395e047a3d28
문자관련파일입니다.
※ 확장자가 있는 경우에는 .madata 파일을 없는 경우에는 그냥 이 파일을 찾으시면 됩니다.
다음 파일은 SQL파일 되어 데이터로 변형하는 작업이 필요합니다.

방법2) http://www.iphone-sms.com/
위 사이트로 들어가세요.  아래와 같은 화면이 나오시죠?

방법1) 에서 확인하였던 폴더로 가서 
3d0d7e5fb2ce288813306e4d4636395e047a3d28 파일을 선택합니다.
원하시는 파일 형태를 선택합니다.(저는 엑셀로)
 Submit 버튼을 클릭해주세요!
변환이 완료되면 원하는 곳에 저장하시면 됩니다.
 
방법3) 파일을 한번 확인해볼까요~


누락되는 문자나 날짜오류가 발생할 수 있습니다.
그래도 나름 괜찮지 않나요? 방법도 간단하고(혼잣말) 

[아이폰] 카카오톡 대화내용 백업/복원 방법

오늘은 카카오톡에 대해 살짝 알아 볼까요?

카카오톡 참 많은분들이 사용하죠. 이제 sms를 대체하는 완전체가 된거 같습니다.
오늘 부터는 포스팅 될 내용을 최대한 간단하게 쓸까 합니다.
전 심플을 중시하거든요. 말이 팁이지 팁이 길어지면 읽기도 귀찮으니깐!

디테일 하게 완전 초보 사용자분들을 위해 사진 따박따박 박아가면서
하면 좋겠지만.. 최대한 이해하기 쉽게 적당한 분량으로 올려 보도록 하겠습니다.

카카오톡을 재인증 할때가 많죠.

1.기기를 바꾼다
2.OS를 새로 설치 한다

보통 두가지 경우일 꺼라 생각 됩니다.
하지만 이렇게 재인증을 하게 되면 기존 대화내용이 싹 다 나라 가는 경우가 있습니다
특히 기기변경 후엔 대화내용이 보존 되지 않죠

그래서 카톡에서는 대화내용 이메일 전송 기능을 제공 합니다
하지만 이건 단순한 이메일 전송을 통한 백업 방법이고, 복원은 되지 않습니다.
ipad나 스마트폰 외에 기기에서 카톡 인증후 다시 자신의 폰으로 재인증 할 경우
"다른기기에 연결되어 현재 기기의 카카오톡 서버 연결이 종료되었습니다" 
메세지와 함께 아무 일도 하지 못합니다.

카톡 메세지를 백업하기 위해선 카톡 메세지 내용이 저장되어 있는 파일을 백업해 두어야 합니다.
안드로이드의 경우엔 시스템파일 접근할 수 있는 많은 앱들이 있으니 쉽게 구할 수 있고요
제가 아이폰 유저인 관계로 아이폰 사용 위주로 설명을 드리겠습니다.

아이폰 내부 파일 접근이 가능한 프로그램들이 몇 있습니다.
ifunbox 와 iexplorer 라는 프로그램을 깝니다.
이건 아이폰 내부의 파일을 열람할수 있게 해줍니다. ifunbox를 기준으로 설명 드리면
아이펀박스 실행후 아이폰 응용프로그램 중 카카오톡을 찾습니다.

아이펀박스 다운로드 http://i-funbox.com/version_history.html

카카오톡앱을 찾아 보시면 \apps\kakaotallk\library\privatedocuments\ 폴더에 talk.sqlite 라는 파일을 찾아서 PC에 복사를 합니다. 

2013-10-16 추가 내용
" Talk.sqlite 뿐 아니라
같은 폴더에 있던 나머지 4개 화일 *.sqlite (client_log.sqlite, Message.sqlite-wal, Message.sqlite-shm, Message.sqlite) 까지도 백업하셔야 대화내용 모두 살릴 수 있습니다.

그룹방의 경우 방이 폭이 되지 않았을 경우 방에 있는 유저가 초대를 할 경우 대화내용이 그대로 살아 
남는다고 합니다."

복사 방법은 폴더를 열어 끌어도 되고 혹은 pc로 내보내기 하셔도 됩니다. 그 다음 카톡을 삭제/재설치 후 다시 인증을 받고나서 다시 아이펀박스를 실행해서 아까 pc로 복사 해 두셨던 talk.sqlite 파일을 이전에 복사해온 \apps\kakaotallk\library\privatedocuments\ 경로로 복사를 하시면 됩니다.  

복사후 카톡을 접속 하면 이전의 대화 내용이 복구됩니다. 단, 그룹채팅의 경우는 저장이 되지 않으니 참고하세요.
 
역시 안풀리시거나 궁금한 점이 있으시면 언제든 댓글 주세요^-^
 
2013-10-16 추가 내용
 
"위 방법은 아이폰 이외에도 안드로이드 유저에게도 해당 되는 내용 입니다. 안드로이드의 경우엔
아이폰 보다 더욱 쉽게 내부 파일을 볼 수 있는 방법이 많습니다.(폴더 구조가 아이폰과 동일 한지는
확인해 보지 못 했습니다) 만약 동일 하다면 충분이 백업 후 복구가 가능 할 것입니다.
 
그리고 백업을 하지 못하신 경우엔 제가 아는 한해선 복구 할 수 있는 방법이 없다는 점 인지 하시길 바랍니다.
 
앞서 얘기 했듯이 위 방법을 통해 복구실패할 경우 필자가 책임지지 않습니다.
백업 복구 시도는 본인의 판단 여하에 따라 결정 하시길 당부 드립니다. 
 
마지막으로 도움을 주신 가영부친님께 진심으로 감사 드립니다."
 
 
 
  

2014년 1월 24일 금요일

윈도우 서비스 삭제방법

2가지 방법이 있는데

1. 명령어로 하는방법 ( 도스프롬프트를 열어서 )
    sc delete 서비스이름

    위의 1.번이 서비스 이름이 길어서 잘 삭제가 안되는 경우는 아래의 2.번 참조

2. 레지스트리로 제거하는 방법
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services
    를 확장하면 아래의 서비스 항목들 중에 골라서 제거하면 된다.



2013년 12월 19일 목요일

내부 원격데스크톱 여러개를 외부에서 연결하기( 포트포워딩 설정 내부포트 외부포트 )

원격데스크톱 기본 포트는 3389 이다. 

원격 데스크톱을 내부에 여러개를 외부에서 연결할 경우가 있다.

이것을 8833번 포트로 변경하여 사용하는 예제에 대해서 알아보려 한다.

방법은 2가지가 있는데,

1. 레지스트리로 포트를 바꿔서 사용하는 방법
( HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Terminal Server
  \WinStations\RDP-Tcp
  에서 PortNumber를 열어서 8833을 입력한다. )

2. 공유기 외부포트 주소를 변경하여 사용하는 방법
포트포워딩 설정에 들어가서
연결하려는 컴퓨터 아이피 : XXX.XXX.XXX.XXX
외부포트 : 8833 내부포트 : 3389
의 설정을 추가하면 간단히 끝남.

다만 위의 2가지의 경우 외부에서 접속할때 아이피주소:8833 으로 포트번호를
적어서 접속하여야 한다.

2013년 12월 2일 월요일

내 컴퓨터에 접속 시도한 아이피 찾기와 차단하기

netstat -ano | findstr 3389

로 찾으면,

< 본인컴퓨터 로컬네트워크 주소와 : 포트 > < 접속한 외부아이피 주소와 : 포트 >

이렇게 표시된다.

자세한 내용은 아래의 출처를 참고

출처 : http://blog.naver.com/blogkay/140194074483

2013년 11월 25일 월요일

아이폰 펌웨어 다운그레이드 하기


ios7에서 다시 6.1.4로 돌아가는방법은 이렇습니다.
다운그레이드 같은 경우에는 공장초기화를 하는것 입니다. 즉 아이폰5를 처음 받았을 때처럼 되돌린다는 말인데요. 방법은 간단합니다.(처음하실경우에는 좀어려우시겠지만) 
1,컴퓨터와 연결후 백업을 먼저 해둔다.
2,http://www.ipswdownloader.com/download-iphone-ipsw-files.php에 들어가셔서 기종을 확인후 원하는 소프트웨어 버전을 받는다.(아이튠즈 꺼두지마세요 꼭 켜두세요)
3,받은후 아이폰의 홀드버튼과 홈버튼을 10초간 꾹누른다.(폰이꺼져도 놀라시지마시고 계속누르세여)
4,10초뒤에 홀드 버튼에서 손을 떼고 홈버튼을 떼지않고 10초간 누른다(3번후 홈버튼도 떼지시마시고 홀드버튼을10초간누른뒤 떼주세요)
5,화면은 불이 안들어오나(폰에 아이튠즈 연결창이 뜨거나 검정화면인경우도 있는데 상관없습니다) 아이튠즈에는 인식이 됩니다
6,복구모드라고 뜨실거에요 업데이트를 눌러주세요.
7,만약 복구모드에 나오는 아이폰의사진이 ios7이라면 shift버튼과업데이트를 누르시면 펌웨어찾기가 나옴니다. 그때 2번에서 받으신 파일을 찾으셔서 하시면 다운그래이드 성공입니다