开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 179|回复: 3
收起左侧

[已解决] 求助如何简化代码

 关闭 [复制链接]
结帖率:94% (103/109)
发表于 2024-9-12 20:35:01 | 显示全部楼层 |阅读模式   山西省晋城市
5精币
请问各位大佬如何用一句话写出下面的jz+偏移啊?
例如:
内存.读整数 (进程ID, 地址 + 进制_十六到十 (“00ACE5E0+4+14+78”))

我用的精E模块
  
局部变量 地址, 整数型
局部变量 偏移1, 整数型
局部变量 偏移2, 整数型
局部变量 偏移3, 整数型
局部变量 偏移4, 整数型
局部变量 内存1, 类_内存
地址 = 内存.读整数 (进程ID, 模块ID + 进制_十六到十 (“00ACE5E0”))
偏移1 = 内存.读整数 (进程ID, 地址 + 进制_十六到十 (“4”))
偏移2 = 内存.读整数 (进程ID, 偏移1 + 进制_十六到十 (“14”))
偏移3 = 内存.读整数 (进程ID, 偏移2 + 进制_十六到十 (“78”))
调试输出 (偏移3)



最佳答案

查看完整内容

[e=0].版本 2 .子程序 读游戏内存整数, 整数型, 公开, 读取内存地址数据 .参数 进程ID, 整数型, , 游戏进程标识符 .参数 jz, 文本型, , 欲读取的内存jz(十六进制) .参数 偏移1, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移2, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移3, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移4, 文本型, 可空, 没有请留空 (十六进制) .局部变量 数据, 整数型 数据 = 读内存整数型 (进程I ...

求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。
友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
结帖率:100% (5/5)

签到天数: 1 天

发表于 2024-9-12 20:35:02 | 显示全部楼层   陕西省延安市
  
子程序名返回值类型公开备 注
读游戏内存整数整数型 读取内存地址数据
参数名类 型参考可空数组备 注
进程ID整数型游戏进程标识符
jz文本型欲读取的内存jz(十六进制)
偏移1文本型没有请留空 (十六进制)
偏移2文本型没有请留空 (十六进制)
偏移3文本型没有请留空 (十六进制)
偏移4文本型没有请留空 (十六进制)
变量名类 型静态数组备 注
数据整数型 
数据 = 读内存整数型 (进程ID, 到数值 (到十进制 (jz)))
如果真 (是否为空 (偏移1))
返回 (数据)
数据 = 读内存整数型 (进程ID, 数据 + 到数值 (到十进制 (偏移1)))
如果真 (是否为空 (偏移2))
返回 (数据)
数据 = 读内存整数型 (进程ID, 数据 + 到数值 (到十进制 (偏移2)))
如果真 (是否为空 (偏移3))
返回 (数据)
数据 = 读内存整数型 (进程ID, 数据 + 到数值 (到十进制 (偏移3)))
如果真 (是否为空 (偏移4))
返回 (数据)
数据 = 读内存整数型 (进程ID, 数据 + 到数值 (到十进制 (偏移4)))
返回 (数据)

回复

使用道具 举报

结帖率:95% (18/19)

签到天数: 14 天

发表于 2024-9-12 21:33:43 | 显示全部楼层   福建省宁德市
  
变量名类 型静态数组备 注
进程ID整数型 
模块ID整数型 
jz文本型 
内存地址整数型 
' 模块地址+jz
jz = 取十六进制文本 (模块ID + 进制_十六到十_汇编 (“00ACE5E0”))
' 取出最终定向的内存地址
内存地址 = 取表达式地址 (进程ID, jz + “4+14+78”)
' 根据需求对该进程内存进行读或写操作即可
内存.读整数 (进程ID, 内存地址)
子程序名返回值类型公开备 注
取表达式地址整数型 返回表达式最终指向的内存地址。不带模块名。
参数名类 型参考可空数组备 注
进程ID整数型
表达式地址文本型jz+偏移1+偏移2。
变量名类 型静态数组备 注
文本长度整数型 
终止位置整数型 
起始位置整数型 
十六进制地址文本型 
内存地址整数型 
进程句柄整数型 
文本长度 = 取文本长度 (表达式地址)
如果真 (文本长度 < 1)
返回 (0)

进程句柄 = OpenProcess (2035711, 0, 进程ID)
如果真 (进程句柄 = 0)
调试输出 (“打开进程失败”)
返回 (0)

文本长度 = 文本长度 + 1
起始位置 = 1
循环判断首 ()
终止位置 = 寻找文本 (表达式地址, “+”, 终止位置 + 1, )
如果真 (终止位置 = -1)
终止位置 = 文本长度

十六进制地址 = 取文本中间 (表达式地址, 起始位置, 终止位置 - 起始位置)
起始位置 = 终止位置 + 1
内存地址 = 内存地址 + 进制_十六到十_汇编 (十六进制地址)
如果真 (终止位置 ≠ 文本长度)
ReadProcessMemory_整数型 (进程句柄, 内存地址, 内存地址, 4, 0)

循环判断尾 (终止位置 ≠ 文本长度)
CloseHandle (进程句柄)
返回 (内存地址)


i支持库列表   支持库注释   
spec特殊功能支持库

回复

使用道具 举报

结帖率:94% (103/109)

签到天数: 7 天

 楼主| 发表于 2024-9-12 22:16:12 | 显示全部楼层   山西省晋城市
jin1oo1 发表于 2024-9-12 20:43
[e=0].版本 2

.子程序 读游戏内存整数, 整数型, 公开, 读取内存地址数据

.版本 2

    数据 = 内存.读整数 (进程ID, 模块ID + 到文本 (进制_十到十六 (到数值 (传参.jz))))
    .如果真 (是否为空 (传参.偏移1))
        返回 (到文本 (数据))
    .如果真结束
    数据 = 内存.读整数 (进程ID, 数据 + 进制_十到十六 (传参.偏移1))
    .如果真 (是否为空 (传参.偏移2))
        返回 (到文本 (数据))
    .如果真结束
    数据 = 内存.读整数 (进程ID, 数据 + 到文本 (进制_十到十六 (传参.偏移2)))
    .如果真 (是否为空 (传参.偏移3))
        返回 (到文本 (数据))
    .如果真结束
    数据 = 内存.读整数 (进程ID, 数据 + 到文本 (进制_十到十六 (传参.偏移3)))
    .如果真 (是否为空 (传参.偏移4))
        返回 (到文本 (数据))
    .如果真结束
    数据 = 内存.读整数 (进程ID, 数据 + 到文本 (进制_十到十六 (传参.偏移4)))
    .如果真 (是否为空 (传参.偏移5))
        返回 (到文本 (数据))
    .如果真结束
    数据 = 内存.读整数 (进程ID, 数据 + 到文本 (进制_十到十六 (传参.偏移5)))
    返回 (到文本 (数据))
.如果结束

一直提示:错误(10044): 不能将“文本型”数据转换到“双精度小数型”数据。
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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