AS3の難読化、暗号化

1Now_loading...774KB
垢版 |
2009/07/26(日) 17:29:11ID:ogeyE/94
AS3はいい言語だけど、ソースを簡単に見破られてしまうらしい。
AS3の難読化、暗号化の、ソフト、方法などについて語るスレ。

基本方法としては、コメント、スペース、改行消去、
ファイル名、変数名変更、関数の展開とかなんかな。
2009/07/26(日) 17:30:13ID:ogeyE/94
ググっていくつか見つけたサイト

Amayeta SWF Encrypt (シェア)
ttp://www.altech-ads.com/product/10003730.htm

secureSWF 3.0 (シェア)
ttp://www.ksourcerer.org/ja/31080/details-secureswf.html&usg=ALkJrhhiE3WYOPsWugMHaSSdy7sxaHlj7Q

馬鹿全 (デコンパイラ対策技術)
ttp://blog.bk-zen.com/2008/12/30/105/

Hatena::Question (ByteArrayを使って)
ttp://q.hatena.ne.jp/1229322640
2009/07/26(日) 19:30:30ID:U817qqWY
有名サイトでも暗号化対策してるところってあまりないし、
よっぽどセキュリティが重要なサイトじゃなければ
そこまでする必要性ってあるのかと思うけどね。
他人のソースから学ぶ事って多いし
そこはもちつもたれつでいい気がする
2009/07/26(日) 22:15:28ID:ogeyE/94
>>3
あんまり難読化の考えは流行っていないのか。
というか、このスレでそれを言われると・・
2009/07/27(月) 10:01:23ID:Yz+dx5tk
後、C/C++も同人ゲームに使っているけど、
他人のソースから学ぼうと思うことはないな。

自分のLVにあった作品を作りながら勉強していったが、
始めならCUIのヒットアンドブローや○×、
次にイベントドリブンや画像表示などGUIの知識を覚え、
やっとRPG等を作る感じだったので、パクる必要はない。

さらに、その時に作った画像表示簡易関数などを
マイライブラリとして蓄えることができ、
次の作品を作るときに、大きな貯金となってくれる。

逆に、この何年もかけて作ったマイライブラリを
他人に使われてしまうのはつらい。

AS3も本格的にやるなら、マイライブラリの強化を
していきたいと思うけど、難読化できないとなると、
自分には向いてない言語なのかもしれない。
2009/07/27(月) 10:29:25ID:Yz+dx5tk
ググって見つけた、逆コンパイラなど

Flasm
ttp://www.nowrap.de/flasm.html

Flare
ttp://www.nowrap.de/flare.html

abcdump
ttp://d.hatena.ne.jp/nitoyon/20090123/abcdump_build

HugFlash
ttp://www.forest.impress.co.jp/lib/pic/video/flash/hugflash.html
2009/07/27(月) 10:47:19ID:KuZKy3SR
ASは、概念としてはオープンソースじゃないの?
2009/07/27(月) 10:52:59ID:Yz+dx5tk
>基本方法としては、コメント、スペース、改行消去、
>ファイル名、変数名変更、関数の展開とかなんかな。
>>1のだが、ファイル名変更は難しそう。

まず、使われるasファイルの数を調べて、
アルファベット順にa0.as、a1.asとかとリネームし、
public class **の部分もそれに合わす感じかな。

importフォルダを使っている場合も、
フォルダ名をf0、f1とかとリネームし、
中のasファイルもリネームしていく。

ただ、ここらへんの難読化は、
標準のコンパイルだけでもやってくれていそうな気もする。
ファイル名がmainやbattleなどである必要はまったくないし。
2009/07/27(月) 11:01:23ID:Yz+dx5tk
>>7
そうなのか。
FlexSDK3本体自体もオプソらしいけど。

C#には、標準で難読化するのが付いているみたいだが、
ASには付いていないのもそのためなんかな。

