书香雅阁论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 732|回复: 0

【CE修改内存】

[复制链接]

384

主题

407

帖子

158万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1581367
发表于 2023-5-4 21:06:44|字数:1,247 | 显示全部楼层 |阅读模式
LV10 站长

我们先编写一个统计点击次数的程序
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
变量名类 型数组备 注
次数整数型  

子程序名返回值类型公开备 注
_按钮1_被单击  
次数 = 次数 + 1
_启动窗口.标题 = 到文本 (次数)
测试程序的源码: 测试程序.e (2.06 KB, 下载次数: 142)

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

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

②:双击选中(或选中打开)后的图如下
4.png
红色框下面的数值处写我们看到的数值,就是启动窗口的标题,为:2

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

而我们看到的2是文本型的变量,是由代码_启动窗口.标题 = 到文本 (次数)计算出来的,改这个可以看见的变量内容是无效的,结果是由到文本 (次数)决定的,所以我们要改的是次数这个变量的值

我搜索的数值是2,是因为我点了2次按钮,如果你们点了3次按钮,你们看到的值是3,要搜索的数值应该是3

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

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

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

这一次符合要求的变成了11
8.png

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

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

⑥:鼠标右键选中该地址,也可以双击
11.png
⑦:双击数值(鼠标右键选择修改,但是这个操作太麻烦),弹出修改
12.png 13.png

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

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


(点击返回课程目录https://shuxiangyage.net/forum.php?mod=viewthread&tid=1134
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|小黑屋|书香雅阁论坛 ( 湘ICP备17011672号-3 )

GMT+8, 2024-5-6 00:49 , Processed in 0.118523 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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