2008-08-07 12 views
21

私はフレックスで(ほとんどの)アプリケーションを書いており、私はソースコードの保護に懸念しています。私はTrillix swf decompilerのデモを起動し、私のProgram Filesディレクトリにインストールされたswfファイルを開いた。私が書いたすべてのアクションスクリプトパッケージがそこにあったことがわかりました。かなりの量のコードがあるにもかかわらず、mxmlファイルがなくてもかなり使用できないように見えるので、私はパッケージにはあまり関心がありません。私は彼らがactionscriptに変換されると思う、または少なくとも私は望む。しかし、私はまだ難読化を検討したいと思います。フレックス/空気の難読化

誰でもFlash/Actionscript 3/Flex難読化ツールを使用した経験がありますか?あなたは良い製品をお勧めできますか?

答えて

13

これは私が何をするのかです。

  • アプリケーションをSWFファイルにコンパイルします。次に、AESを使用してSWFを暗号化します。

  • はURLLoaderクラス

  • は、実行時にswfファイルを復号化するためにas3cryptoライブラリを使用を使用して、ByteArrayに暗号化されたSWFをロードする「ラッパー」アプリケーションを作成します。

  • 解読されたら、Loader.loadBytesを使用して解読されたswfをラッパーアプリケーションにロードします。

これにより、コードを取得するのがずっと難しくなります。不可能ではないが、より難しい。

AIRアプリケーションの場合、アプリケーションをエンドユーザーに配信するときにSWFを暗号化したままにすることができます。次に、SWFの復号化に使用されるキーを含む登録キーを提供することができます。

また、ここにはAS3難読化装置へのリンクがあります。私はそれがどれほどうまくいくか確かではありません。 http://www.ambiera.com/irrfuscator/index.html

20

maclemaによって提案された手順では、実際にソースを取得から任意の攻撃を停止することはありません - 攻撃者は、あなたがAES(または任意の他のアルゴリズムを使用することを見つけることができるようになりますので、「ラッパーアプリケーションは、」暗号化されていないする必要があります)、彼は同様の方法で暗号解読鍵を得る(それはどこかで平文である必要があるため)。彼はこれを持っていれば、簡単にあなたのSWFファイルを解読することができます。

唯一の信頼できる解決法(まあ...)は、ある種の難読化です - 私たちは最新版のFlexで動作するAmayetaを使用しています - http://www.amayeta.com/software/swfencrypt/を参照してください。

+1

私はこれが受け入れられるべき答えだと思います。 –

3

まあ、私の意見では、最も簡単で安全なソリューションがmaclemaとボレックの答えのミックスです:

あなたは最初からして、あなたの場合、あなたのプロセスの中に含まれていない場合、コードは大きな頭痛することができ難読化アプリケーションやダイナミッククラスの多くの未定義変数に慣れていれば、リモートパッケージを使用していれば難読化するとアプリケーションが壊れてしまう可能性があります。

So:大きなアプリケーションでmaclemaのソリューションを実行し、ラッパー(難読化しやすい小さなアプリケーション)で難読化を使用すると、コードが最も安全になり、ハリーがleasになりますt。 非常に怒っている海賊だけが、難読化をリバースエンジニアリングしてパッケージを解読するまでに時間がかかります。誰かがあなたのアプリケーションコードが洙悪いたい場合まあ、それはどちらかだCIAは、関連するか、すでに非常に豊富な(あるいはその両方)だ

は、私は最近、Flashを使用してiOSとAndroidのゲームをリリースし、あなたの答え

0

ありがとうございました。私はSWFのソースコードを保護するための無料の無料プログラムをインターネットの周りに見て、何かを見つけられなかったので、私はそれを書きました。それはまだ開発中であり、それは "あなたの責任で使用する"ものですが、それは私のために働いていました。

githubで公開されました。それをチェックし、あなたの考えを教えてください。

https://github.com/Teesquared/flasturbate

私は、Windowsのバイナリをアップロードするが、私はあなたがそれを試してみることにしたい場合は、それを自分で構築するための指示に従うことをお勧めします。

この難読化ツールは、SWFファイルで直接動作します。現在はシンボルの名前を変更するだけですが、将来はバイトコードの変更をサポートするフレームワーク上に構築されています。