5.第二阶段x86游戏实战2-认识内存

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

工具下载:

链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd=6tw3

提取码:6tw3

复制这段内容后打开百度网盘手机App,操作更方便哦

上一个内容:4.第二阶段x86游戏实战2-CE加强修改移动速度(浮点数存放方式与转换)

上一个内容里使用CE把移动速度进行了修改,通过修改移动速度实现了瞬移,前面的内容肯定初步认识了CE的强大,接下来认识一下内存

首先是进制:

逆向过程中常见的是二进制和十六进制,然后十进制现实生活中常用,但是逆向过程中不怎么常用

二进制的范围是0到1两个数字

十六进制是0到f一共十五个数字,分别是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

详细的在:2.第二阶段x86游戏实战2-认识进制、理解数据宽度和位的概念

位的概念:

计算机有32位系统和64位系统,它们的位都不一样,位是一个二进制数的单位,一位就是一个二进制数

32位:也就是有32个0或1

0000 0000 0000 0000 0000 0000 0000 0000

32位的取值范围是:这个范围指的是内存地址的范围,虽然是0-F(范围太长简称0-F)但中间很多内存地址我们没法用

0000 0000 0000 0000 0000 0000 0000 0000 - FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

64位:也就是有64个0或1

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

64位的取值范围是:这个范围指的是内存地址的范围,虽然是0-F(范围太长简称0-F)但中间很多内存地址我们没法用

0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF

然后知道范围之后,内存地址它会有一个范围(比如从内存地址0到内存地址10,这个0到10就是内存地址的范围,也叫内存空间),这个范围的最小单位是byte,byte是字节,一个字节是8个0或1组成,两个十六进制数占用一个字节,然后0-f这么大的范围用byte表示起来就很费劲,所以还有其它的单位1024个字节看做一个K,也就是一个千字节,1024个千字节看做成一个M,一个兆字节,然后1024个兆字节看做成一个G,G被称为吉字节,然后1024个G看做成一个T,T中文是太字节,其它的参考下图

然后知道取值范围和内存空间之后:

看内存地址的时候要有一幅画面,如下图,一个内存地址对应一个字节,也就是一个内存地址的空间是1个字节两个内存地址的空间是2个字节,然后也就是一个内存地址可以存放8个二进制数(或者说是8位二进制数,都是一个意思 ),两个内存地址(就是把两个内存地址看做成一个内存地址)可以存放16个二进制,也就是一个内存地址可以表达的最大的数字是FF,FF换成十进制就是255,要记住这个画面,看内存的时候这个画面很重要,在逆向的时候要根据数据宽度(字节)来找内存,比如4字节这就说明有4个内存地址,比如00000000 到 00000003它就是4字节也就是4个内存地址,但是一般CE(逆向工具)显示的时候内存地址只会显示00000000,也就是只会显示开头的地址,现在记住这个画面,后面逆向的时候带着这个画面一看就能懂了,如果没有这个画面看到内存地址和内存的数据会蒙

简化:一个内存地址里只能存放1字节数据,也就是一个内存地址对应的内存空间是1字节,也就是一个内存地址只能存放8个二进制数,多个内存地址组合起来的内存空间在逆向工具里只会显示开头的内存地址


相关推荐
Ajiang28247353041 小时前
对于C++中stack和queue的认识以及priority_queue的模拟实现
开发语言·c++
梓仁沐白3 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
‘’林花谢了春红‘’6 小时前
C++ list (链表)容器
c++·链表·list
向宇it7 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo7 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
机器视觉知识推荐、就业指导8 小时前
C++设计模式:建造者模式(Builder) 房屋建造案例
c++
Yang.999 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
熬夜学编程的小王9 小时前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
zz40_10 小时前
C++自己写类 和 运算符重载函数
c++