1

特定の主要なアルゴリズムを実行するメソッドを含む、錬金術でコンパイルされた swc があります。これらのメソッドは、セキュリティ上の理由から、ユーザーが承認されている (オンライン サービスからライセンスを購入した) 場合にのみ値を返す必要があります。そのため、この上に別の SWC を追加する予定です。これには、すべてのライセンス コードが含まれています。しかし、Alchemy で生成された swc をカスタム swc 内にインポートすると、alchemy のすべてのメソッドが公開されます。アクセスを制限する方法についてのアイデア。つまり、これらのメソッドは、カスタム コンポーネントを使用するメソッドではなく、カスタム コンポーネント内でのみ使用する必要があります。

4

2 に答える 2

1

Ascension Systems の答えは正しいです。クライアント上で実行されているコードの盗難を防ぐことはできません。あなたができる最善のことは、難読化することです。

その意味で、Alchemy ソースをコンパイルする前に、 C/C++ コードの難読化ツールを使用できます。これにより、少なくとも Alchemy 関数 (FSM_Z18blahblahblah など) が意味不明になり、理解しにくくなります。

于 2011-05-20T15:13:45.090 に答える
1

フラッシュのセキュリティの世界へようこそ。そんなものは存在しません。問題は、クライアントが常にあなたのコードを持っていることです。したがって、コードを常にクライアントから保護するための戦術を採用することはできません。バイナリを暗号化および復号化する場合でも、コードは常にメモリまたはキー内にあります。これが、次世代のゲーム会社がサーバー上で実行されるゲームを作成し、エンド ユーザーにリモート UI を提供するだけのゲームを作ろうとする理由の 1 つです。したがって、基本的に何かを保護する唯一の方法は、サーバー側で機能を記述することです。詳細については、このコメントを参照してください。

Flash ゲームの PHP ベースのハイスコア テーブルをハッキングする人々を阻止する最善の方法は何ですか?

また、ここで耳を傾けて話しているだけではないと言いたいだけです。私はかつてフラッシュの錬金術でリアルタイムのバイナリ暗号化/復号化スキームを開発し、そのようなサービスを通じてフラッシュを安全にする天才になろうとしました。はい、おそらくそのようなことで基本的なユーザーからコンテンツを保護できますが、常にバイナリ、つまりソースコード、または少なくとも暗号化アルゴリズムとキーをエンドユーザーに公開することになるため、最終的には誰かが一緒に来て、システムを危険にさらします。

于 2011-05-13T15:45:50.223 に答える