티스토리 뷰

 


위의 샷 한번쯤 TV에서 보셨죠? 요즘 언론에서 논란이 되고 있는 아이폰 GPS 를 통한 이동경로 위치 추적의 결과 입니다.
해당 프로그램은 아이튠즈와 동기화하면 만들어지는 백업파일에 존재하는 consolidated.db 라는 파일로 위도/경도/시간데이터등이 간략하게 저장되어 있는것을 화면에 보여주는 것입니다.
http://petewarden.github.com/iPhoneTracker/ 에서 다운받으실 수 있으며 실행을 하게 되면 PC에 백업되어있는 파일을 불러내어 지도상에 표시하게 됩니다.
상단의 SELECT BACKUP을 통해 과거에 백업해놓은 날짜별로 선택할 수 있으며 좌측의 + - 를 통해서 좀더 세부적으로 확인이가능합니다.
개발자의 FAQ를 보면 추출원리에 대해서 자세히 나와있습니다.
1. /Users/<your user name>/Library/Application Support/MobileSync/Backup/ 안에 해당 파일이 저장된다. 
2. 매번 아이튠즈등에 동기화 할때마다 새로운 폴더에 복사되고 그 폴더의 이름은 무작위로 이름지어진다.
3. 그러나 Manifest.mbdb 또는 Manifest.mbdx 와 같은 인덱스 성격의 파일은 해당 폴더에 실제이름의 목록을 포함하고 있다.
4. 운좋게 이것은 파이선스크립트를 통해 컨버팅할 수 있다.
http://stackoverflow.com/questions/3085153/how-to-parse-the-manifest-mbdb-file-in-an-ios-4-0-itunes-backup
5. 해당 스크립트를 다운받고 grep으로 파일을 찾아본다
~/Downloads/iphonels.py | grep "consolidated"

6. 그러면 아래와 같은 형태의 문자열이 나타날 것이다.
-rw-r--r-- 00000000 00000000 28082176 1297319654 1297319654 1282888290 (4096c9ec676f2847dc283405900e284a7c815836)RootDomain::Library/Caches/locationd/consolidated.db

7. RootDonain 앞의 괄호안의 텍스트가 위치데이터를 보유하고 있는 실제 파일이며 해당 파일은 SQLite DB 이기 때문에 SQL 표준 브라우저를 쓰거나 파폭 플러그인을 사용해도 된다. 개발자는 파폭 플러그인을 사용했다.
https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/
8. 파일을 열고 'CellLocation' 테이블에 쿼리를 날려서 보면 수천만개의 포인트를 찾을 수 있다. 가장 흥미로운것은 해당 데이터는 위도, 경도 위치 및 타임스탬프를 표시하며 2001년 1월 1일 이후 초단위로 시간을 보여준다.
`grep CellLocation *` from the Backup folder

해당 로그를 통한 기발한 어플을 기대함과 동시에 애플이 저정보를 왜 저장하는지도 약간은 의문입니다.
저걸 통해 우린 어떤 부가정보를 얻어낼 수 있을까요?
댓글