Home > Flash Archive

Flash Archive

Flash Develop 3.0.2 RTM リリース

久々に間があきましたね。
RTM とはいえガンガン更新があると更新のときの喜びが少し薄れる気がしたので
ちょっと間があいた今回は久々にうきうきしました。
ダウンロードは以下から。
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=5086

今回のこのリリースは 3.0.1 以降に出てきた問題をfixしたリリースとなったようです。
今回も RC2 ~ 3.0.1 RTM までのすべてのバージョンと互換性があります。

前のバージョン情報まとめ
Beta5 ~ 3.0.1 http://blog.bk-zen.com/2009/07/12/190/

変更点などは以下から。

Continue reading

  • Comments (Close): 0
  • Trackbacks (Close): 0

FlashDevelop 3.0.0 RC4 でたよ

FlashDevelop 3.0.0 RC4 が急に出た。

早すぎるよー!
今回はバグ潰しかな?
どうやらほとんど変わってないので RC3 の情報と併せてみるといいかも。
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4775

過去のバージョン情報やインストール方法、最新情報などは以下から。
http://blog.bk-zen.com/2009/07/12/190/

詳細は以下

Continue reading

FlashDevelop 3.0.0 RC3 がリリースされたよ

どもども。
リリースしたらキャッチしましょう。

http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4720

過去のバージョン情報やインストール方法、最新情報などは以下から。
http://blog.bk-zen.com/2009/07/12/190/

さて、以下翻訳。

Continue reading

  • Comments (Close): 0
  • Trackbacks (Close): 0

Frame メタデータタグでプリローダを作る時の注意

ActionScript3.0 の Frame メタデータタグを使うと プリローダを作ったりするときに便利だったりします。
その時の注意。
Error #2044: ハンドルされていない IOErrorEvent : text=Error #2036: 読み込みが未完了です。
みたいなエラーが出て、困ったりしたことはないですか?
しかも IE では出ず、 FireFox で 2回連続 F5 で更新とかすると起きるエラー。
どこで起きているのかも分からず、ひたすら莫大に広がったソースのいろんなところをコメントにしてみたりして、やっと見つけた。

Continue reading

FlashDevelop 3.0.0 RC2 リリースされてた

具合が悪くて寝てたせいで遅れた・・・。
とりあえず、寝ぼけた頭で翻訳したので今日は一段と和訳に自信なし。
RC1 は結構バグがあったっぽいから RC2 はどうかな?
ってことで例の如く FlashDevelop 3.0.0 RC2 をインストールします。
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4374

前のバージョン情報およびインストール方法など
http://blog.bk-zen.com/2009/07/12/190/

最近は日課の様な気がしてきました。
もちろん今回も英語には自信がないです。

Continue reading

SWF デコンパイル対策2

MotionDecompiler の穴らしきもの編です。

