| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1983 人关注过本帖
标题:内存地址读写例子
取消只看楼主 加入收藏
世纪情缘
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-13
收藏
 问题点数:0 回复次数:1 
内存地址读写例子
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
'找指定窗口,返回窗口句柄
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal 窗口句柄 As Long, lpdwProcessId As Long) 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 WriteProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
'写内存
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As Long, ByVal lpBaseAddress As Any, ByVal lpBuffer As Any, ByVal nSize As Long, lpNumberOfBytesWritten As Long) As Long
'读内存
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
'关闭进程句柄,返回布尔值




Private Sub btnPasteName_Click()
' (1)声明一些需要的变量
Dim 窗口句柄 As Long ' 储存 FindWindow 函数返回的窗口句柄
Dim 标识符 As Long ' 储存进程标识符( Process Id )
Dim 进程句柄 As Long ' 储存进程句柄

' (2)用已知 窗口标题 获得 窗口句柄
窗口句柄 = FindWindow(vbNullString, "无标题 - 记事本")
If (窗口句柄 = 0) Then  '计算器没有运行返回0
MsgBox "找不到计算器窗口!"
Exit Sub  '直接结束过程
Else      '计算器运行的话打印出窗口句柄
MsgBox "窗口句柄是:" & 窗口句柄
End If

' (3)用前面得到的 窗口句柄 获得线程 标识符
GetWindowThreadProcessId 窗口句柄, 标识符
MsgBox "标识符是:" & 标识符

' (4)用线程 标识符 取得 进程句柄 用完全存取权限打开进程
进程句柄 = OpenProcess(1, False, 标识符)
If (进程句柄 = 0) Then
MsgBox "如果权限使用了英文表达式,XP中将返回失败"
Exit Sub
Else      '进程成功打开的话打印出进程句柄
MsgBox "进程句柄是:" & 进程句柄
End If

' 在内存地址中写入名字,注:内存地址用工具自己找。
'WriteProcessMemory 进程句柄, &H14DD4, "12345", 5, 0&
Dim str As String * 20 ' 存储显示文本
' 读取内存数据
ReadProcessMemory 进程句柄, txtDisplay.Text, str, 20, 0&
' 在文本框显示
txtDisplay.Text = str
' 关闭进程句柄
x = CloseHandle(进程句柄)
If (x = 0) Then
MsgBox "进程关闭失败"
Else
MsgBox "进程关闭成功,请加QQ群:1739262"
End If
End Sub
收到的鲜花
  • 永夜的极光2008-11-19 18:00 送鲜花  49朵   附言:好文章
搜索更多相关主题的帖子: 内存 例子 地址 
2008-11-18 19:22
世纪情缘
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-4-13
收藏
得分:0 
呵,一小时前顶我,谢谢,
其实这个程序是个单机游戏修改器,
主要是读取血量,读出内存地址血量,然后写个东西 IF 血量<X 就 、、、
把10000血量写入这个地址里,让你无敌于天下、、、
2008-11-18 23:23
快速回复:内存地址读写例子
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022348 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved