私はC#でメモリスキャナを作ろうとしています。 API関数WriteProcessMemory
とReadProcessMemory
が必要だと聞きました。C#でメモリスキャナを書く
私はそれらを呼ばれる:
[DllImport("kernel32.dll")]
public static extern bool ReadProcessMemory(
IntPtr hProcess,
IntPtr lpBaseAddress,
byte[] lpBuffer,
UInt32 nSize,
ref UInt32 lpNumberOfBytesRead
);
[DllImport("kernel32.dll", SetLastError = true)]
static extern bool WriteProcessMemory(
IntPtr hProcess,
IntPtr lpBaseAddress,
byte[] lpBuffer,
uint nSize,
out UIntPtr lpNumberOfBytesWritten);
私はGoogleで見つかったメモリスキャナのすべての例を理解することは非常に困難でした。私は値addrを見つけるためにあなたはどんなメモリバイトでも検索する必要があると言っている多くの記事を読んだ。今私は、メモリから読み書きするためのプロセスを開くプログラムを取得する必要があります。
GetProcessByName
でこれを行うことはできますか?
短い答え:はい。長い答え:はい。 –
[このプロジェクトのソースを読んで理解してください](http://www.codeproject.com/KB/cs/sojaner_memory_scanner.aspx) –