⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 module1.bas

📁 VB做的内存补丁模板,可以制作出自己的内存补丁风格,类似KEYMAKE的功能
💻 BAS
字号:
Attribute VB_Name = "patchfile"
Public lngHwnd As Long '程序句柄
Public pHandle As Long '进程句柄
Public pId As Long ' 进程标志
Const PROCESS_ALL_ACCESS = 2035711
Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWND As Long, lpdwProcessId As Long) As Long
Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesRead As Long) As Long
 Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Long, lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long
Public Const PROCESS_VM_OPERATION = &H8&
Public Const PROCESS_VM_READ = &H10&
Public Const PROCESS_VM_WRITE = &H20&





'**************************************
'从内存指定位置读取数据
'**************************************
Public Function ReadMem(MemAddress As Long) As Long
Dim lngRlt As Long
Dim l As Long
    If pHandle <> 0 Then
        lngRlt = ReadProcessMemory(pHandle, MemAddress, ByVal VarPtr(l), 1, 0&)
        ReadMem = l
    Else
        ReadMem = 0
    End If
End Function


'**************************************
'把数据写入内存
'**************************************
Public Sub WriteMem(MemAddress As Long, val As Long)
Dim lngRlt As Long
Dim l As Long
l = val
lngRlt = WriteProcessMemory(pHandle, MemAddress, ByVal VarPtr(l), 1, 0&)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -