These pages are written by only Japanese.
|
Namazu for hns による簡易全文検索です。 詳細は 詳細指定/ヘルプをご参照下さい。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||
require 'SWF.rb' data = IO.read("/home/yoya/flash/ffxi2.swf") swf = SWF.new(data.force_encoding("BINARY")); swf.dump()※ force_encoding しないと UTF-8列だと思われるので、 UTF-8 的にイリーガルなデータが処理できなくなるという。
Signature=FWS Version=4 FileLength=351150 RECT: (-1639, -1639)-(-1127, -1257) FrameRate=15 FrameCount=40ヘッダ解析成功。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5802 yoya 17 0 805m 610m 3648 R 0.3 61.0 242:53.69 skype自宅で Skype ボット実験用に動かしている Skype for Linux がやんちゃしてる模様。
Signature=FWS Version=4 FileLength=2704 RECT: (bits=14) (0, 0) - (240, 240) FrameRate=8.0 FrameCount=40 Type=9 Length=3 Type=1 Length=0 <略> Type=1 Length=0 Type=0 Length=0
a = 0 if (a) p true else p false end実行結果
trueうわーぃw
c = 1 + 1/2 p c実行結果
1うははーいw
| Header | Tag1 | Tag2 | ... | Tag(End) |Tag はコンテンツの種類(画像なのか音声なのか文字なのか。とか)毎に 中身(のデータ構造)が異なるので、Tag を継承させて Tag_DefineBitsJPEG とか Tag_DefineSound みたいに実装していきたい。
Signature=FWS Version=4 FileLength=2704 RECT: (bits=14) (0, 0) - (240, 240) FrameRate=8.0 FrameCount=40 Type=9(Unknown) Length=3 <略> Type=1(Unknown) Length=0 Type=0(End) Length=0それっぽく出来た。
class SWF_Tag end class SWF_Tag_End < SWF_Tag def initialize(bit_in, length) @Content = bit_in.get_string!(length) end endFoo_Baa < Foo という記法で OK
class Foo def initialize(foo) end end className = "Foo" foo = <コンストラクタに渡したい適当な値> klass = Object.instance_eval("#{className}.new(foo)")こんな感じ。