以前書いた SWF デコンパイル対策(http://blog.bk-zen.com/2008/12/30/105/)
について、
こるなご さんから プログラムと音楽  Flash自体を暗号化して画像、音楽、ActionScriptソースを保護する (http://thorshammer.blog95.fc2.com/blog-entry-261.html)
のような記事を書いていただきました。
ありがとうございます。

穴をつぶされてしまうかも知れない、
あわよくば手伝ってくださる方がいれば、(募っているとの事を書いてなかったけどw)
と思ったのでとりあえず情報は伏せておいたけど、
そろそろ一人で抱えている問題でも無い気がしてきましたし、
こるなご さんが興味を示してくれたのでw
以前見つけた穴らしきものを公開してみる。

穴らしきものも、完璧な穴とは言えず、”現在は” というものであることを理解しておいてください。

さて、その穴の入り口は以下のようになる。

Continue reading

ByteArray の勉強

Embed の質問答えてくださった方々、ありがとうございました。
大変参考になりました。

ところで最近 Embed の他にも ByteArray の勉強もしていたりする。

メモ程度で。

以下のソースは
ByteArray を Loader で読み込んで “test” と trace させるだけ。
原理としては SWF を URLLoader で バイナリフォーマットで読み込んで Loader で loadByte(); しているのと同じ。
ByteArray を URLLoader が生成するか、
SWF ファイルを バイナリエディタで開いて、コピペしたかの違い。
なので “test” と trace するする SWF をロードしたのと大体同じだと思う。

Continue reading

  • Comments (Close): 0
  • Trackbacks (Close): 0

Embed について質問

ここを見ている人にぜひ質問したいことがある。
メールアドレスも適当でいいし、匿名でもいいのでコメントを残してくれることをお願いします。
数字だけでもイイです!お願いします><

主な対象者

  • ActionScript3 で AS ファイルベースで Flex SDK を使って開発をしている人。
  • 特に FlashDevelop を使っている人に一番問いたい。

Embed というタグを使って SWF やら 何やらを Embed するときってどうしてますか?
特に SWF が大量にある場合などが一番知りたい。
あと、 Embed した物を new するタイミングが知りたい。

よくある回答をおいておきます。
Embed の不満とかもあったら教えてくださいwww
※ コメントは、スパムが多いため、一度こちらで承認するまで表示されませんのでご注意ください

回答1.

[Embed(source = 'hoge.swf')]
private var Hoge: Class;
private var hoge: MovieClip;

[Embed(source = 'moja.mp3')]
private var Moja: Class;
private var moja: Sound;

private function init(): void
{
    hoge = new Hoge();
    moja = new Moja();
}

上のようにして、new するだけ。
複数あった場合はすべてこんな感じで。

回答2.

[Embed(source = 'hoge.swf')]
private var Hoge: Class;
private var hoge: MovieClip;

[Embed(source = 'moja.mp3')]
private var Moja: Class;
private var moja: Sound;

private function init(): void
{
    moja = new Moja();
    var mc: MovieClip = new Hoge();
    Loader(mc.getChildAt(0)).contentLoaderInfo.addEventListener(Event.INIT, onInit);
}

private function onInit(e: Event): void
{
    hoge = MovieClip(e.target.content);
}

上のように swf のルート を取得してから保持する。
複数あった場合は swf の数だけ行う。
Sound, Bitmap などはただ new するのみ。

回答3.
タイミングは 一番最初。

回答4.
タイミングは Embed したものが使われる直前。

回答5.
Embed は そもそも使わない。
基本 Loader とかで外部ファイルをロードする。

よろしくお願いします
↓見たいな感じの答え方でもいいです。
名無し
  1と3

※ コメントは、スパムが多いため、一度こちらで承認するまで表示されませんのでご注意ください
大切な事なので2回言いm(ry

Embedder を作りました!
http://blog.bk-zen.com/2009/08/17/207/

SWF デコンパイラ対策

どうも。

SWF デコンパイラというものをご存知だろうか?
SWF をそのデコンパイラにかけるとソースが再現されてしまうというものだ。
コレは、便利といえば便利だが、基本的にはそういう行為を禁止している場合が多い。
例えば、Flash ゲームサイトなどではほとんどがそうなっているだろう。
チート歓迎なんてところは何処にも無い。
当たり前といえば当たり前だ。
ゲームのバランスが崩壊するからだ。
メモリ上を弄られたら全てが終わりだが、
それをできる人は少ないだろう。
せめて、SWF のデコンパイルさえ防止できれば、とひたすら勉強していた。
[追記]http://blog.bk-zen.com/2009/02/02/128/

今一番有名で一番優秀なのはおそらく モーションデコンパイラではないだろうか?

こいつはカナリ優秀で、ほとんど完璧に再現してくれる。
こいつでソースを再現されると、サーバとの通信の際の暗号の原理なども見破られてしまう。
サイト運営者にとってはこいつが天敵と言う人も多いのでは無いだろうか?

こいつを出し抜くことが出来れば、ほとんどのデコンパイラを出し抜くことができるのでは?
と思い、打倒モーションデコンパイラを心に決め勉強した。

まずは、敵を倒すには敵のことをよく知ることが重要と思い、
SWF をどうやったら読めるようになるのか勉強した。

ヘッダなどは読めるようになったが、全部完璧に読めるようになるには時間が足り無すぎだということに気づいた。

そこで、モーションデコンパイラに穴が無いかを探す事に決めた。
探すこと2ヶ月。
ようやくモーションデコンパイラに”再現しきれない部分”があることをおそらく発見した。
その部分を利用して、Key と再現部分を隠し、プロテクトをかけることができると思う。
確証はまだ無い。
今実験を繰り返しているところだ。
もしかしたら、別のデコンパイラでは再現されてしまうかもしれない。
対策を取られないように、公に公開はしないかもしれない。

何か分かったら追記することにしよう。

とりあえず、わーい(´▽`)

[追記]
“再現しきれない部分” に全部隠しちゃえばよくね?
・・・・・・・・
(゚д゚)ポカーン

読み込まれた SWF のフレーム内のアクションはいつ実行される?

ちょっと疑問に感じたんで Loader で単純に読み込んでどの順番に実行されるのか調べてみた。
Loader の contntLoaderInfo に それぞれ
Event.COMPLETE , Event.INIT , Event.OPEN , ProgressEvent.PROGRESS , HTTPStatusEvent.HTTP_STATUS
を登録してみた。
読み込まれる側の SWF では 10フレームそれぞれに trace(1); ~ trace(10); までを書いた。

さて実行してみよう。
ちなみに loader は load のみ行い、addChild などは行っていない。

Continue reading

Home > Flash Archive

Search
Feeds
Meta

Return to page top