whsnl 发表于 2023-1-16 11:33

基址加偏移后 内存变了 有没有大大来帮忙解决下


第一条是基址第二条是基址加上48的偏移结果地址变成了这样前面内存地址多了个 1DB而且每次打开软件前面的内存3位数都会变 应该是动态的

这CE里面加了48偏移是正常的 但是到易语言加48偏移就不行了 要写成这样



但前面的每次都会变 在易语言里不知道怎么写了不可能每次都去改一下前面的3位数吧

求大大帮忙看看 我应该怎么搞

lies 发表于 2023-1-16 11:33

本帖最后由 lies 于 2023-1-17 12:36 编辑

你看看第一张截图第二条的地址,低32位0x90562B0是不是等于0x90562AB8+0x48?这个结果是正确的,问题出在哪里呢?你先搞清楚你的程序是64位还是32位的,现在是64位地址,取的数据是32位,第二条的地址同样按64位处理,因为你第一条取到的基址是32位的,因此只有低32位被处理,高32位的随机数,应该是内存里原来就有的不明数据,只是低32位被你用偏移地址覆盖了,你应该设定第一条数据类型为8字节或将数据扩展为8字节再进行后面的处理,0x0000000090562AB8+0x48高32位结果才会是0。编程上也是一样,要搞清楚地址的处理方式,其实只要加偏移0x48就好,因为前面几位根本就不是你需要的,如果结果不正确,你需要动态跟踪一下地址处理是否都正确了。

我爱学习一 发表于 2023-1-19 07:59

一楼字多,跟一楼混了

whsnl 发表于 2023-1-23 09:04

lies 发表于 2023-1-17 11:44
你看看第一张截图第二条的地址,低32位0x90562B0是不是等于0x90562AB8+0x48?这个结果是正确的,问题出在哪 ...

谢谢 我试试看
页: [1]
查看完整版本: 基址加偏移后 内存变了 有没有大大来帮忙解决下