完全にゲームハックなので多少はぐらかして書きます。そうするくらいなら公開するなという話ですが自己顕示欲を抑えきれなかった。 まずやること 敵、自機の座標が格納されているメモリを探す 当たり判定処理を読んでどんな風になっているのかを把握する 本当はAIを作りたかった。しかし飽きた。 AIのデバッグ用に当たり判定の描画を作ってた。 どう実現するか DLLインジェクションを使う。パラサイトルーチン書くのがとても楽。 どういう風にDLLインジェクションするかだが、出来るだけ元のプロセスのメモリを弄りたくない。 そこで毎フレーム呼び出される関数を見つけて、そこをDLL内の関数で上書きすることにした。 こうするとAttach時に関数を書き換え、Detach時に戻すことで復帰も容易。 毎フレーム呼び出される関数だが、これはキー情報を取得する関数(以下getKeyState())を使った。 インジェクショ
![東方の当たり判定を描画してみるよ! - aki33524の日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/9820972d04130ba3b61796953bfb7b7ea3dfa60a/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fa%2Faki33524%2F20131110%2F20131110060047.png)