用Cheat Engine可以找的地址,你到网上搜一搜,会有一大堆的。下面是我找的一个地址,阳光的地址,然后进行修改的代码。测试有效!
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Const PROCESS_ALL_ACCESS = &H1F0FFF
Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Private Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Long, ByVal lParam As Long) As Long
Private Sub Command1_Click()
Dim hwd As Long
Dim phandle As Long
Dim address As Long
Dim a As Long
a = &H1000
hwd = FindWindow(vbNullString, "植物大战僵尸中文版")
GetWindowThreadProcessId hwd, Pid
phandle = OpenProcess(PROCESS_ALL_ACCESS, False, Pid)
If phandle Then
ReadProcessMemory ByVal phandle, ByVal &H6A9EC0, ByVal VarPtr(address), 4, 0&
ReadProcessMemory ByVal phandle, ByVal address + &H768, ByVal VarPtr(address), 4, 0&
WriteProcessMemory ByVal phandle, ByVal address + &H5560, ByVal VarPtr(a), 4, ByVal 0& '修改阳光数
End If
CloseHandle phandle
End Sub
温馨提示:答案为网友推荐,仅供参考