These pages are written by only Japanese.
|
Namazu for hns による簡易全文検索です。 詳細は 詳細指定/ヘルプをご参照下さい。 |
||||||||||||||||||||||||||||||||||||||||||||||
% php swfdump.php chara.swf | less magic=CWS version=6 file_length=2902016 frame_size=(0, 0)-(800, 545) frame_rate=30.0 frame_count=1183 tag=SetBackgroundColor(9) length=3 tag=JPEGTables(8) length=574 tag=DefineBitsJPEG(6) length=31897 jpeg_id=1 jpeg_data_size=31895 tag=DefineShape(2) length=55 <略>
#include <zlib.h> uncompress(new_buff, &origsize, old_buff, bs->data_len - SWF_HEADER_SIZE); compress(new_buff, &compsize, old_buff, bs->data_len - SWF_HEADER_SIZE);
Flash Lite (携帯端末向け Flash) - Yoya Wiki pwiki.awm.jp:yoya ウェブ FLASH LITE Wiki なるみ 微妙 1 users 2008年02月05日 ActionScript flash FlashLite確かにカオスなので整理します。ごめんなさい。^^; バイナリいじりに夢中で、CS3 は触ってないんですよねー でも、そろそろ戻ろう。折角 Web Premium 買ってるんだし。
% php swfdump.php chara.swf magic=CWS version=6 file_length=2902016 frame_size=(0, 0)-(800, 545) frame_rate=30.0 frame_count=1183 tag=SetBackgroundColor(9) length=3 tag=JPEGTables(8) length=574 tag=DefineBitsJPEG(6) length=31897 jpeg_id=1 jpeg_data_size=31895 <略> tag=DefineBitsJPEG3(35) length=9289 jpeg_id=10 jpeg_data_size=6212 alpha_data_size=15792ちなみに、tag 全体の length が 9289 なのに、 その一部分である alpha_data が 15792 でより大きいのは、 alpha_data 部はファイルには圧縮した形で格納されている為で、 伸張すると大抵は逆転します。
typedef struct swf_rect_ { unsigned char align; int x_min; int x_max; int y_min; int y_max; } swf_rect_t; extern int swf_rect_parse(bitstream_t *bs, swf_rect_t *rect); extern int swf_rect_build(bitstream_t *bs, swf_rect_t *rect); extern int swf_rect_print(swf_rect_t *rect);今日はとりあえず整理だけ…
tag=DefineEditText(37) length=42 edit_id=2 rect=(393, 393)-(37, 146) (f_size=13) text=1 wwrap=0 multi=0 pass=0 ro=1 col=これで、自分がフォーマットを勘違いしているのかと悩んだのですが、 この値を埋めるフィールドが可変な上に負の値も扱える事に気づいて、 bitstream は unsigned 前提で作ってるので、 2の補数処理をどこかに入れないとダメな事に気づきました。
int two_negative(int num, int size) { int msb = 1 << (size - 1); int mask = msb - 1; if (num & msb) { return - ((num^mask) & mask) - 1; } return num; }結果。
tag=DefineEditText(37) length=47 edit_id=2 rect=(-8, -2)-(101, 36) (f_size=12)それっぽい値になりました。(基準点がいまいち分からないけど…)
tag=DefineEditText(37) length=47 edit_id=2 rect=(-8, -2)-(101, 36) (f_size=12) text=1 wwrap=0 multi=1 pass=0 ro=1 col=1 maxlen=0 font=1 layout=1 no_sel=1 border=0 font_id=1 font_height=14 red=0x00 green=0x00 blue=0xff alpha=0xff align=2 (left,right)_margine=(0,0) indent=0 leading=40 variable_name= fobaa initial_text=thisistestよし…
ヒュンダイITジャパン製(´д`)…
機能や性能よりもハードルの低さがこのビジネスの決め手だったわけだ。賢くなくても犯しがちだと思うので、自分も気をつけよう。
演技があまりに真に迫り過ぎていたため、クラスメートからまで 素で狂っていると思われ、いじめられてしまったり、また、 ありがちな「ゲームの危険性を考える」うんぬんのメディアから 不当な扱いを受け、本人はMAD作りが嫌になってしまったようだ。迫真の演技すぎるのは気になっていたけど、 やはり大丈夫じゃなかったのね…
tag=DefineEditText(37) length=37 edit_id=2 rect=(-10, -2)-(134, 18) (f_size=13) text=1 wwrap=0 multi=1 pass=0 ro=1 col=1 maxlen=0 font=1 layout=1 no_sel=1 border=0 font_id=1 font_height=14 red=0x00 green=0x00 blue=0xff alpha=0xff align=2 (left,right)_margine=(0,0) indent=0 leading=40 variable_name= initial_text=abcde
tag=DefineEditText(37) length=39 edit_id=3 rect=(-2, -2)-(116, 16) (f_size=13) text=1 wwrap=1 multi=1 pass=0 ro=1 col=1 maxlen=0 font=1 layout=1 no_sel=0 border=0 font_id=1 font_height=14 red=0x00 green=0x00 blue=0xff alpha=0xff align=2 (left,right)_margine=(0,0) indent=0 leading=40 variable_name=var1 initial_text=opqr
tag=DefineEditText(37) length=37 edit_id=4 rect=(-2, -2)-(86, 16) (f_size=12) text=1 wwrap=1 multi=1 pass=0 ro=0 col=1 maxlen=0 font=1 layout=1 no_sel=0 border=0 font_id=1 font_height=14 red=0x00 green=0x00 blue=0xff alpha=0xff align=2 (left,right)_margine=(0,0) indent=0 leading=40 variable_name=var2 initial_text=xyz
- [[DefineBitsJPEG2>#tag21]] のデータにこれで、ページ内の #tag21 に遷移できました。
カードによるお支払いありがとうございます。下記ご請求に対し、 \6,300 の支払いを受け付けましたので、ご連絡いたします。 <略> 株式会社ヒューメイア1年間でこれは高いわ。(⊃д⊂)
Please come back in the begining of Dec to this page. It is curently not available.google で jpeg.c.diff をキーワードにして、この日記に来る方が 増えてきたので、お役に立てればと cache (?) URL を以下のページに 張って置きました。 あと、ついでに色々と理解が深まってきたので説明文も更新してます。
PHP_METHOD(swfed, getTagList) { int i; zval *data; array_init(return_value); for(i=0; i<2; i++) { ALLOC_INIT_ZVAL(data); array_init(data); add_index_long(data, 2*i, 2*i+10); add_index_zval(return_value, i, data); } }
array(2) { [0]=> array(1) { [0]=> int(10) } [1]=> array(1) { [2]=> int(12) } }あっさり成功…