TC官方合作论坛

标题: 各位大神帮忙看看那里不对啊 [打印本页]

作者: 875695858    时间: 2013-1-24 22:02
标题: 各位大神帮忙看看那里不对啊
功能 读血()
基址,进程句柄,血量,基址1,基址2
进程句柄=进程.获取进程句柄("完美世界国际版")
循环(真)
基址=进程.读4byte(进程句柄,#A591E0)\\基址
基址1=进程.读4byte(进程句柄,基址+28)\\一级偏移
基址2=进程.读4byte(进程句柄,基址1+52)\\二级偏移
血量=进程.读string(进程句柄,基址2+1172,7)\\基址2+1172是三级偏移
编辑框.设置文本("编辑框0",血量)
循环结束
返回 真
功能结束
以上偏移我都从16位进制换成10进制了
上面读出来的是“?”


作者: qisi2012    时间: 2013-1-24 22:06
额额额
作者: 今非    时间: 2013-1-25 00:25
基址   数据类型是一个地址吗?
基址+28  数据类型是一个地址吗?
作者: 今非    时间: 2013-1-25 00:28
先看看基址2+1172是多少 具体问题具体分析
作者: 875695858    时间: 2013-1-25 11:49
回复 3楼今非的帖子

基址 是游戏的基址,基址+28是基址+偏移28(10进制的)
作者: 875695858    时间: 2013-1-25 11:50
回复 4楼今非的帖子

这个不懂,有具体点的吗
作者: 今非    时间: 2013-1-26 00:59
将基址1  基址2  基址2+1172 转化为16进制输出在编辑框  
看看是否与自己所期望的地址符合,再查问题出在什么地方
作者: 875695858    时间: 2013-1-26 12:20
回复 7楼今非的帖子

功能 读血()
基址,进程句柄,血量,基址1,基址2
进程句柄=进程.获取进程句柄("完美世界国际版")
循环(真)
//基址=进程.读4byte(进程句柄,#A591E0)//基址
//基址1=进程.读4byte(进程句柄,基址+28)//一级偏移
//基址2=进程.读4byte(进程句柄,基址1+52)//二级偏移
//血量=进程.读string(进程句柄,基址2+1172,7)//基址2+1172是三级偏移
血量=进程.读string(进程句柄,#A591E0+#1c+#34+#494,7)
编辑框.设置文本("编辑框0",血量)
辅助.等待(1000)
循环结束
返回 真
功能结束
还是不行  着次编辑框没反应,
基址A591E0  16位偏移1,2,3级分别为1c  34   494      10位偏移是28   52   1172  
帮帮写看看
作者: 今非    时间: 2013-1-26 15:52
功能 读血()
基址,进程句柄,血量,基址1,基址1十六进制,基址2,基址2十六进制
进程句柄=进程.获取进程句柄("完美世界国际版")
循环(真)
基址=进程.读4byte(进程句柄,#A591E0)//基址
基址十六进制=字符串.格式化("%x",基址)
编辑框.设置文本("编辑框3",基址十六进制)  //显示基址

基址1=进程.读4byte(进程句柄,基址+28)//一级偏移
基址1十六进制=字符串.格式化("%x",基址1)
编辑框.设置文本("编辑框4",基址1十六进制) //显示第一次偏移后得到的地址

基址2=进程.读4byte(进程句柄,基址1+52)//二级偏移
基址2十六进制=字符串.格式化("%x",基址2)
编辑框.设置文本("编辑框5",基址2十六进制)//显示第二次偏移后得到的地址
//血量=进程.读string(进程句柄,基址2+1172,7)//基址2+1172是三级偏移
//血量=进程.读string(进程句柄,#A591E0+#1c+#34+#494,7)
血量=进程.读4byte(进程句柄,基址2+1172)
编辑框.设置文本("编辑框6",血量) //显示第三次偏移后得到的血量
                                                  //读string貌似有点问题噢   读4byte足够
辅助.等待(1000)
循环结束
返回 真
功能结束
作者: 875695858    时间: 2013-1-31 13:57
回复 9楼今非的帖子

谢谢  我试试去




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1