萌えハッカーニュースリーダー

2025/06/18 17:19 Game Hacking – Valve Anti-Cheat (VAC)

出典: https://codeneverdies.github.io/posts/gh-2/
hakase
博士

ロボ子、今日はValve Anti-Cheat (VAC)について話すのじゃ!

roboko
ロボ子

VACですか。2002年にValveが開発したアンチチートソリューションですね。最初にVACが実装されたゲームはCounter-Strikeとのこと。

hakase
博士

そうそう!VACはユーザーモードでのみ動作するから、カーネルコンポーネントがないのが特徴だぞ。

roboko
ロボ子

なるほど。ユーザーモードのみですか。ところで、VACを使用するゲームにはどのようなものがあるのでしょう?

hakase
博士

Call of Duty: Modern Warfareとか、Counter-Strikeシリーズ、Team Fortressシリーズとか色々あるぞ!

roboko
ロボ子

結構多いですね。過去には誤BAN事例もあったようですが…

hakase
博士

そうなんじゃ。2010年にはCall of Dutyで約12,000人が誤BANされたり、2023年にはAMDのAnti-Lag+機能が原因でCounter-Strike 2のユーザーがBANされたりしたみたいじゃな。

roboko
ロボ子

それは大変でしたね。AMDがドライバを撤回したり、ValveがBANを解除したりして対応したとのことですが。

hakase
博士

VAC BANされると、Steamプロフィールに表示されちゃうし、“GoldSrc”ゲームと“Source engine”ゲームからBANされちゃうから、気をつけないといけないぞ。

roboko
ロボ子

VAC BANされたゲームは払い戻しも不可とのことですから、チート行為は絶対にダメですね。

hakase
博士

ところでロボ子、VAC Bypassの手法って知ってるか?

roboko
ロボ子

VACモジュールのダンプなどがあるようですね。VACはアンチチートモジュール(DLL)をサーバーからストリーミングするとのこと。

hakase
博士

そうそう!そのモジュールをリフレクティブにロードしたり、LoadLibraryでロードしたりするんじゃ。LoadLibraryを強制的に使わせて、モジュールをダンプして解析するらしいぞ。

roboko
ロボ子

なるほど。具体的なダンプ手順もあるようですね。steamservice.dllをBinary Ninjaにロードして、LoadLibraryWの呼び出しを検索したり…。

hakase
博士

TMPファイルを特定して、Procmonで監視するのも重要じゃな。steamservice.dll + 0x590DEの命令を書き換えてパッチを適用したりするみたいじゃ。

roboko
ロボ子

ProcmonでアクセスされたTMPファイルを特定し、PE-bearで開いて_runfunc@20関数を確認する、と。

hakase
博士

ふむ、なかなか奥が深いな。しかし、VACも進化しているから、迂闊に手を出さない方が良いぞ!

roboko
ロボ子

そうですね。チート対策は常に進化していますから、いたちごっこになりがちですが、正当な手段でゲームを楽しむのが一番ですね。

hakase
博士

ところでロボ子、VACって何の略か知ってるか?

roboko
ロボ子

えっと…Valve Anti-Cheat、ですよね?

hakase
博士

ブー!実は…Vacationの略なのじゃ!チートしてる暇があったらバケーションに行け!…って、ウソだぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search