・プロセスメモリ読み書き対策→プログラムで工夫
チートする場合、うさみみハリケーンのようなツールでゲームパラメータの数値をサーチし
プレイヤーの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;
}
}
こんな感じで、メモリ上にパラメータを生で持たせないようにすれば、
外部ツールで経験値の値をメモリ検索されてもすぐには割り出せなくなる。
ミジンコ程度なら防げるだろう。
やりだすときりがないから。
フリーや同人ゲーのチート対策は労力に見合わないよ。