コメント:HTML5ビデオインテリジェンスゲーム、開発プロセスは非常に興味深いです。プログラミングが好きですが、ゲームロジックを実装した後、興味深いアイデアがあります。コードを非表示にする方法を考えないのですか
最近、最初のWebゲームであるHTML5ビデオゲームを開発しました。開発プロセスは非常に興味深いです。プログラミングが好きですが、ゲームロジックを実装した後、興味深いアイデアがあります。コードを隠す方法を考えてみませんか?最初は、右クリックしたときにページソースコードを表示できる場合に備えて、コンテキストメニューを禁止するなど、非常に簡単なプラクティスを考えていました。しかし、これは意味がありません。右クリックメニューは使用できません。キーボードショートカットを使用してソースコードを表示したり、メニューバーでソースファイルを表示したりできます。写真には何千もの単語が含まれています
これは、写真のボリュームに依存します。しかし、ソースコードを暗号化して写真に保存することにしました。 HTML5のCanvasコンポーネントは、画像ピクセルの動作をサポートするため、この種のものに非常に適しています。ピクセルは、赤、緑、青、アルファチャネルの4つの値(チャネル)で表されます。それらの値は0から255に分配されます。私のJavaScriptコードは文字であり、各文字にはASCIIに対応する値があります。 ASCII値の範囲も0-255なので、私がやりたいのは、各ピクセルをキャンバス上で通過し、各ピクセルの3つのコード文字のASCII値をRGB値として設定することです。CharCodeat関数を介してこれらの文字を簡単に取得できます。
.charcodeat(0)
生成されたのは、カラフルで小さな写真です。これは私のプログラムコードであり、見てみましょう。
デコードするときは、この絵をキャンバスに描き、ピクセルポイントを横断し、値r、g、bで表される文字を取り出します。
string.fromCharcode(コード)
それらを大きな文字列に連結し、それがあなたのコード - 実行可能コードです。
この方法でソースコードを保護できますか?
実際、それはできません - 経験豊富な(または経験の浅い)プログラマーは、画像をデコードして内部のコードを削除する方法を知っていますが、これはコードを盗むことを盗むことを防ぐための最初のステップだと思います - そして、デコードする方法を(ほとんど)解読する方法を把握することができるプログラマーは盗用ではありません
この方法の主な欠点
このテクノロジーは、HTML5 Canvasテクノロジーをサポートする最新のブラウザでのみ使用でき、IE6およびIE8では絶対に不可能です。一部の最新のブラウザでさえ、画像のアルファチャネルのエンコードに関するサポートの問題があるため、ピクセルごとに3文字しか配置できません。100x100サイズの画像は30,000個のテキスト文字を保存できます。
他の人があなたのコードをコピーするのを防ぐための他の簡単な方法はありますか?もちろん、文字を暗号化できますが、復号化の手順を簡単に割ることができないようにするにはどうすればよいですか?あなたの考えを教えてください!