Programming/Programming Talk

Thumbs.db 파일에 관한 고찰

포레 2014. 12. 6. 18:01

 

 

( ’ ω’)

 

[시험해볼 DB 파일]

Thumbs.db

 

토나코이 어카이브를 전부 풀고, 덤으로 Thumbs.db 파일이 보여 이 파일에 대해 잠깐 분석해보았다.

 

일단, 자세한 설명에 앞서, Thumbs.db 파일은 기본적으로 OLE 구조로 아래의 프로그램으로 풀 수 있다.

 

http://foreblog.tistory.com/730

 

OLE 구조에 대해선 위 링크의 pdf 문서를 보면 자세히 알 수 있다.

 

풀고보면 안보이는 경우가 대다수인데, 뭔지 모르겠는데 또 패킹되어 있다.

 

 

이런식으로 패킹되어 있다.

( 가운데 3은 뭔가 타입인듯 한데, 분석할 파일 수도 적어서 분석 불가...

하지만, 가운데 숫자 없어도 푸는덴 지장 없음. )

 

StructSize 크기는 최소 0x0C 크기를 갖고, 그 뒤로 넘어가는 코드는 정확히 뭔지 모르겠다.

( 개인적인 추측으론 File Size 뒤 4bytes 의 0은 reserved. 뒤 8bytes 는 Time Stamp 로 추정됨. )

 

Structure Size 다음 오프셋으로 넘어가면 FF D8 부분이 보이고

 

조금만 옆을 더 보면 JFIF 라는 부분이 보이는데 조금만 검색해보면 JPEG 포멧인걸 알 수 있다.

 

JPEG 포멧의 끝 부분은 FF D9 라는 오프셋이 붙는데, 한번 확인해보자.

 

끝 오프셋 계산 : File Size (0x095F) + Struct Size (0x18) = 0x0977

 

 

끝 부분이 FF D9 이므로 JPEG 인건 확실해졌다.

 

이를 통해, 언패킹하면 . . .

 

 

 

매우 잘 보인다.

 

덤으로 이에 관련한 파이썬 소스

 

ThumbsInFile.py