トップページgamedev
31コメント14KB

不正対策技術

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/03/25(水) 04:53:05ID:DQcGtJGv
バイナリやメモリの改変とかの不正に対する技術について。
とりあえずC#でお願いします。

例えばチェックサムとかでバイナリ改変チェックを入れたとして
そのチェック自体をバイナリ改変でスルーすることができると思いますが
その対策とかはあるのでしょうか?
おそらくどんな対策(nProにしても)も上級者には破られると思いますが
中級者くらいまで防ぐ目的でお願いします。
0002名前は開発中のものです。2009/03/25(水) 12:12:32ID:23oJFWZJ
またしても、このまま何年も残るスレがここに誕生。
0003名前は開発中のものです。2009/03/25(水) 17:38:14ID:zdTg+CO8
なぜC♯なのかと小一時間考えたが、理由が見つからなかった。

ハードウェア認証にすれば、コストはかかるけどほぼ破られないよ。
ソフトウェア的な対策では、すぐに破られるので、
ドングル使いましょう。
0004名前は開発中のものです。2009/03/25(水) 17:49:41ID:Z98x9JtB
トングル使ってもチェックしてるのがソフトウェアだったら大して変わらんとおも
0005名前は開発中のものです。2009/03/25(水) 18:19:09ID:ME26m55j
まずは C# 難読化 で検索とかしたのか?
0006名前は開発中のものです。2009/03/25(水) 20:37:40ID:wUjBbi10
チートについて知りたいなら、まず自分でゲームのチートしてみれ。
バイナリ改変チェック、デバッガー感知、プロセスメモリ読み書き&
メモリ(CODE)改変チェック、フック感知、プロセスリスト改変、SDT改変チェックetc

nProは実質rootkitだしえぐいことやってるけど、専用のサーバが必要だから
オンラインゲーム専用。

ソフトウェアセキュリティは、アプリ領域、カーネル領域に渡ってもう
何十年も議論されてることだから、やりだすときりがないよ。
パッキングやデバッガー感知程度じゃすぐ破られるからチート対策に
時間をかけるのは諦めてゲーム作りに注力しれ。
000712009/03/26(木) 09:05:14ID:XEePzfhA
C#というのは現在作成しているものがそれだったからです。
難読化につきましては参考になりました。
チートについてはツールでメモリ変えたりとかくらいで
バイナリ改変とかはどこを変えればよいかは分かりません。
デバッガーで追って探すのかと思いますがよく分かりません。
あまり時間はかけたくありませんがミジンコ級+αを排除するにあたって
バイナリ改変チェック、プロセスメモリ読み書き& メモリ(CODE)改変チェック
あたりについて何かご教授ねがえませんでしょうか?
0008名前は開発中のものです。2009/03/26(木) 12:13:25ID:i3D+XMq7
チートする旨みを無くせばいい。
個人ゲームの場合は、自らデータ改変ツールも配布するとか。
0009名前は開発中のものです。2009/03/26(木) 12:47:00ID:bDTwkiY2
ゲームする旨みも無くなるな
0010名前は開発中のものです。2009/03/26(木) 13:15:07ID:8D1MhSXx
たしか、webブラウザハッキングコンテストでランダムメモリになってるとむずいってあったな
0011名前は開発中のものです。2009/03/26(木) 13:32:02ID:iTPUhNHi
チートを防ぐのは難しいが、チートする人間を分離するのはやりやすい

例えば全国対戦ゲームなら
チートや回線切りを繰り返すユーザーを懲罰マッチングに入れてしまう
もちろんそういう情報は公開しないし、判定はセンターサーバーにやらせる
kickは集団チーターに対処できないから駄目
垢削除もサブ垢を増やすだけなので根本的な解決とは言えない
違反者を知られぬように隔離するのが有効
なぜなら、チートをしないまっとうなユーザーを守れれば目的は達成されるから

こういう風に考え方を変えないと、作業量が多くなりすぎてゲーム製作自体が成り立たなくなると思う
■ このスレッドは過去ログ倉庫に格納されています