Top > presen > PHP > binary2

勉強会

発表内容

  • pure PHP でバイナリ処理 ~ IO_Bit とその応用 ~
  • 第52回に発表した presen/PHP/binary の続き。

前回の復習

  • バイナリって何? (エディタで開いてもよく分からないデータ)
  • バイト単位での処理は string として扱えば OK
  • 懸念点の払拭。途中の \0 とか 8bit スルーとか。

IO_Bit のご紹介

  • バイナリ処理のパッケージ。
  • http://openpear.org/package/IO_Bit ビットストリームの動作原理
  • バイト単位、ビット単位での read/write が可能。
  • 特定オフセットを書き換えたり、16進 dump したりといった便利関数

応用例1) IO_SWF

  • Flash の実行ファイルの SWF の中身を書き換える
  • http://openpear.org/package/IO_SWF
  • SWF の中身をダンプするデモ
  • SWF 内の画像を入れ替えるデモ

実は

  • SWFEditor を導入すると PHP 自体を C 言語で機能拡張するので、IO_SWF と大体同じような機能でずっと軽い負荷。サービスで使うなら出来ればこちらで。
  • http://sourceforge.jp/projects/swfed/

応用例2) IO_Zlib

  • gzuncompress 相当の処理を IO_Bit で実装。
  • http://openpear.org/package/IO_Zlib
  • Zlib / Deflate の簡単な説明。
  • 実装の説明。
  • Zlib 伸長するデモ (gzcompress したデータが元に戻るところ)

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Tue, 25 Oct 2011 22:03:50 JST (4560d)