マジックナンバーまとめ

##はじめに
偉大なるfileコマンドを使えば、何のファイルであるかすぐに知ることができる。
しかし、目で見てファイルを判断しなければならない場合も存在する。
よって、ファイルの"マジックナンバー"を集めようと思う。
（正確にはマジックナンバーというより、ファイル先頭の共通文字列です。)
**※まだ途中です**

##注意
特定のファイルから ファイルを抽出するならば`foremost`を使うといいです
http://foremost.sourceforge.net/

* インストール

READMEよむといい

* 使い方

`$ foremost hoge.png`
`$ foremost binary`

##調査環境
BZ:shift-jis,ASCII,Unicode(utf-8)
Stirling:shift-jis,ASCII


##画像
|拡張子|Binary(8)|Binary(10)|Binary(0x16)|ASCII|UTF-8|Shift-jis|
|:----|:-----|:-----|:---|:--------|:--|:--|
|png|211 120 116 107|137 80 78 71|89 50 4E 47|臼NG|.PNG|臼NG
|jpeg| 377 330 377 340 | 255 216 255 224 | FF D8 DD E0| ....| ...|.ﾘ.|
|jpg|377 330 377 356|255 216 255 238|FF D8 FF EE|....|....|.ﾘ.|
|pdf|45 120 104 106 55 61 56 63|37 80 68 70 45 49 46 51|25 50 44 46 2D 31 2E 33|%PDF-1.3|%PDF-1.3|%PDF-1.3
|pdf|45 120 104 106 55 61 56 64|37 80 68 70 45 49 46 52|25 50 44 46 2D 31 2E 34|%PDF-1.4|%PDF-1.4|%PDF-1.4
|GIF(89a)|107 111 106 70 71 141|71 73 70 56 57 97|47 49 46 38 39 61|GIF89a|GIF89a|GIF89a|
|GIF(87a)|107 111 106 70 67 141|71 73 70 56 55 97|47 49 46 38 37 61|GIF87a|GIF87a|GIF87a|
|BMP|102 115|66 67|42 4D|BM|8B|BM|
|PSD|70 102 120 123|56 66 80 83|38 42 50 53|8BPS|8BPS|8BPS|
|PGF|120 107 106|80 71 70|50 47 46|PGF|PGF|
|EPS|45 41|37 33|25 21|%!|%!|%!|
|TIFF|a|a|00 2A|MM.*|MM.*|MM.*|
|ICO(アイコン)|00 00 01|00 00 01|00 00 01|....|....|....|
|ICO(カーソル)|00 00 02|00 00 02|00 00 02|....|....|....|
1. AIファイル:AIファイルの元はPGF。(PDFのなかにPGFで保存されている。)
[参照](https://en.wikipedia.org/wiki/Adobe_Illustrator_Artwork)

2. pdf は xがバージョンとなる。
ex.
2E 33 -> PDF-1.3
2E 34 -> PDF-1.4

3. EPSは正確にはPostScript言語の文章ファイル
4. ICOはアイコン用とカーソル用で分かれている。[参照](http://www.setsuki.com/hsp/ext/ico.htm)

##音声・動画
|拡張子|Binary|ASCII|UTF-8|SHIFT-JIS|
|:----|:-----|:-----|:---|:--------|
|mp3|FF F3 40 C0|ID3|ID3|ID3|
|wave|52 49 46 46 xx xx xx xx 57 41 56 45|RIFF....WAVE|RIFF....WAVE|RIFF....WAVE|
|wmv|30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C|0&.u.f.......b.l|0&.u.f.......b.l|0&ｲu伺ﾏ.ｦﾙ.ｪ.bﾎl|
|mov|00 00 00 14 66 74 79 70 71 74 20 20 00 00 00 00 71 74 20 20 00 00 00 08 77 69 64 65|....ftypqt__....qt__....wide|....ftypqt__....qt__....wide|....ftypqt__....qt__....wide|
|avi|52 49 46 46|RIFF|RIFF|RIFF|
|mp4|00 00 00 20 66 74 79 70 69 73 6F 6D 00 00 02 00|..._ftypisom....|..._ftypisom....|..._ftypisom....|![mp4h.png](https://qiita-image-store.s3.amazonaws.com/0/82224/6c6fd202-6710-cb6a-78ab-c7dea9958abe.png "mp4h.png")![mp4t.png](https://qiita-image-store.s3.amazonaws.com/0/82224/1c57c5d1-6034-7fcb-54bd-1aaa814e0c76.png "mp4t.png")|
|mkv|1A 45 DF A3 01 00 00 00 00 00 00 23 42 86 81 01|.E.........#B...|.E.........#B...|.Eﾟ｣.......#B・.|
|3gp|00 00 00 18 66 74 79 70 33 67 70 36 00 00 01 00|....ftyp3gp6....|....ftyp3gp6....|....ftyp3gp6....|
|asf|30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C|0&.u.f.......b.l|0&.u.f.......b.l|0&ｲu伺ﾏ.ｦﾙ.ｪ.bﾎl|


※waveの xxxx(4byte)はファイルサイズが入る
※mp3は合っているか分からない。
※"_"(unser bar)は空白の代わり
mp3(MPEG-1 Audio Layer-3)の規格書は有料らしい
##実行ファイル
|拡張子|Binary|ASCII|UTF-8|SHIFT-JIS|
|:----|:-----|:-----|:---|:--------|
|exe|4D 5A|MZ|MZ|MZ|
|elf|7F 45 4C 46|.ELF|.ELF|.ELF|

-------
###参考
[MP3オーディオ・ファイルを覗いてみる（基本型)](http://norte.coron.jp/sound/mp3_01.html)
[movファイルフォーマット](https://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf) ※7.8MBあります。
[AVI解説](https://e182bb01e8864f37f9ce365b879822eb6da3f1f1.googledrive.com/host/0B-PAN4aatmy1ZGctNFU0YlFJc2c/doc/avifileformat.html)