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

不正対策技術

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

例えばチェックサムとかでバイナリ改変チェックを入れたとして
そのチェック自体をバイナリ改変でスルーすることができると思いますが
その対策とかはあるのでしょうか?
おそらくどんな対策(nProにしても)も上級者には破られると思いますが
中級者くらいまで防ぐ目的でお願いします。
0018名前は開発中のものです。2009/03/28(土) 12:10:58ID:PoTwSL3E
>>17
同感。
また徒に対策を強化することで、かえって対抗心を煽るってケースもあるしな。
チートすることよりもプロテクトを破ることに燃えられては、ますます無意味。
0019名前は開発中のものです。2009/03/28(土) 16:27:27ID:r7XGExcp
チートって攻撃力とかパラメータの数値をイジルだけ?
たとえば、こういうゲームはチートできるの?
http://d.hatena.ne.jp/ku-ma-me/20081216
0020名前は開発中のものです。2009/03/29(日) 00:14:00ID:XYxGas62
>>19
おもろいねこれ。
チートはできるよ。
Life10の数値をLife1万とかにすればゲームバランスくずれちゃうでしょ。
0021名前は開発中のものです。2009/04/06(月) 21:58:18ID:7OvX1Q9e
毎フレーム数値をチェックして本来変化するわけのないタイミングで数値が変化したらエラー吐いて強制終了とか効かないかなぁ
0022名前は開発中のものです。2009/04/07(火) 01:05:27ID:YsFjy+bQ
>>21
デバッガでエラー用文章を参照している部分を検出されたらアウト
もしくは、終了処理から辿られてもダメ
たぶんほとんど効かないと思うよ
0023名前は開発中のものです。2010/04/24(土) 01:16:22ID:9G78iIee
宮島
0024名前は開発中のものです。2010/05/09(日) 15:32:46ID:ED8VE6R2
0025名前は開発中のものです。2010/05/10(月) 00:40:18ID:DZxYnn6i
ピドさん、まだいたのか。最近どうよ?
0026名前は開発中のものです。2011/01/21(金) 19:59:44ID:U+ZAaHOJ
知識もないのに言語指定する>>1が立てるスレにロクなのがあったためしがない。
0027名前は開発中のものです。2011/04/08(金) 00:10:20.62ID:Er/SZGT/
ちょっといいか?
プログラムの最初に乱数出してその数だけ変数作ったらどうなるんだ?
これでランダムアドレス作れねーかな
0028名前は開発中のものです。2011/04/08(金) 11:43:27.59ID:s8IM5VZ3
その乱数を求めるルーチンをクラックされて終了だと思う・・・。
0029名前は開発中のものです。2011/04/10(日) 09:18:47.29ID:C/1vZ/r2
ランダムジェネレータに /dev/random とか使えばいけるし、
現代ではごく普通に知られているアイディア。
http://en.wikipedia.org/wiki/Address_space_layout_randomization
0030名前は開発中のものです。2011/04/10(日) 10:59:25.04ID:HSWES0Pp
アホなの?それとも本気で言ってるの?
乱数の質が問題なんじゃねえんだよ。
アプリ内にせよOSやCPUが提供するものにせよ、アプリ内の乱数ジェネレータにアクセスする部分のコードをバッサリと削除or改変して、変数領域が常に同じ場所に留まるようにされたらそれまでだろうが。
仮に、それを検出するコードを付加したところで、さらにその部分を探し出してクラックされたらそれまでだ。

そもそも、PS3のCellのSPEのアイソレーションモードみたいな例外を別にすれば、殆どの汎用CPUは、プロセスを完全に外部から保護・隠蔽する手段がない。
たとえ、不正対策ルーチンを一般のプロセスより上位に持って行こうと、カーネルデバッガで追われたらそれまでだ。
ローカルで処理する限り、クラッカーに手がかりを与えないことなど原理的に不可能だ。

変数領域を動かすなんてチンケな手法は、昔から普通に実装されていて、そして普通にクラックされまくりなんだよ。
市販の改造ツールで解析ごっこしてる素人に対する目眩まし程度にはなっても、本気でクラックしてる奴には何の障害にもならん。
0031名前は開発中のものです。2011/04/10(日) 11:00:09.48ID:HSWES0Pp
訂正
>アプリ内の乱数ジェネレータにアクセスする部分のコードを
アプリ内から乱数ジェネレータにアクセスする部分のコードを
■ このスレッドは過去ログ倉庫に格納されています