心空妙有 发表于 2023-8-9 23:03

易语言怎么根据CE找到的基址读取


直接读44F73CEC是可以读到720的
前面用偏移就读不到,是因为CE里"game.bin"这个地址也要加上吗,但是这个不就是进程ID吗

谁的坏叔叔 发表于 2023-8-9 23:30

读模块基质 再加上那些偏移就可以了

心空妙有 发表于 2023-8-9 23:40

谁的坏叔叔 发表于 2023-8-9 23:30
读模块基质 再加上那些偏移就可以了

什么ec模块里有读模块基址的函数,我用了精易的读不出来

lorentutuve 发表于 2023-8-9 23:56

省事点的话   你CE去掉所有的偏移,只写game.bin+010FFA14地址栏应该会显示一个模块偏移后的基址直接读这个就行了

沧恋 发表于 2023-8-10 01:03

在ce里面转到game.bin+010FFA14这个地址,然后就能得到这个地址的。如果不明白那就在ce添加地址那把这个地址game.bin+010FFA14放进去然后确定你就能在列表中看到这个进程模块地址加偏移得到的地址了。

沧恋 发表于 2023-8-10 01:05

如果game.bin模块的地址是固定不变的那到不用取这个模块的地址,在ce里面添加这个game.bin模块名称就能得到这个模块的地址了。

随风起舞 发表于 2023-8-10 11:32

像这个,服务器类 = 取模块句柄ex (进程PID, “server.dll”)对应你的是获取“game.bin”的地址;
本人基地址 = 读内存整数型 (进程PID, 服务器类 + 十六到十 (“4F2FEC”), )就是跟你读取“game.bin”+010FFA14一样了,你应该是这样来读取一个基址,也就是读后会是1F663A40这个值;
敌人人数 = 读内存整数型 (进程PID, 服务器类 + 十六到十 (“14”), )对应你的偏移一样,你一层层读上去就行了,,,,,,我感觉你要搞内存类的应该学一下CS1.6和植物大战僵尸的教程内容才行,因为是最基本的。

笨蛋の猫猫 发表于 2023-8-10 14:46

.版本 2
.支持库 ncdx98

.程序集 程序集1
.程序集变量 内存, 内存读写类
.程序集变量 pid, 整数型
.程序集变量 进程句柄, 整数型
.程序集变量 地址, 整数型

.子程序 _启动子程序, 整数型

pid = 进程一名取PID (“”, )
地址 = 内存.计算地址表达式 (pid, “game.bin+010FFA14+14+64+10+10+16C”)
输出调试文本 (十到十六_ (地址, ))
返回 (0)

心空妙有 发表于 2023-8-10 19:09

笨蛋の猫猫 发表于 2023-8-10 14:46
.版本 2
.支持库 ncdx98



内存.计算地址表达式是哪个模块的,我查了下NB模块,但是没有

心空妙有 发表于 2023-8-10 19:12

心空妙有 发表于 2023-8-10 19:09
内存.计算地址表达式是哪个模块的,我查了下NB模块,但是没有

没事了,找到了
页: [1]
查看完整版本: 易语言怎么根据CE找到的基址读取