紫猫学院社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 171|回复: 0

[求助] 大漠插件修改内存

[复制链接]

4

主题

19

帖子

19

积分

学前班

Rank: 1

猫粮
60
发表于 2019-2-8 16:01:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 kf2004 于 2019-2-8 16:18 编辑

第一次使用按键精灵内存修改,为了试验就找了植物大战僵尸
我系统64位 win7

[按键精灵] 纯文本查看 复制代码
//创建大漠并得到大漠的版本
Set dm = CreateObject("dm.dmsoft") 
TracePrint "当前大漠注册版本号: " & dm.ver()
Hwnd = Plugin.Window.Find("MainWindow", "植物大战僵尸中文版")
TracePrint "游戏窗口句柄= "& Hwnd
If Hwnd < 1 Then 
    MessageBox "游戏无法找到"
    EndScript
End If
GameId = Plugin.SysEx.GetProcessID(hwnd)
TracePrint "游戏进程ID=" & GameId
Val = Plugin.Memory.Read32Bit(Hwnd, &H6A9F78)'一级基址
TracePrint "一级基址= "&Val
Val = Plugin.Memory.Read32Bit(Hwnd, Val + &H768)'二级基址
TracePrint "二级基址= "&Val
Val = Plugin.Memory.Read32Bit(Hwnd, Val + &H5560)'阳光地址
TracePrint "官方获取  阳光= " & Val
//下面是大漠的
阳光地址 = "[[<PlantsVsZombies.exe>+2A9F78]+768]+5560"
'冷却时间 = "[[[<PlantsVsZombies.exe>+2A9F78]+768]+144]+70"
value = dm.ReadInt(hwnd, 阳光地址, 0)
TracePrint "大漠获取  阳光= " & value
返回 = dm.SetMemoryHwndAsProcessId(1)
TracePrint "进程ID来使用内存接口情况: 0失败 1成功    当前= " & 返回
dm_ret = dm.WriteInt(hwnd, 阳光地址, 0, 100)
TracePrint "修改情况: 0失败 1成功      当前= " &dm_ret
'value = dm.ReadInt(hwnd, 冷却时间, 0)
'value16 = Lib.自建函数.进制转换(value,10,16)
'TracePrint "大漠获取  冷却时间= " & value & " ,十六进制=" & value16


读取内存数据一切都正常,就是无法修改,
不管我用不用"返回 = dm.SetMemoryHwndAsProcessId(1)"
dm_ret = dm.WriteInt(hwnd, 阳光地址, 0, 100) 始终返回0
要怎么样才能修改内存值??

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|紫猫编程学院  

GMT+8, 2019-4-25 00:51

Powered by Discuz! X3.4

© 2012-2018 紫猫编程学院

快速回复 返回顶部 返回列表