注册 登录
编程论坛 VB6论坛

WriteProcessMemory 错误

hnhhzhb1977 发布于 2021-09-02 16:12, 1299 次点击
Dim hwnd As Long: Dim Pid As Long: Dim str As Long ' 存储显示文本
Dim nSize As Long: Dim pHandle As Long
'---------------------------------
Dim a As Long
a = &H5A3ADE
Dim Number As Byte
 Number = &H27
'----------------------------------
hwnd = FindWindow("?????⒊  ???眏??跌怠", vbNullString)
GetWindowThreadProcessId hwnd, Pid
pHandle = OpenProcess(&H1F0FFF, False, Pid)
plv = (VirtualAllocEx(pHandle, 0&, 2, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE))
Form1.Text3.Text = Hex(plv)
'-------在此以上均成功-----


Form1.Text2.Text = WriteProcessMemory(pHandle, VarPtr(a), Number, 2, 0&)
Call ReadProcessMemory(pHandle, ByVal &H5A3ADE, str, 2, 0&)
‘---ReadProcessMemory 也能得到正确结果----’
CreateRemoteThread pHandle , 0, 0, plv, 0

'关闭进程句柄
CloseHandle hProcess
Form1.Text1.Text = (str)
4 回复
#2
hnhhzhb19772021-09-02 16:14
我想做一个“大航海时代4”单机游戏内存修改器。现在不知道怎么弄了。请高手帮忙!!!!!!
#3
时光流逝2021-09-04 18:08
你的代码里都没有用到WriteProcessMemory啊?
#4
时光流逝2021-09-04 18:11
对不起,是我眼瞎了
#5
时光流逝2021-09-04 18:12
你把GetLastError的错误码发上来看一下
1