問題タブ [anti-cheat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
720 参照

unity3d - ゲーム内のアンチチート / グリッチ

現在、チームと協力して Unity ベースのゲームを開発しています。ゲームはまだ開発中のアルファ版です。

最近、ゲームがチートエンジン、スピードハックなどに対して脆弱であることがわかりました。更新後の更新、チートは現在安定しています。また、Unity の ACT またはアンチ チート ツールキットも紹介しました。ゲームはUnityベースなので、ゲームにアイデアを実装するのは簡単です.

「ハッキング」は安定しますが、「グリッチ」はそうではありません。

これはオープンワールドのサバイバルゲームで、アイテムの選択とドロップで構成されています。問題は、2 人のプレイヤーが一緒にアイテムを拾うと (現在、アイテムを拾うにはクロスヘッドがアイテムの上にあるときに E を押す必要があります)、アイテムが複製されることです。私たちはそれを修正するために何日も働いてきましたが、幸運ではありません.

近くに別のプレイヤーがいる場合、アイテムを拾うことができないことを紹介しました。奇妙に見えますが、ゲームをスムーズにしたいと考えています。自動ピックアップアイテムも試しました。それが私たちの計画ですが、他にできることはありますか?

0 投票する
1 に答える
1193 参照

android - Cocos2dx に基づくオフライン ゲームでタイム チートを防止するには?

最近は、Cocos2dx-lua に基づくモバイル オフライン ゲームに取り組んでいます。

時間速度を設定できる GameGuardian というアプリを Google Play で見つけました。アプリは のメソッドgettimeofday()を変更する可能性がありlibc.soます。os.time()、などの多くの API を試しましSystemClock.elapsedRealtime()たが、すべて失敗しました。

アプリの影響を回避する方法を誰か教えてください。

0 投票する
1 に答える
2514 参照

javascript - WebGL ゲームコードの保護

ベテランの Web 開発者として、JavaScript コードは安全ではなく、縮小/難読化されているだけであることを理解しています。

ただし、多くのゲーム エンジンは、エンジン コードと顧客のゲーム コードをダウンロードして、クライアント/ブラウザで表示できるほどの自信を持っています。

-

Unity3D がどのようにそれを行うかを理解しようとして、クライアント/ブラウザーによってダウンロードされるファイルの次の内訳に出くわしました。

  • asm.js ランタイムと JavaScript プラグインを含む MyProject.asm.framework.unityweb ファイル。

  • プレーヤーの asm.js モジュールを含む MyProject.asm.code.unityweb ファイル。

  • プレーヤーのヒープ メモリを初期化するためのバイナリ イメージを含む MyProject.asm.memory.unityweb ファイル。

  • アセット データとシーンを含む MyProject.data.unityweb ファイル。

ソース: https://docs.unity3d.com/Manual/webgl-building.html

-

次に、emscripten を使用して C/C++ コードを Javascriptにコンパイルしているのを見ました。

To run in WebGL, all code needs to be JavaScript. We use the emscripten compiler toolchain to cross-compile the Unity runtime code (written in C and C++) into asm.js JavaScript. asm.js is a very optimizable subset of JavaScript which allows JavaScript engines to AOT-compile asm.js code into very efficient native code.

ソース: https://docs.unity3d.com/Manual/webgl-gettingstarted.html

-

質問:

  1. 何らかの形でJavascriptコードを保護しているのはEmscriptenおよび/またはasm.jsですか? どのように?
  2. それは安全ですか?私が本当に一生懸命やれば、このコードから何かを「盗み」、ゲームのハック/チートを書くことができます: https://files.unity3d.com/jonas/AngryBots/Release/AngryBots.js
  3. すでに JavaScript ゲームを作成している場合、Emscripten が Unity3D ゲームに対して行うことを行うにはどうすればよいですか? (#2が真であると仮定)