タイトル | : 他プロセスのメモリの読み書き |
記事No | : 8146 |
投稿日 | : 2008/09/16(Tue) 00:45 |
投稿者 | : ASV |
はじめまして、プログラム未経験と言ってほど無知なASVと申します。 やろうとしてる事を例えると test と言うプロセスのメモリを読み書きする事です。 具体的に言うと test のメモリアドレス 00AABBCC の値を8バイト読み込み その値を任意の値に書き換えようとしてます。
ネットで丸一日調べたのですが、無知な私には理解出来なくて旨くいきませんでした。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ps As System.Diagnostics.Process() = System.Diagnostics.Process.GetProcessesByName("test") Dim p As System.Diagnostics.Process For Each p In ps Next Try Catch MsgBox("プロセスが見つかりません") End Try
Dim hProcess As Integer 'プロセスハンドル Dim lpBaseAddress As Integer '書き込み開始アドレス Dim lpBuffer As Byte 'データバッファ Dim nSize As Byte '書き込みたいバイト数 Dim lpNumberOfBytesRead As Integer '読み取ったバイト数 Dim lpNumberOfBytesWritten As Integer '実際に書き込まれたバイト数
hProcess = ps(0).Handle lpBaseAddress = &HAABBCCDD nSize = 8
ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead) WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten) End Sub
間違いだらけで不完全なコードで非常に見苦しいとは思いますがご教授お願いします。
|