书香 发表于 2023-5-22 03:29

【CE修改内存】

本帖最后由 书香 于 2024-2-11 07:38 编辑

我们先编写一个统计点击次数的程序
.版本 2

.程序集 窗口程序集_启动窗口
.程序集变量 次数, 整数型

.子程序 _按钮1_被单击

次数 = 次数 + 1
_启动窗口.标题 = 到文本 (次数)


测试程序的源码:
界面图:

标题处显示的就是程序的点击次数,点击次数存储在变量名为次数的变量中,接下来我们要找到该变量在内存中的位置

①打开CE的进程列表,进程列表我们主要看图标和标题找程序(标题就是箭头处的-后面的内容):


②:双击选中(或选中打开)后的图如下

红色框下面的数值处写我们看到的数值,就是启动窗口的标题,为:2

特别注意:
我们要搜索的实际上是变量次数,这是一个整数型的变量,所以扫描类型为精准数值,我们要修改的也是这个变量的值

而我们看到的2是文本型的变量,是由代码_启动窗口.标题 = 到文本 (次数)计算出来的,改这个可以看见的变量内容是无效的,结果是由到文本 (次数)决定的,所以我们要改的是次数这个变量的值
我搜索的数值是2,是因为我点了2次按钮,如果你们点了3次按钮,你们看到的值是3,要搜索的数值应该是3

点击首次搜索后:

内存空间里符合要求的有5812个,很多人可能有个疑问,哪来这么多2,就一个变量啊,这里还存在很多系统数据,这里后面会出一个专门的课程讲一下,这里就先忽略

③:然后我们点击一下按钮,让显示的次数变为3


④:然后我们将搜索的数值改为3,点击再次搜索,这个过程相当于从上一步符合要求的5812个内存地址中筛选出哪些地址的值变成了3


这一次符合要求的变成了11个


④:再点击测试软件的按钮,让标题变成4(实际上变量次数变成了4),然后输入数值4,再点击再次搜索,直到最后留下一个为止(一定要记得点击测试软件上的按钮,要不然可能会没有一个符合要求的,很多人可能会忘记这一步)


⑤:虽然只有一个符合要求的地址,但是也不一定就是的,因为可能我们一开始的搜索就是错的,我们有代码当然知道不会错,但是如果没有代码,我们眼睛看到的是文本类型的,可能这个显示结果是由多个变量决定的(这里不做讨论),上图我用了2个箭头,第一个指向的是当前值,第2个指向的是先前值,这都是动态变化的,我们就一直点击测试软件上的按钮,然后查看这当前值是否相应的跟随变化

很明显我们找的地址是对的

⑥:鼠标右键选中该地址,也可以双击

⑦:双击数值(鼠标右键选择修改,但是这个操作太麻烦),弹出修改


⑧:点击测试软件上的按钮,你会发现变成了10001,因为此时次数这个变量次数的值被我们改成了10000,再点击就是10001了


好了,我们本节通过修改内存完成了修改测试软件的点击次数这样一个功能

(点击返回课程目录:https://www.52hb.com/thread-58658-1-1.html)

老飞飞 发表于 2023-5-22 15:04

教程对我这种新手很好帮助,谢谢

sjtkxy 发表于 2023-5-25 04:43

小才不才 发表于 2025-1-2 16:14

显示错误
页: [1]
查看完整版本: 【CE修改内存】