精易论坛

标题: 关于CE当中如何读取/写入单浮点数值? [打印本页]

作者: ariosl    时间: 2022-9-1 09:28
标题: 关于CE当中如何读取/写入单浮点数值?

可以确定的是游戏对应的jz没错。读代码可以读到4字节内容。我要如何转换为单浮点或者双浮点呢?

作者: 958389481    时间: 2022-9-1 09:28
ariosl 发表于 2022-9-1 10:58
意思是我先读取模块地址为4194304,然后跟着最后的0003F89C,在加偏移的0嘛? ...

或者你用读整数读到倒数第二层偏移那 最后加一个十六进制的78就是你要的地址了
作者: 空竹    时间: 2022-9-1 09:34
你这啥模块的内存,

作者: ariosl    时间: 2022-9-1 09:35
空竹 发表于 2022-9-1 09:34
你这啥模块的内存,

内存读写2.3模块。
作者: ariosl    时间: 2022-9-1 09:36
ariosl 发表于 2022-9-1 09:35
内存读写2.3模块。

支持64位读取的。
作者: 空竹    时间: 2022-9-1 09:39
单浮点也是4个字节,双浮点是8个字节,
作者: 空竹    时间: 2022-9-1 09:43
我搞不懂,这怎么没有读入长度的,我精益模块

  
子程序名返回值类型公开备 注
读代码_字节集字节集 读内存字节集。[坛友:“啄啄”提供]
参数名类 型参考可空数组备 注
进程ID整数型要操作的进程ID
地址表达式文本型比如“0A1574D+1D45+547”




作者: 958389481    时间: 2022-9-1 10:11
内存.读小数是单浮点
作者: ariosl    时间: 2022-9-1 10:21
958389481 发表于 2022-9-1 10:11
内存.读小数是单浮点

那它的内存地址就是整数型而不是文本型了,我该如何填写内存地址+偏移呢?
作者: r3gp22    时间: 2022-9-1 10:29
可以小红包的话 我可以远程帮你搞
作者: r3gp22    时间: 2022-9-1 10:36
  
子程序名返回值类型公开备 注
这个问题如何解决  
参数名类 型参考可空数组备 注
参数一文本型
如果真 (参数一 = “小红包”)
信息框 (“问题已解决”, 0, , )
如果真 (参数一 = “帮帮忙,白嫖一下”)
信息框 (“这个问题很难”, 0, , )


作者: 958389481    时间: 2022-9-1 10:51
先把地址一层一层读出来
作者: ariosl    时间: 2022-9-1 10:58
958389481 发表于 2022-9-1 10:51
先把地址一层一层读出来

意思是我先读取模块地址为4194304,然后跟着最后的0003F89C,在加偏移的0嘛?
作者: 数据压缩    时间: 2022-9-1 11:16
格式化文本()
作者: 落雪无尘    时间: 2022-9-1 11:17
读小数型  写小数型
作者: ariosl    时间: 2022-9-1 11:28
958389481 发表于 2022-9-1 11:05
或者你用读整数读到倒数第二层偏移那 最后加一个十六进制的78就是你要的地址了 ...

应该是我表达错误了,我重新描述一下。就是上面的jz在CE用4字节显示是"1112014848",但是用单浮点显示则是"50"。读代码已经可以读取到"1112014848",但是就没办法转为单浮点的"50"去显示。意思就是说我要用内存.读小数去读取它就可以正常显示为"50"了嘛?
作者: ariosl    时间: 2022-9-1 11:29
落雪无尘 发表于 2022-9-1 11:17
读小数型  写小数型

那它的内存地址为“长整数型”,而不是地址表达式。就卡在内存地址上的“长整数型”上面,返回就一直是-1
作者: ariosl    时间: 2022-9-1 11:37
958389481 发表于 2022-9-1 11:05
或者你用读整数读到倒数第二层偏移那 最后加一个十六进制的78就是你要的地址了 ...

直接合成地址就可以了。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4