2017-02-08 15 views
0

C#で文字列のメモリアドレスを取得する必要があります。私はReadProcessMemoryとWriteProcessMemoryで読み書きできます。C#別のプロセスの特定の文字列のメモリアドレスを見つける

このリンクのパート1に似ていますが、OllyDbgでそれを見つける方法を教えているので、私はC#でそれを行う必要があります。 http://www.codingvision.net/security/c-read-write-another-process-memory

編集

私はOllyDbgでそのプロセスを実行するたびに、それは私に私がいることは、C#での読み取り/書き込みすることができ、私は変数のユニットアドレスを探しています別のアドレスを与えます。

+1

これを行うことができたとしても、文字列はいつでもGC中に移動する可能性があります。しかし、それはあなたがこれを行うことができない方法を見ることができるので、議論のポイントです。 –

+0

外部プロセスとしてollydbgを呼び出し、情報をC#呼び出し側に返します。 [実行extern](http://stackoverflow.com/a/11454934/862973) – ldgorman

+0

私はちょうど情報を取得するためにollydbgを使用しています – AmirOperator

答えて

0

OllyDbgのやり方を再現するのは非常に難しく、OllyDbgやCheatEngineのポインタスキャンを使用して探している値の静的アドレスを見つけることができます。 これで、C#プログラムでそのアドレスとポインタを使用して、読み書きできます。

固定アドレスを使用していないため、プログラムの再起動時に置き換えられるアドレスが変更されています。

YouTubeで静的アドレス/ポインタを見つける方法に関するチュートリアルがたくさんあります。

関連する問題