No img


[Artifact] 이미지 포렌식 - JPEG 구조

Posted by 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;