Security/Forensics
[Artifact] 이미지 포렌식 - JPEG 구조
bonggang
2020. 1. 22. 16:50
1. JFIF
SOI & App0 구조
오프셋 | 마커 | 사이즈 | 의미 | 데이터 |
0x00 | SOI | 2 | SOI(Start Of Image) | FF D8 |
0x02 | APP0 | 2 | JPEG/JFIF | FF E0 |
0x04 | 2 | App0 데이터 크기(length~ythumbnail) | ||
0x06 | 5 | JFIF 고정 문자열 | 4A 46 49 46 00 | |
0x0B | 2 | major version & minor version | ||
0x0D | 1 | Density units | ||
0x0E | 2 | Xdensity | ||
0x10 | 2 | Ydensity | ||
0x12 | 1 | Xthumbnail | ||
0x13 | 1 | Ythumbnail | ||
0x14 | 3*n | Thumbnail (n=Xthumbnail * Ythumbnail) |
App1 구조
오프셋 | 마커 | 사이즈 | 의미 | 데이터 |
0x00(0x14) | APP1 | 2 | JPEG/Exif[2] | FF E1 |
0x02(0x16) | 2 | 데이터 길이 | ||
0x04(0x18) | 5 | Exif\0\0 | 45 78 69 66 00 00 | |
0x09(0x1E) | 2 | TIFF 파일 헤더 - ByteOrder (big endian: 4d 4d / little endian: 49 49) |
||
0x11(0x20) | 2 | |||
0x13(0x22) | 4 | 0th IFD Offset(=0x00000008) |
오프셋 | 마커 | 사이즈 | 의미 |
0x00(0x26) | 2 | 개수, 0th IFD | |
0x02(0x28) | 2 | 태그 | |
0x04(0x2A) | 2 | 타입 | |
0x06(0x2C) | 4 | Component 개수 | |
0x10(0x30) | 4 | value offset | |
... | ... | ... | ... |
4 | Next IFD Offset |
GPS Info
GPS Tag: 8825 -> 위치 이동: 00 00 07 CA+1E = 7E8
위도 및 경도 읽기
- 위도 및 경도의 타입: 05(Rational Type: 8byte를 기준으로 앞의 4byte/뒤의 4byte 한 값)
- 위치 이동: 00 00 08 6C + 1E = 88A
-> 24/1, 2C/1, DB9/64 => 36; 44; 35;