tag: アセンブラ  1/1

Cheat Engineでゴッドイーター3をチートしよう! スクリプト編

Cheat Engineでよくあるのが、体力や弾丸のアドレスを見つけたのに再起動すると使えないといった問題です。これは動的に確保されたメモリ領域の場合に起こる現象です。今回はスクリプトを使ってアドレスを自動検出することで、その問題を解決してみようと思います。これをしておくと、後々ポインタースキャンをする時に作業が楽になります。このゲームの場合ミッションが変わるごとにアドレスが変わるようになっています。この記事...

  •  0
  •  0

DLLインジェクションで実行中プロセスのマシンコードを書き換える

今回はRemoteDLLというツールを使ってdllインジェクションをやってみます。 dllインジェクションとは、実行中プロセスのメモリ空間に自分が作成したdllモジュールを読み込ませ、任意のコードを実行するといったものです。 RemoteDLLはdllインジェクションをGUIで簡単に行えるようにするための補助ツールみたいなものです。 dllはVisual Studioで作成しています。 参考までに↓画像では、dllインジェク...

  •  0
  •  0

キージェネレータの作成でつまずいたところ2 - lea命令

lea命令はgoogleで検索すると、メモリ上のアドレス値をレジスタに格納する命令と出てきますが、 ただ計算するだけの命令としても使われます。 上記の場合、足し算をしているだけです。なので、eax+eaxの答えをecxレジスタに格納しています。C言語に変換すると、ecx = eax + eaxになりますね。...

  •  0
  •  0

キージェネレータの作成でつまずいたところ1 - アセンブラでの配列参照

esiはインデックスを格納していて、* 2は2バイト、C言語でいうところのshort int型になります。6500A8はベースアドレスで、ここを起点としてesi * 2というオフセットを使用して配列を参照しているということですね。C言語に変換すると以下のようになります。unsigned short int data[] = { 0x0000, 0x1021, 0x2042 };...

  •  0
  •  0