SWFのバイナリーを読む
SWFファイルの仕様は一般に公開されています。
公開されているので、読んで見ることにしました。
ちょっとした時間にすることがなくなってしまうときなど、の暇つぶしに
よろしいとおもいます。 特にノートPCが
壊れてしまっており、知人のパソコンで作業をしている私は、
暇なとき手持ち無沙汰になります。
最初はパソコンがないということが、
読書をしたり、人と話をしたりすることにつながり、
人間的な生活をしているなぁーと感じていましたが、そろそろ飽きてきました。
SWFのバイナリーを読む
とりあえず仕様書を手に入れます。仕様書は
Macromedia Flash File Format (SWF) Specification Licenseで手に入ります。
でも私が読んでいるのはバージョン4の仕様書です。
SoftLookUp.COMの
ここで
手に入ったものを読んでいます。
後、
Macromedia Flash Lite for the i-mode Service by NTT DoCoMoをちらちらと・・・。
あると便利にもの
バイナリーエディター、とOpenSWF.ORGで手に入るswfdumpです。
SWFファイルの情報を表示してくれます。とても便利です。
たとえば、こんな空のSWFをswfdumpを用いると
こんな感じに表示されます
とても便利です。
・・・あと仕様書はイントロから読みましょう。・・・・?
思い出そう
ビット演算
論理積(&)
1 0 → 0
1 1 → 1
0 0 → 0
0 1 → 0
論理和(|)
1 0 → 1
1 1 → 1
0 0 → 0
0 1 → 1
XOR(^)
1 0 → 1
1 1 → 0
0 0 → 0
0 1 → 1
ビットシフト
"11111 >> 2 "→"00111"
ビットシフト
"11111 << 2 "→"11100"
使いかた
typedef unsigned char byte;
・・・・
{
byte data0=0;
byte data1=1;
data0 = data0 & data1;
data0 = data0 << 2;
}
|
まだまだ思い出す
ファイルへの書き込み
fopen("ファイル名","wb");
fwrite(データー名,基準となるサイズ(byte),基準となるサイズがどのくらほしい,ファイルポインタ);
fclose(ファイルポインタ);
構造体とtypedef
デフォルトが構造体ポインター
typedef struct
{
} 名前_s;
typedef 名前_s *名前
などなど・・・
きりがないので書くのはやめましょう。
久々のC言語なのでけっこう忘れています。
現在、勘をとりもどかすために読んでいるサイト
パソコン初心者の館
のC言語の診断室と
WisdomsoftのC言語とMingのソース。
なぜbit演算が必要かというと、5bitや11bitごとに書き込む情報があるので
8bitごとにした書き込めないfwrit()をもちいるにはbit演算が必要になるからなのさ。
よし、次は(いつか)書いてみよう。
参考にしたサイト文中にでてこなかったもの
FWiki-jaSWFで検索してみてね
SSWF
osdev-jSWFで検索してみてね
WWWで利用されるグラフィック技術
|