File signature (magic number)
들어가며
파일 시그니처(또는 매직 넘버)는 파일 형식을 식별하는 데 사용되는 특정 바이트 패턴이다. 이는 일반적으로 파일의 시작 부분에 위치하며, 해당 파일의 형식이 무엇인지를 나타내는 데 사용된다.
매직 넘버(또는 파일 시그니처)는 파일의 내용이 어떤 형식으로 저장되어 있는지를 나타내는 바이트 또는 문자열이다. 이것은 주로 파일의 첫 부분에 위치하여 파일의 종류를 식별하는 데 사용된다. 즉 해당 파일의 형식이 무엇인지를 나타내는 데 사용된다. 이러한 매직 넘버는 파일 형식을 빠르게 식별하고 적절한 처리를 할 수 있게 도와준다.
예를 들어, JPEG 이미지는 항상 0xFFD8로 시작하고, PNG 이미지는 항상 “0x89504E47”로 시작한다. 이들은 각각 JPEG와 PNG 파일의 매직 넘버라고 할 수 있다. 매직 넘버는 다양한 문맥에서 사용되며, 특히 다음과 같은 경우에 사용된다.
파일 형식 식별: 파일 형식을 정확하게 식별하려면 파일의 매직 넘버를 확인하다. 이것은 파일 확장자만으로는 파일의 실제 형식을 알 수 없는 경우에 특히 중요하다. 예를 들어, .txt 확장자가 붙은 파일이 실제로는 .jpg 파일일 수 있다. 포렌식 공부를 하다보면 종종 네트워크 파일인줄 알고 열었는데 알고보니 이미지 파일인 경우도 많다. 물론 다른 종류의 파일도 가능하다.
프로그램과 라이브러리의 버전 식별: 많은 프로그램과 라이브러리는 자신들의 버전 정보를 매직 넘버로 저장한다. 이를 통해 다른 프로그램이 해당 프로그램이나 라이브러리와 호환되는지를 확인할 수 있다.
메모리에서 특정 유형의 데이터 블록 식별: 많은 프로그램은 메모리에 저장된 데이터 블록을 식별하기 위해 매직 넘버를 사용한다. 이를 통해 프로그램은 메모리가 올바르게 구성되었는지 확인하고, 잘못된 접근이나 오류를 방지할 수 있다.
매직 넘버를 사용하는 것은 파일이나 데이터 블록의 형식을 식별하는 간단하고 효과적인 방법이다. 그러나 매직 넘버는 형식이나 버전의 전체적인 정보를 제공하지는 않으며, 이러한 정보를 얻으려면 파일이나 데이터 블록의 나머지 부분을 분석해야 할 수도 있다.
매직넘버
Hex | File | File Type Description |
---|---|---|
FF D8 FF | JPEG (jpg) | A format for compressed image files |
89 50 4E 47 0D 0A 1A 0A | PNG | A format for compressed image files |
47 49 46 38 | GIF | A format for image files, often used for animated images |
25 50 44 46 | A format for documents | |
50 4B 03 04 | ZIP | A format for compressed files and folders |
52 61 72 21 1A 07 00 | RAR | A format for compressed files and folders |
FF FB 30 44 | MP3 | A format for audio files |
00 00 00 18 66 74 79 70 | MP4 | A format for video and audio files |
1A 45 DF A3 | MATROSKA (mkv) | A format for video and audio files |
52 49 46 46 xx xx xx xx 57 41 56 45 | WAV | A format for audio files |
52 49 46 46 xx xx xx xx 41 56 49 20 | AVI | A format for video files |
7F 45 4C 46 | ELF Executable | A format for executable files in Unix and Unix-like systems |
4D 5A | Windows Executable (exe) | A format for executable files in Windows |
42 4D | BMP | A format for image files |
49 49 2A 00 or 4D 4D 00 2A | TIFF | A format for image files |
6D 6F 6F 76 | QuickTime (mov) | A format for video and audio files |
4D 54 68 64 | MIDI | A format for music files that store musical notes and timings |
43 44 30 30 31 | ISO Image | A format for disk image files |
1F 8B | GZIP | A format for compressed files and folders |
75 73 74 61 72 | TAR | A format for compressed files and folders |
46 4F 52 4D | AIFF | Audio Interchange File Format for audio files |
49 44 33 | MP3 ID3 Tag | A format for audio files |
66 74 79 70 33 67 | 3GP | A format for video files on mobile devices |
66 74 79 70 6D 70 34 | MP4 | A format for video and audio files |
25 21 50 53 | PostScript (EPS) | A format for vector images and prints |
D0 CF 11 E0 A1 B1 1A E1 | Microsoft Office Document | For Word (.doc), Excel (.xls), Powerpoint (.ppt) |
52 61 72 21 1A 07 01 00 | RAR | A format for compressed files and folders |
7B 5C 72 74 66 31 | RTF | A format for interchange of text documents |
4D 4D 00 2B | TIFF (big endian) | A format for image files |
49 49 2A 00 | TIFF (little endian) | A format for image files |
66 74 79 70 69 73 6F 6D | MP4 | A format for video and audio files |
00 00 01 00 | ICO | Icon format for Microsoft Windows |
00 00 02 00 | CUR | Cursor format for Microsoft Windows |
4D 4D 00 2A | CR2 | Canon’s raw camera image format |
49 49 2A 00 10 00 00 00 CR | CR2 | Canon’s raw camera image format |
80 2F 11 03 | DNG | Adobe’s raw image format |
77 4F 46 46 | WOFF | Web Open Font Format |
77 4F 46 32 | WOFF2 | Web Open Font Format version 2 |
50 4B 03 04 14 00 00 00 | DOCX, XLSX, PPTX | Microsoft Office Open XML Format |
38 42 50 53 | PSD | Adobe Photoshop’s native format |
이 테이블은 주요 파일 형식의 일부만을 포함하고 있습니다. 파일 형식이나 시그니처에 대한 더 자세한 정보는 해당 파일 형식의 공식 문서나 사양서를 참조하시는 것이 좋습니다.
댓글남기기