1.简介
CE修改器有个自带的教程
有基础的小伙伴可以跟着来一步一步地学习,为了照顾没有什么基础的同学,我这边采用的是自写程序的演示,可能观看的小伙伴需要一点C语言基础。
2.C语言程序的准备
代码如下
#include<stdio.h>
//主函数
int main()
{
int number=100;
int select;
while(1)
{
system("cls");
printf("number=%d\n",number);
printf("1.打印数字\n");
printf("2.数字增加\n");
printf("3.数字减少\n");
printf("0.退出程序\n");
printf("请输入你要进行的操作代号:");
scanf("%d",&select);
if(select==0)
{
break;
}
switch(select)
{
case 1:
break;
case 2:
number+=3;
break;
case 3:
number-=3;
break;
}
printf("\n\n");
}
printf("程序运行结束\n");
return 0;
}
编译并运行,界面如下
为什么我要自己写一个代码而不适用CE自带的呢,因为我想给大家尽可能讲清楚我们各个操作的原理,对着我们代码来讲。
3.C语言程序的梗概
有C语言基础的同学不难看出来,我们上面的程序十分简单,只有三个主要功能,一个是打印数字,一个是数字增加,一个是数字减少。
数字的类型是int,也就是整型,整型在C语言32位机子里是以4字节的形式存储的,那我们接着往下。
4.我们打开CE修改器
看见左上角那个笔记本电脑加放大镜图标了吗,鼠标左键单击打开它,表示选择我们要扫描的进程。
进程多的眼花缭乱,我们选择我们自己编写的C语言程序运行的进程
选完后可以在CE修改器上看到自己选择的进程名称,复核一下是不是你要扫描的进程
4.开始扫描
我们观察到number=100,它是整型4字节,所以我们在CE修改器中的数值栏填入100,类型改为精确值,字节数改为4字节,最后点击首次扫描
扫描结果如下所示
这说明对于我们要扫描的进程来说,它的内存中有三个地方存着100,我们无法确定究竟是哪一个,接下来让我们改变一下这个数字。
我们不妨在进程中选择增加数字,输入选项2并回车
结果变成了number=103
我们在CE修改器中的数值栏填103,并点击再次扫描,意思是从上次扫描的结果中筛选现在等于103的内存数值。
扫描结果如下
我们可以看到,这一个内存我们已经找到,我们用鼠标左键双击它,把它加到下面的记录栏中
我们再鼠标左键双击记录栏中的数字103,并将其改为1000,按回车确认修改完毕。
接下来我们回到我们的C语言程序进程,输入选项1打印数字看一看
结果如下所示
我们的数字被成功修改成了1000。
5.结语
我这篇博文属于抛转引玉,大家通过这一章节的学习,想必也能触类旁通,举一反三,那单精度浮点数和双精度浮点数的扫描和修改也是类似的,大家可以当做课后练习自己写写代码调试一下,有疑问欢迎在评论区一起交流学习。