質問

私はアプリケーション (のほとんど) を Flex で作成しており、ソース コードの保護に関心があります。のデモを起動しました Trillix swf デコンパイラ そして、Program Files ディレクトリにインストールされている swf ファイルを開きました。私が作成したすべての actionscript パッケージがそこにあることがわかりました。かなりの量のコードがありますが、mxml ファイルなしでは依然としてかなり使いにくいように見えるため、私はパッケージについてはあまり心配していません。これらは actionscript に変換されると思います、または少なくとも私はそう願っています。ただし、難読化については引き続き検討していきたいと考えています。

Flash / Actionscript 3 / Flex 難読化ツールを使用した経験のある人はいますか?良い商品をお勧めしてもらえますか?

役に立ちましたか?

解決

私ならこうします。

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

  • URLLoader を使用して、暗号化された SWF を ByteArray にロードする「ラッパー」アプリケーションを作成します。

  • 使用 as3crypto 実行時に swf を復号化するライブラリ。

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

これにより、コードを取得することが非常に困難になります。不可能ではありませんが、より困難です。

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

また、ここに AS3 難読化ツールへのリンクがあります。ただし、それがどの程度うまく機能するかはわかりません。http://www.ambiera.com/irrfuscator/index.html

他のヒント

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

唯一信頼できる解決策は (そうですね...) ある種の難読化ツールです - 最新バージョンの Flex で動作する Amayeta を使用しています - を参照してください。 http://www.amayeta.com/software/swfencrypt/ .

私の意見では、最も簡単で安全な解決策は、maclema と Borek の答えを組み合わせることです。

コードを難読化することは、最初からプロセスにコードを含めていなかったり、アプリケーションが非常に大きい場合には、大きな問題となる可能性があります。オブジェクトまたは動的クラスで多くの unTyped 変数を使用していた場合、リモート パッケージを使用した場合 (そしてこれを難読化ツールに宣言しなかった場合)、難読化によってアプリケーションが破損する可能性があります。

それで:大きなアプリケーションで maclema のソリューションを実行し、ラッパー (難読化が非常に簡単な小さなアプリケーション) で難読化を使用すると、コードは最も安全になり、手間は最小限になります。時間をかけて難読化をリバース エンジニアリングしてパッケージを復号化するのは、よほど怒っている海賊だけでしょう。まあ、誰かがあなたのアプリケーションコードをひどく欲しがるなら、それはCIAに関係しているか、あなたがすでに大金持ちであるかのどちらかです(あるいはその両方)

皆さん、ご回答ありがとうございました

最近、Flash を使用して iOS と Android のゲームをリリースしました。SWF 内のソース コードを保護するための優れた無料プログラムをインターネットで探しましたが、何も見つからなかったので、プログラムを作成しました。まだ開発中なので「自己責任で使用してください」ですが、私にとってはうまくいきました。

githubで公開されています。ぜひチェックして、ご意見をお聞かせください。

https://github.com/Teesquared/flasturbate

Windows バイナリをアップロードしましたが、試してみたい場合は、指示に従って自分でビルドすることをお勧めします。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top