2011-09-30 36 views
5

タイトルは、私がチートエンジンのポインタースキャンで見つけたアドレスから読み取ろうとしていると述べています。しかし、唯一の問題は、私がこれまでに作業しなければならなかった唯一のポインタは、ちょうどPointer Address + Offsetです。私はVisual Studio 2010からC#​​.Net 4.0を使用しています。これについて前に何かを見て覚えていると思いますが、当時私には当てはまらないので、あまり考えなかったのです。「プロセス名」+アドレスのようなポインタから読み込むにはどうすればよいですか?

プロセスIDまたはモジュールIDを取得し、それをポインタアドレスに追加してオフセットを追加し、そこから読み取る方法について教えてください。しかし、私はプロセスIDまたはモジュールIDを取得するコマンドを覚えていません:/

これは私が使用しているレベル5のポインタです、私はレベル1または2のポインタを使用したが、私は推測しているそれはまったく同じです。書き込むベースアドレスが得られるまで、ポインタからアドレスを読み取るだけです。

それは私のポインタが次のようになりますことができます場合: 「ProcessName.exe」+ 003E6D98

「の世界では、.NETからのポインタを再生する必要があり、なぜあなたが言った場合、それが役立つかもしれない」 - ジョン・サンダース

私は自分のゲームの1つのトレーナーを作っています。私はこれらのタイプのポインタではなく、これらのタイプのアドレスを扱う方法を忘れてしまいました。私はモジュールのIDを取得する必要があると思うが、私はどのように忘れてしまった。私は実際にメモリとポインタでかなり良いです、私はちょうど通常、その隣にプロセス名がない平均アドレスを持っています。質問に答え

+3

OpenProcess plus ReadProcessMemory –

+0

なぜあなたは、あなたが.NETからのポインタで遊ぶ必要があるのか​​を言えば助けになるかもしれません –

+0

あなたは実行中のループを繰り返してプロセス名を探してプロセスへの参照を作成できますプログラム。 http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx –

答えて

0

OP - これは、sProcessNameのためにあなたのプロセスを検索し、アレイ 'MyProcesses' にそれを追加しますCWの答え

string sProcessName = "MyProcessName.exe"; 
Process[] MyProcesses = Process.GetProcessesByName(sProcessName); 
IntPtr hProcModuleBA = MyProcesses[0].MainModule.BaseAddress; 
IntPtr PointerAddr = new IntPtr(MyPointer.ToInt32() + BaseAddress.ToInt32()); 

として置きます。 BaseAddressを取得するためにリストの最初のものを選択しました。それは40000でした:)

関連する問題