[過去ログ]
不正対策技術 (34レス)
不正対策技術 http://mevius.5ch.net/test/read.cgi/gamedev/1237924385/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
14: 名前は開発中のものです。 [sage] 2009/03/28(土) 01:58:28 ID:VmnRmpjg >7 同人レベルのオフラインゲーならチート対策なんかに労力使わないほうが いいと思うけどね。まぁちょっとだけ書いとく。 チートは基本アセンブラだから、開発言語は関係ない。ランタイムにちょっと 癖があるかもだけど。 ・バイナリ改変、デバッグ起動対策→パッキング asprotect や upx なんかをぐぐれ。exe をパッキングするだけ。 ・デバッグアタッチ対策→ IsDebuggerPresent() (kernel32.dll) をスレッドで 常時回してチェック。olly等のアプリデバッガーに有効。カーネルデバッガには効かない。 また、普通の解析者ならこの関数callはすぐ潰すので気休め程度。 少し気合いれるなら、ゲームプロセスを2つに分けて親プロセスから子プロセスを デバッグアタッチしてしまうことで、他からのデバッグを防ぐことも可能。 (続く) http://mevius.5ch.net/test/read.cgi/gamedev/1237924385/14
15: 名前は開発中のものです。 [sage] 2009/03/28(土) 02:00:03 ID:VmnRmpjg ・プロセスメモリ読み書き対策→プログラムで工夫 チートする場合、うさみみハリケーンのようなツールでゲームパラメータの数値をサーチし プレイヤーのLv値やらなにやらを割り出してメモリを書き換えるのが一番簡単。 外部プロセスからのReadProcessMemory/WriteProcessMemoryを阻止するのは 困難なので(グローバルフックやシステムコール改変が必要)、プログラムで工夫する。 例えばC#で、プレイヤーのクラスがあったら public class PlayerInfo { int m_key = 0xe6c5b4a3; int m_exp = 0 ^ m_key; public int getExp(){ return (m_exp ^ m_key); } public void addExp(int num){ m_exp = (num + getExp())^ m_key; } } こんな感じで、メモリ上にパラメータを生で持たせないようにすれば、 外部ツールで経験値の値をメモリ検索されてもすぐには割り出せなくなる。 ミジンコ程度なら防げるだろう。 やりだすときりがないから。 フリーや同人ゲーのチート対策は労力に見合わないよ。 http://mevius.5ch.net/test/read.cgi/gamedev/1237924385/15
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.134s*