AS3はいい言語だけど、ソースを簡単に見破られてしまうらしい。
AS3の難読化、暗号化の、ソフト、方法などについて語るスレ。
基本方法としては、コメント、スペース、改行消去、
ファイル名、変数名変更、関数の展開とかなんかな。
有名サイトでも暗号化対策してるところってあまりないし、
よっぽどセキュリティが重要なサイトじゃなければ
そこまでする必要性ってあるのかと思うけどね。
他人のソースから学ぶ事って多いし
そこはもちつもたれつでいい気がする
後、C/C++も同人ゲームに使っているけど、
他人のソースから学ぼうと思うことはないな。
自分のLVにあった作品を作りながら勉強していったが、
始めならCUIのヒットアンドブローや○×、
次にイベントドリブンや画像表示などGUIの知識を覚え、
やっとRPG等を作る感じだったので、パクる必要はない。
さらに、その時に作った画像表示簡易関数などを
マイライブラリとして蓄えることができ、
次の作品を作るときに、大きな貯金となってくれる。
逆に、この何年もかけて作ったマイライブラリを
他人に使われてしまうのはつらい。
AS3も本格的にやるなら、マイライブラリの強化を
していきたいと思うけど、難読化できないとなると、
自分には向いてない言語なのかもしれない。
C# (.NET)なんかもほとんど完璧に逆コンパイルできちゃうけど
難読化ツールも販売してる業者 (C#についてるのはそのサブセット)もいることだし
ASもケータイ向けあたりはニーズはあると思うからほしいやつが作ってみるっていうのは
難読化ってのとは違うかも試練が、納入業者にソース渡すのがいや。
最初のうちは全ての画像とテキストを外部に置き更新させる方法で作ったが
「あとで細かい修正はこっちでやりますから」
「FLASHできる人材は当社にもいますし」
とか、笑わせてくれる。単に出費抑えたいだけなのミエミエですよ?
そんなとこはソースの管理もいい加減だし、fla修正も出来ず結局泣きついてくる
コアの部分は.swcにして渡せばソースはでないよ
中身は.swfだから難読化もいるにはいるけど
FreeMotionとかのswf解析できるソフトもあるけど、embedしたswfは解析できないらしいね
自身は難読化は不要と考えている。逆コンパイル大いに結構。
ソース見て判るヤツはそのレベルに達している。
swfの挙動見れば大体どうやって作ってるか想像できるスキルがある。
複雑に絡んだクラスや各所に分散したソース見てもさっぱり判らんヤツ
が逆コンパイルするだけ。
気になるなら特定のURL以外起動できんようにすればいい。
URLはMD5あたりでハッシュ化しとけ、コンパイルしても動作しないし、
相当スキルがないとなんで動かんのか原因も判らん。
ローカルで一生懸命作っていざ納品で動かんとか最高だな(w
Web自体みんな、ブラウザの View Sourceで他人の HTML/CSSやJavaScript みて
勉強して覚えて成長してきたっていう面もあるからそれも一理
Web開発してるやつで他人のHTMLやJavaScript みたことないなんてやつはいないだろ
勉強させてもらってつくってまた誰かの勉強の材料になってやるっていう世界
文字列として著作権表示と注意文だけいれとくのもひとつかもしれない
FLASH4からやってる古参だが、10年FLASHやってて人のソース
見たのほんの数回。数える程度。
当時クラスはプロトタイプチェーンでflaに直書き。
メソッドも少ないし、逆コンパイルしたソース見る価値も多少あった。
今はオープンソースのクラス使ってバリバリコーディングするのが
当たり前。
pepervision3d利用したFlash見て一体誰が理解できるかな?
作る本人だって、英文のリファレンスなきゃ理解できんでしょ?
ただ隠したいだけの難読化はともかく、暗号化は例えばcgi使うようなswfにはやるべきだろうな
クライアントがソースの編集を希望する場合に限り
複雑なクラスはswc化して懇切丁寧なコメントもつけて納品してる。
必要ならばリファレンスマニュアルも作る。
理由は編集する第三者が理解不能になるから。
クラスパス、深くネストしたMC、attachするMC、外置きファイル等
FLASHかじった程度では厳格な記述を要求するas3と併せて手に負えない。
納品後の無駄な問い合わせはゴメンだ。
だから出来る限りコアなクラスはswcでブラックボックス化
ソースの見通しを明るくしている。
それでも、びっくりするぐらい問い合わせが来るし、
「修正はやっぱりそちらで」とさじを投げるクライアントも多い。
クライアントがWEB制作会社の場合でもだ。
残念ではあるが、解析しようとする人より高いスキルで記述したソースは
すでに十分な難読化になっているのだ。
理解できる脳みそあるなら
コピーしてぱくるより作ってしまったほうが早いと言ってるだろ
文字も読めないのかよ
スキルの高い人のAS3.0ならアラビア語で書かれた量子力学の論文みたいなもの。
スキルの高い人のAS2.0でも日本語で書かれた量子力学の論文みたいなもの。
難読化を気にする人は新聞の三面記事程度のソースを書く程度のレベルだと気づけ
むしろ、ムービークリップ毎に散らばって書かれているAS2コードの方が解読が難しい
相手(その仲間)がソースを勝手に使ってしまうか、
そのスキルがあるかとかは分からないわけだから、
作品(ソース)を難読化するか、分かりやすくするかは、
このスレタイ的にも、ギャラや相手の態度など、
作者の都合で決めてしまえばいいと思う。
ニコニコ動画もyoutubeもどうやって作ってるか大方予想がつく。
3Dだろうが、物理演算だろうがゲームだろうが、
FLASH何年もやってりゃだれでも当たり前に判る。
FLASHで高度なことはできないからね。
スクリプトは重要じゃない。アイデアや操作性が重要なんだよ。
最初に流行らせた人が勝ち。
HDDのクラッシュでflaを失い、swfしか残っていないものをデコンパイラで再生したら、かなり全部回復してびっくり。
逆に言えばデコンパイルしちまえば丸見えということだ。
ソースは見られることを前提に、セキュリティも意識して書かないといかんてことだね
古いスレ発見・・・。CS5が出たけど、暗号化方法でオススメある?
CGIではない、生のソケットでのクライアント・サーバーシステム作ったけど、
逆コンパイルされると、プロトコルのキーがばれてこまるんだよね・・・。
まぁ、主要なところは全部サーバーが計算するから、
クライアントのFlash側は委託するだけの存在だけど。
パッカーを適用した場合の実行速度への影響ってどんなもんなんだろう
もちろんパッキング対象のバイナリやパッカーのアルゴリズムによるんだろうけど、どこかに一例ないかなー