얼마전에 다녀온 휴가때 찍은 사진을 친구로부터 받은 적이 있습니다.
기억으로는 굉장히 많이 찍었던 것 같은데, 받은 사진을 보니 몇장이 비는 것 같아서
"우리 어디서 찍지 않았던가"라고 되물으니
"몰라 사진없어" 라고 대답하더군요
다행히 친구가 보내준 파일의 압축을 풀어보니 Thumbs.db라는 파일이 있어서 Thumbs.db로 사진을
복구시켜 이건 왜 안줬어라고 협박(?)해 원본을 다시 받아낼 수 있었습니다.

가끔 사진을 모아놓거나 드라마나 영화등 동영상을 모아놓는 폴더를 열어보면 다음과 같이 Thumbs.db 라는 파일을 종종 보실 수 있습니다. (물론, 폴더옵션에서 숨겨진 파일 보기에 체크를 하셔야 보이지만요)

또한 p2p에서도 Thumbs.db라는 파일명으로 검색하면 굉장히 많은 파일을 확인하실 수 있습니다

그렇다면 Thumbs.db에는 어떤 내용이 있을까요
윈도우 폴더에서 미리보기를 사용하는 경우 해당 파일에 대한 미리보기정보를 Thumbs.db에 담습니다.
(흔히들 thumbnail-엄지손톱- 이렇게 얘기하시는데 엄지손톱만하게 보여주기 때문에 이렇다면
thumb는 엄지이기때문에 조금 큰것일까요? 쿨럭;;
여튼 thumbnail이란 보려고 하는 이미지가 용량이 크거나, grid형태로 보여주기 위해 조그만 이미지로 보여줄 때 사용하는 것을 말합니다)

또한, 그림파일(jpg, bmp, gif)이나, 동영상등 형식에 상관없이 미리보기로 보여질 이미지들은 모두 jpg의 해더형식으로 thumbs.db에 저장이 됩니다.
(참고 : jpg의 file header(시작점)의 시그니처는 FF D8 이며, footer(끝점)는 FF D9 입니다.)

Thumbs.db에 모든 미리보기 파일이 JPG형식으로 저장되며, JPG의 시작점과 끝점의 시그니처도 알았으니
winhex로 해당 파일을 열어서 복구를 시켜보도록 하겠습니다.

1). Find Hex Values로 FFD8을 찾습니다.

2) 우선 Beginning of block으로 체크 후 FFD9를 찾습니다.

3) 찾은 부분에 End of block으로 체크 후 선택된 영역(FF D8 ~~ FF D9까지) 통채로 새파일 만들기로 집어넣습니다.

4) 새로운 파일을 만들었으면 파일명.jpg로 저장합니다.


5) 이제 확인해볼까요?

p2p에서 아무파일이나 다운받은거라 혹시나 걱정(?)을 했는데 다행히도 가족 비디오 같은 장면이 나왔네요

하지만 여기서 의문이 드는것은 제가 처음에 사진을 받았을 때 몇장이 없어서 Thumbs.db를 확인하여 파일을 복구하였다고 했는데, 사진파일이 한두장도 아니고 이처럼 수동으로 다 했을까요?
물론, 자동화 툴이 있죠 "Thumbnail Database Viewer"이라는 툴입니다.


위와 같이 폴더를 선택하였을 때 폴더안에 Thumbs.db파일이 존재할 경우 목록이 보여지며, Thumbs.db파일을 선택하면 미리보기로 저장된 화면들이 보여지게 됩니다.

Thumbs.db파일의 역활을 아시는분들은 이미 지웠겠지만, 이 글을 통해서 아시는 분들은 이제 지우도록 해야겠죠?
파일탐색기에서 검색해서 지우는 방법도 있지만 Thumbs Cleaner를 이용하셔도 됩니다
(포스팅하면서 확인해보니 Thumbs Cleaner은 Thumbs.db라는 파일명만 찾는군요;;이름이 바뀌거나 다른파일을 Thumbs.db로 만들어 놓으면 잘못된 결과를 보여줍니다)

또한, 지우셨으면 이제부터 안만들어지도록 해야겠죠?
윈도우탐색기 -> 폴더 -> 도구옵션 -> 보기에서 미리 보기 캐시 안 함을 체크해주시고 모든 폴더에 적용을 눌러주시면 이제 앞으로 만들어지지 않습니다.

다른 방법으로는 시작 -> 실행 -> gpedit.msc 를 입력하여 그룹 정책을 띄우시고
사용자 구성 -> 관리 템플릿 -> Windows 구성 요소 -> Windows 탐색기를 선택 후
다음과 같이 "축소판 그림 캐싱 사용 안 함"를 선택합니다.

다음과 같은 화면에서 축소판 그림 캐싱 사용 안 함을 '사용'으로 바꿔 주고 확인을 눌러줍니다.

이제 파일을 미리보기 하셔도 Thumbs.db파일은 생성되지 않을 것입니다.


블로그 첫 글이 약간 허접하네요 -ㅅ-; 다음에는 조금 색다른 아이디어로 포스팅 하겠습니다

'Header 가지고 놀기' 카테고리의 다른 글

winDBG로 Process 리스트 및 Process 검증하기  (0) 2011.03.11
PE구조 알아보자  (0) 2011.02.10
Prefetch Header 분석  (4) 2010.01.08
Posted by 궁상박군
: