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个二进制数,多个内存地址组合起来的内存空间在逆向工具里只会显示开头的内存地址


相关推荐
van叶~13 分钟前
算法妙妙屋-------1.递归的深邃回响:二叉树的奇妙剪枝
c++·算法
knighthood200123 分钟前
解决:ros进行gazebo仿真,rviz没有显示传感器数据
c++·ubuntu·ros
半盏茶香1 小时前
【C语言】分支和循环详解(下)猜数字游戏
c语言·开发语言·c++·算法·游戏
小堇不是码农1 小时前
在VScode中配置C_C++环境
c语言·c++·vscode
Jack黄从零学c++1 小时前
C++ 的异常处理详解
c++·经验分享
捕鲸叉7 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer7 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq7 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
hairenjing11238 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
青花瓷8 小时前
C++__XCode工程中Debug版本库向Release版本库的切换
c++·xcode