Learn · modules

FakeHandとは Minecraft? モジュール解説

フェイクハンドは、クライアントとサーバー間で保持しているアイテムの同期をずらすことで、画面を見ている人にはアイテムの入れ替えが隠れるエクスプロイトモジュールです.

TRtrolPublished 1 min read

MinecraftにおけるFakeHandとは?

FakeHandは、Minecraftにおける脆弱性を悪用するモジュールの一種で、プレイヤーの画面に表示される手と、サーバーが実際に記録したアイテムとのインタラクションの関連性を切断します。通常、これらは常に連動しています。アイテムを切り替えると、クライアントのレンダリングとサーバーの装備アイテムの状態が同時に更新されます。FakeHandは、表示されている手を固定するか、まったく別のアイテムを表示しつつ、モジュールが動作していない場合と全く同じように、その下の実際のインタラクションが実行されます。サーバーは何も異変を感じません。異変に気づくのは、画面を見ている人だけです。

その魅力は、純粋な隠蔽にあります。誰かに見られているときに、自分が持っているアイテムを隠したい場合、それが観戦者、ストリーマー、またはスクリーンシェアであろうと、FakeHandはアイテムの切り替えタイミングを読ませないようにします。

FakeHandの仕組み

FakeHandは、視覚的なレイヤーにのみ影響を与えます。パケットを書き換えたり、入力を遅延させたりすることはありません。サーバーが実際に追跡している装備アイテムの状態から、レンダリングされた手のモデルを切り離します.

プレイヤーが戦闘中に剣からトーテムに切り替えたとします。サーバー側では、その切り替えとそれに続くすべての動作は、モジュールが一切実行されていないクリーンなクライアント上で行われるのと全く同じように発生します。FakeHandの役割は、剣を表示しているか、何も表示していないかのレンダリングされた手を表示し続けることのみで、サーバーが記録するトーテム解除のインタラクションがその下に完了するのを維持することです。

それが仕組み全体です。ヒットボックスの計算、タイミングのテクニック、サーバーの非同期化はありません。単に、実際に起こったことと、それが起こっている間に画面に表示されることとの間のギャップがあるだけです。サーバーの状態は常に正しいです。誤っているのは、あなた自身の視覚的なレンダリングだけです。

存在意義

FakeHandは、実際に起こったことと視覚的な手の不一致を作り出すために存在します。その不一致が露呈することで、パケットではなく映像にばれます。スクリーンシェアのレビュー担当者、観戦者、またはクリップを再視聴し、通常のアニメーションアイテムの切り替えがどのようなものかを知っている人は、まさにそれを捉えるための目を備えています。

これは、観察者が人間であり、自動化されていない場合に構築されています。パケットを監視するアンチチートシステムは、違いを検知できません。なぜなら、その側には違いがないからです。あなたの画面を視聴する人は、あなたの視覚的な手と実際の動作との間に不一致があるのを目撃し、それがリスクとなります。

検出

パケットレベルのチート対策では、ここから何かを判断するのはほとんど不可能だ。FakeHandはヒット距離に触れないし、ティックの追加や削除もしないし、インタラクションが解決する速度も変えない。サーバー側のデータは、クリーンなクライアントが送信するものと全く同じだ。クライアントが報告する状態とサーバーの状態の一貫性に基づいて構築されたチェックでは、矛盾は見つからない。なぜなら、その側には矛盾が存在しないからだ。

この手法は、ほとんどの不正ツールとは逆の方向に作用する。FakeHandは、意図的に表示される手の動きと実際に起こったことの不一致を作り出すために存在する。その不一致が露呈するのは、パケットではなく映像の中だ。サーバー側のリスクをトレードオフにして、視覚的なリスクを取っている。完全にリスクを回避しているわけではない。

使用しても安全か

安全性は状況次第だ。誰も見ていないソロゲームやプライベートサーバーでは、FakeHandは何もせず、リスクは伴わない。しかし、人間の観察者や視聴者、画面共有の状況下では、明白な視覚的な不一致が生じる。熟練した観察者はそれを検知するだろう。未熟な観察者は見逃すかもしれない。

不正クライアントを禁止するサーバーは、スタッフがライブで検知するかどうかに関わらず、不正ツールカテゴリのモジュールを同じように扱う。

FAQ