VB版 植物大战僵尸修改器源码
前几天在C#版中看到了C#版的修改器源码,现修改一个VB版的
Option Explicit
Private Declare Function ReadProcessMemory _
Lib "Kernel32.dll" (ByVal hProcess As Long, _
ByRef lpBaseAddress As Any, _
ByRef lpBuffer As Any, _
ByVal nSize As Long, _
ByRef lpNumberOfBytesWritten As Long) As Long
Private Declare Function WriteProcessMemory _
Lib "Kernel32.dll" (ByVal hProcess As Long, _
ByRef lpBaseAddress As Any, _
ByRef lpBuffer As Any, _
ByVal nSize As Long, _
ByRef lpNumberOfBytesWritten As Long) As Long
Private Declare Function OpenProcess _
Lib "Kernel32.dll" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal hObject As Long) As Long
Private Const baseAddress As Long = &H6A9EC0
Private Const processName As String = "PlantsVsZombies.exe"
Private Sub cmdMoneyUnlimited_Click() '金钱无限
If cmdMoneyUnlimited.Caption = "启用金钱无限" Then
If GetPid = 0 Then
MsgBox "植物大战僵尸程序还未打开", vbInformation, "提示"
Exit Sub
End If
cmdMoneyUnlimited.Caption = "停止启用金钱无限"
Timer2.Interval = 1000
Timer2.Enabled = True
Else
cmdMoneyUnlimited.Caption = "启用金钱无限"
Timer2.Enabled = False
End If
End Sub
Private Sub cmdSunUnlimited_Click() '阳光无限
If cmdSunUnlimited.Caption = "启用阳光无限" Then
If GetPid = 0 Then
MsgBox "植物大战僵尸程序还未打开", vbInformation, "提示"
Exit Sub
End If
cmdSunUnlimited.Caption = "停止启用阳光无限"
Timer1.Interval = 1000
Timer1.Enabled = True
Else
cmdSunUnlimited.Caption = "启用阳光无限"
Timer1.Enabled = False
End If
End Sub
Private Sub WriteMemoryValue(ByVal baseAddress As Long, ByVal value As Long)
Dim hProcess As Long
hProcess = OpenProcess(&H1F0FFF, 0, GetPid)
WriteProcessMemory hProcess, ByVal baseAddress, value, 4, 0&
CloseHandle hProcess
End Sub
Private Function ReadMemoryValue(ByVal Address As Long) As Long
Dim hProcess As Long
Dim buffer As Long
hProcess = OpenProcess(&H1F0FFF, 0, GetPid)
ReadProcessMemory hProcess, ByVal Address, ByVal VarPtr(buffer), 4, 0&
CloseHandle hProcess
ReadMemoryValue = buffer
End Function
'根据进程获取PID
Private Function GetPid() As Long
Dim objWMIService, objProcess, colProcess
Dim strComputer
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process")
For Each objProcess In colProcess
If objProcess.Name = processName Then
GetPid = objProcess.ProcessID
Exit For
End If
Next
Set objWMIService = Nothing
Set colProcess = Nothing
End Function
Private Sub Timer1_Timer() '阳光无限
Dim Address As Long
If GetPid = 0 Then
cmdMoneyUnlimited.Caption = "启用阳光无限"
Timer1.Enabled = False
Exit Sub
End If
Address = ReadMemoryValue(baseAddress) '基地址不会改变
Address = Address + &H768 '二级地址
Address = ReadMemoryValue(Address)
Address = Address + &H5560
WriteMemoryValue Address, &H1869F '&H1869F=99999
End Sub
Private Sub Timer2_Timer() '金钱无限
Dim Address As Long
If GetPid = 0 Then
cmdMoneyUnlimited.Caption = "启用金钱无限"
Timer2.Enabled = False
Exit Sub
End If
Address = ReadMemoryValue(baseAddress) '基地址不会改变
Address = Address + &H82C '二级地址
Address = ReadMemoryValue(Address)
Address = Address + &H28
WriteMemoryValue Address, &H1869F '&H1869F=99999
End Sub
...全文
相关推荐
VB 版 植物大战僵尸修改器源码
PlantsVsZombiesTool.rar VB 版 植物大战僵尸修改器源码 看到过C++写的,C#写的,所以搞个VB版的实现。
VB.net 植物大战僵尸修改器附源码
VB.net用API修改内存的例程貌似很少,于是心血来潮写了个这玩意,为了写这玩意还特地下了个植物大战僵尸玩,还挺好玩的嗯。 附源代码。
VB 植物大战僵尸修改器 【附源码】
VB做的植物大战僵尸修改器,阳光无限和金钱无限两种功能。
辅助源代码及实现vb,C,C++版本(针对植物大战僵尸作讲解)
辅助源代码及实现vb,C,C++版本(针对植物大战僵尸作讲解)
植物大战僵尸源码
用纯js代码写的植物大战僵尸


API
