TC官方合作论坛

 找回密码
 立即注册
查看: 2115|回复: 4

[问题] 为什么读不了内存了,帮帮忙呀

[复制链接]
发表于 2020-12-15 11:15:50 | 显示全部楼层 |阅读模式

马上加入TC

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

x
    var hwnd=windowfind("泰拉瑞亚:红色开发救赎")   
    var read=read4byte(hwnd,#2127DD28)     
    messagebox(read)
今天怎么就不好使了!读出全是0
回复

使用道具 举报

发表于 2020-12-15 13:25:18 | 显示全部楼层
本帖最后由 bestkakkoii 于 2020-12-15 13:34 编辑

先用调适输出确认句柄是否正确
然后用CE确认内存地址是否正确
所需的数据是byte,4byte,float还是double

建议使用大漠读内存功能比较方便准确
大漠支持进程基址+偏移的方式读取内存
在不同电脑使用的时候比较方便

regdll("rc:dm.dll", true)
dm = com("dm.dmsoft")
var read = dm.ReadInt(hwnd, "2127DD28", 0)
messagebox(read)
或假设你的进程基址是0400000进程名是"泰拉瑞亚.exe"
就会变成
var read = dm.ReadInt(hwnd, "<泰拉瑞亚.exe>+2017DD28", 0)
messagebox(read)
实际上你还是要用CE看基址跟偏移


即使是绿色基址每次重开机都会改变
CE中一般也会显示进程名+偏移
XXX.exe+XXXXX 之类的才是不会变的除非你自己写一个功能每次启动都自动计算进程基址偏移后的绿色基址..

(我也是学习中的小白有不对的地方就要请大佬们指证了)





回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-15 14:23:09 | 显示全部楼层
bestkakkoii 发表于 2020-12-15 13:25
先用调适输出确认句柄是否正确
然后用CE确认内存地址是否正确
所需的数据是byte,4byte,float还是double

谢谢,
我放弃了,我用按健了,同样的地址,同样的句柄,试了N次了,都是0,用按健可以读出来,我也不知道为啥,

回复 支持 反对

使用道具 举报

发表于 2020-12-15 16:24:09 | 显示全部楼层
本帖最后由 bestkakkoii 于 2020-12-15 16:27 编辑

.
回复

使用道具 举报

发表于 2020-12-15 16:26:05 | 显示全部楼层
本帖最后由 bestkakkoii 于 2020-12-15 16:28 编辑
dreamgengs 发表于 2020-12-15 14:23
谢谢,
我放弃了,我用按健了,同样的地址,同样的句柄,试了N次了,都是0,用按健可以读出来,我也不知 ...


TC自带某些功能还是有点问题的,配合其他插件能更好发挥出TC的优势
這是3.1233版的
dm.dll (804 KB, 下载次数: 3)
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-26 12:08 , Processed in 0.044752 second(s), 26 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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