我看了你帖的
制作武林外挂的
帖子,按找你说的那么做了,基地址也找出来了,可是就是在写成VB以后不能正常显示血量,绝对不是
程序的事,我在CE里手动添加地址后也一样,不能正常显示血量,以下是我写的代码
Dim hwd As Long '储存 FindWindow 函数返回的句柄
Dim pid As Long
Dim hProcess As Long '存放进程句柄
Private Sub Form_Load()
hwd = FindWindow("QElementClient Window", "Element Client")
If hwd = 0 Then
MsgBox "外挂未检测到游戏正在启动", vbOKOnly, "警告"
Unload Form1
End If
GetWindowThreadProcessId hwd, pid '获取进程标识符
'将进程标识符做为参数,返回目标进程PID的句柄,得到此句柄后
'即可对目标进行读写操,PROCESS_ALL_ACCESS表示完全控制,权限最大
hProcess = OpenProcess(PROCESS_ALL_ACCESS, 0, pid)
If hProcess = 0 Then
MsgBox "无法使用外挂,程序将自动退出", vbOKOnly, "警告"
Unload Form1
End
End If
CloseHandle hProcess
Dim h As Long
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
If hProcess Then
ReadProcessMemory hProcess, ByVal &H9338DC, h, 4, 0& '这三条代码读取获得生命值
Label1.Caption = h
ReadProcessMemory hProcess, ByVal h + &H24, h, 4, 0&
Label2.Caption = h
ReadProcessMemory hProcess, ByVal h + &H254, h, 4, 0&
CloseHandle hProcess
End If
Label4.Caption = h '输出生命值
End Sub
方法都在模块里就不帖上来了,都是按照你写的原封不动挪过去的。
我找到的基地址是 009338DC
基地址应该没有错找了好多次都是这一个!
是不是已经不是254了?我大概猜是这样的,如果是这样那么怎么才可以求出每次改变的这个数呢,还有这个数叫什么?偏移量吗?
飞天外挂也不行了 是不是地址也改变了 这些地址是通过什么算出来的?各种不懂啊,我是个初学者,请教。。。。。啊!!!
请问为什么不可以正常显示血量啊,是武林出了什么新手段不能检测出血量了 还是我哪里没弄好呢!望指教,急急急!!!跪求啊!!!!我想找个师傅,能给个思路什么的就好!小弟不胜感激啊!!我的QQ39627574 我原来是做WEB开发的大家可以一起交流啊!!!!
[
本帖最后由 ddryang 于 2008-2-9 20:56 编辑 ]