C/C++の他に、ネット系に強い
こつこつできる言語を探していただけだから、
その考えを敵に回してまでがんばりたくはないな。
2009/07/27(月) 21:32:11ID:exV789hg
C# (.NET)なんかもほとんど完璧に逆コンパイルできちゃうけど
難読化ツールも販売してる業者 (C#についてるのはそのサブセット)もいることだし
ASもケータイ向けあたりはニーズはあると思うからほしいやつが作ってみるっていうのは
2009/07/28(火) 00:09:03ID:4gd6wC0m
>>10
なるほど、C#も制限付きなのね。
標準で完全な難読化機能を付けないのは、
開発ソフトは無料だから、
変わりに稼ぐ手段として残しているのかもしれない。

>ケータイ向けあたりはニーズはある
kwsk

>ほしいやつが作ってみるっていうのは
まだ、自分は難読化についての知識がほとんどなく、
>>1に書いたぐらいの事しかできん。
それらは、標準のコンパイルで、できている事な気がする。

デコンパイラは関係無く、ソース見せろと言ってきた人に、
読みにくいのを渡すという使い方はできるかもしれないが。
2009/07/28(火) 00:21:01ID:4gd6wC0m
>>2のAmayeta SWF Encryptについてググって見た

紹介記事、トライアル版について
ttp://mfria.blog106.fc2.com/blog-entry-1411.html

難読化したのを、デコンパイラで実験
ttp://www.kyucon.com/blog/archives/000283.html

トライアル版
ttp://www.amayeta.com/software/swfencrypt/trial/

(説明文の日本語訳)(エキサイト翻訳で)
Trialバージョンは、25SWF Encryptionに制限されて、
Encrypted SWF FilesにAmayeta Watermarkを加えるでしょう。
これはFull Registeredバージョンで起こりません。
*あなたのメールは懇願に第3党によって使用されないでしょう。


殆ど記事が見つからなかった。
難読化は人気ないな・・

トライアル版試してみるか。
まだ、どういう風に解析されてしまうか分かっていないから、
難読化してもどういう効果があるかも分からないんだけど・・
2009/07/28(火) 00:31:52ID:4gd6wC0m
難読化に関係ありそうな記事

MD5 SHA1で文字列のハッシュ化
ttp://moringo.moo.jp/wordpress/?p=97

PHP、ケータイがらみ
ttp://blog.dynalogue.com/tag/flash
ttp://blog.dynalogue.com/43

暗号化・復号化のメモ
ttp://d.hatena.ne.jp/monta31/20080904/p1

より安全なSWF Webアプリケーションの作成
ttp://www.adobe.com/jp/devnet/flashplayer/articles/secure_swf_apps_12.html
(キャッシュしか見れなかった)
http://74.125.153.132/search?q=cache:7hrAM7_Yw0MJ:www.adobe.com/jp/devnet/flashplayer/articles/secure_swf_apps_12.html+AS3+%E6%9A%97%E5%8F%B7%E5%8C%96+OR+%E9%9B%A3%E8%AA%AD%E5%8C%96&cd=14&hl=ja&ct=clnk&gl=jp&lr=lang_ja
2009/07/28(火) 02:49:10ID:nJDvOex/
>>11
ニーズがあるというかニーズを探してる資料だったw
http://www.slideshare.net/takesako/mobaben2-flash-lite-obfuscator?nocache=9208
2009/07/28(火) 10:16:30ID:4gd6wC0m
>>14
なるほどw、サンクス。
難読化の基礎解説もあって勉強になった。
2009/07/29(水) 18:15:29ID:VFPC6Vwa
>>14に出ていた、flasm、flareを試してみたけど、
flm、flrの拡張子のファイルができたけど、
fpsや画面サイズとかしか出てこない。
ASオンリー(FlexSDK3 + FlashDevelop or JmEditor)
で作っていると逆コンパイルはされないのかな。

Flasm
ttp://www.nowrap.de/flasm.html
ttp://kozy.heteml.jp/pukiwiki/flasm%2520%25BB%25C8%25A4%25A4%25CA%25FD/index.html

Flare
ttp://www.nowrap.de/flare.html
ttp://mm51.blog.so-net.ne.jp/2007-05-23
2009/07/29(水) 18:45:02ID:eJlAHkSl
CS4に対応してる暗号化ツールは聞いた事ないね
2009/07/29(水) 21:01:11ID:VFPC6Vwa
HugFlashを試してみたが、かなり強力・・
関数名、変数名、改行などそのまま残っている感じ。
しかも、ifの要素が1文なら括弧を付けないが、
付け加えられて添削までされている・・
これなら>>1のでも効果があるな。
2009/07/29(水) 21:05:43ID:VFPC6Vwa
他の方法だとダミーの式の追加とかかな。
a + bをa + a * 2 - a - a + bにするとか。

>>17
ググってもよく分からなかったが、AS3と関連ある物?
ただ、値段は10万ぐらいするのか・・
それだけするなら、暗号化機能を付けていてほしいな。
20Now_loading...774KB
垢版 |
2009/08/03(月) 20:53:34ID:sCwmq+e4
難読化ってのとは違うかも試練が、納入業者にソース渡すのがいや。

最初のうちは全ての画像とテキストを外部に置き更新させる方法で作ったが
「あとで細かい修正はこっちでやりますから」
「FLASHできる人材は当社にもいますし」
とか、笑わせてくれる。単に出費抑えたいだけなのミエミエですよ?

そんなとこはソースの管理もいい加減だし、fla修正も出来ず結局泣きついてくる
2009/08/04(火) 21:42:37ID:br/fnaG1
コアの部分は.swcにして渡せばソースはでないよ
中身は.swfだから難読化もいるにはいるけど
2009/08/05(水) 00:02:22ID:P2Vhkj2d
FreeMotionとかのswf解析できるソフトもあるけど、embedしたswfは解析できないらしいね
23Now_loading...774KB
垢版 |
2009/08/06(木) 22:57:46ID:a+8bfnyE
自身は難読化は不要と考えている。逆コンパイル大いに結構。
ソース見て判るヤツはそのレベルに達している。
swfの挙動見れば大体どうやって作ってるか想像できるスキルがある。

複雑に絡んだクラスや各所に分散したソース見てもさっぱり判らんヤツ
が逆コンパイルするだけ。

気になるなら特定のURL以外起動できんようにすればいい。
URLはMD5あたりでハッシュ化しとけ、コンパイルしても動作しないし、
相当スキルがないとなんで動かんのか原因も判らん。

ローカルで一生懸命作っていざ納品で動かんとか最高だな(w
2009/08/06(木) 23:39:08ID:6BDVmTTz
Web自体みんな、ブラウザの View Sourceで他人の HTML/CSSやJavaScript みて
勉強して覚えて成長してきたっていう面もあるからそれも一理
Web開発してるやつで他人のHTMLやJavaScript みたことないなんてやつはいないだろ
勉強させてもらってつくってまた誰かの勉強の材料になってやるっていう世界
文字列として著作権表示と注意文だけいれとくのもひとつかもしれない
2523
垢版 |
2009/08/06(木) 23:55:32ID:a+8bfnyE
FLASH4からやってる古参だが、10年FLASHやってて人のソース
見たのほんの数回。数える程度。
当時クラスはプロトタイプチェーンでflaに直書き。
メソッドも少ないし、逆コンパイルしたソース見る価値も多少あった。

今はオープンソースのクラス使ってバリバリコーディングするのが
当たり前。
pepervision3d利用したFlash見て一体誰が理解できるかな?
作る本人だって、英文のリファレンスなきゃ理解できんでしょ?
2009/08/07(金) 01:54:50ID:cIZD+2ie
だいぶ遅いレスだが >>5

>>マイライブラリを他人に使われてしまうのはつらい。

Twennerを使ってるか?
easingクラスを使ってるか?
swfを見ただけでは判断できないように再利用しやすい、
汎用性の高いライブラリは存在自体が判らない。
つまりどのよう高度な機能があるのかわからんswfは逆コンパイルされない。

PaperVision3Dのような特定機能に特化したライブラリは
使われている機能はわかりやすいが機能が特化しているため、
限定された条件以外では利用されない。
またメソッドやパラメタも多くなりがちでコメントがないと使い方も判らない。
2009/08/07(金) 04:20:03ID:AYCLcUB8
>>26
まだAS3は簡単なRPGを作れるLVだから、
上げられた物をちょっと調べたがさっぱり。
難読化ツールもCで作る予定。

コメントがないと使い方も分からないというのは、
自分のC/C++のでもそうなりそう。
自分でさえ、ちょっと触っていないと忘れてしまってるし。
2009/08/07(金) 12:50:47ID:lphzuUi6
>>23に同意
プログラミングのプの字も知らない人(営業とか)に限って
「スクリプトを公開するとぱくられる」なんて言っちゃう始末
2009/08/08(土) 00:11:23ID:PEsuBQGc
ただ隠したいだけの難読化はともかく、暗号化は例えばcgi使うようなswfにはやるべきだろうな
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況