PHP 勉強会で発表
バイナリネタで発表してみました。
PHP で簡単にバイナリ弄れるよ。という話しです。
- パワーポイント版
- Wiki 版
当初は、画像ファイルからコメントを抜き出すのと
Flash SWF 改変をネタにして資料を作っていたのですが、
- コメント抜き出しても面白くない
- Flash SWF は bit と signed の合わせ技で高度すぎる
というのに気付き、じゃぁ、JPEG から GPS 情報を抜き出してみるか。
インパクトあるし。と、
Exif 仕様書を読み始めたら、これが思った以上に複雑な構造になってて、
5時間位かけて何とか GPSInfo を抽出して、
その経緯をまとめたプレゼン資料をギリギリ直前に完成させました。
あぁ。心臓に悪い…
SWF 改変の方は既にコードがあるので、bit と signed と
諸々の処理の説明資料を作るのに集中できます。
次回の発表の機会を狙ってみようっと。
サンプルコード
汚いけど一応動きます。*1
- http://diary.awm.jp/~yoya/data/2010/05/11/jpegdump1_chunk.phps JPEG 分割
- http://diary.awm.jp/~yoya/data/2010/05/11/jpegdump2_exif.phps Exif 分割
- http://diary.awm.jp/~yoya/data/2010/05/11/jpegdump3_gps.phps GPSInfo 分割
。。。
Exif Reader
Exif を解析するツールです。Windows で動きます。
iPhone で撮った写真の JPEG ファイルをお持ちの方がいれば、是非、
このツールで写真を写した場所がポイントされるのを確認して、楽しんでください。
というか、怖いですねw
*1:以下の3つ EOI の所に 0xDA を記述しているバグがありました、2014/09/21に修正しました。thanks! > takoさん