为啥我读出的游戏里的血量值总是零
本帖最后由 zuiyi 于 2009-8-15 08:06 编辑实在搞不懂了,基址和偏移都是最新的,但为什么读出的血总是零啊?我用For遍历时,也无法读出一个和游戏里实际血量相同的偏移.还有,用_MemoryRead读出的血量值是什么数据类型的长度又是多少?望高手看看下面的代码~~
#include<Memory.au3>
$Base=0x0097B55C
$HPofset=0x25c
$CurProcID=WinGetProcess("Element Client")
$Handle=_MemoryOpen($CurProcID)
$HP=_MemoryRead("0x"&Hex($Base+$HPofset),$Handle)
MsgBox(0,"",$HP)
补充下,其它的偏移是
$Address = 0x0097B55C
$ofset = 0x24 完美世界? 没写外挂的经验
估计写外挂的都忙着挣钱去了
楼主还是得多多自行研究啊 2# KLU3K
是武林外传的基址,完美的游戏差不多吧~~ $Handle=_MemoryOpen($CurProcID)
是不是我这里出错了?我用MsgBox(0,"",$Handle)时得到空的窗口,没任何数据,但$Handle<>0,因为判断时不提示出错 #include<Memory.au3>
$Address=0x0097B55C
$offset=0x24
$HPofset=0x25c
$CurProcID=WinGetProcess("Element")
$Handle=_MemoryOpen($CurProcID)
If $Handle=0 then
MsgBox(4096,"错误提示","打开游戏内存错误。")
Exit
EndIf
$one_Address=_MemoryRead($Address,$Handle)
$two_Address=_MemoryRead("0x"&Hex($one_Address+$offset),$Handle)
$HP=_MemoryRead("0x"&Hex($two_Address+$HPofset),$Handle)
MsgBox(0,"",$HP)
这个也不对,高手在哪啊.... 呵呵!高手都去挣钱去了。 再小顶下,知道的高手HELP~ 可能的原因:
1, 没有权限访问进程。
2, 内存地址错误。
3, 函数内部存在错误或者函数调用时存在错误。
4, ... ...
从你能想到的各个方面出发,一一排查吧... - - ||| 没有权限访问进程
假使有防外挂机制 先声明 我不是高手
第一段是不对的 不是read(基址+偏移)
第二段用法是对(如果有2级偏移的话)地址也对的话 那我就不知道了 自己排查下或者可以看看别人代码
去 断点 广海 请人发一小段你学习下是不是格式错了 还是地址错了
页:
[1]