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

news2024/12/25 9:35:36

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

本次游戏没法给

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

工具下载:

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


img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2123138.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cesium 展示——Cesium 初始化视角在中国并加载数据(china.json)

文章目录 需求一:初始化视角在中国分析需求二:加载中国数据(china.json)需求一:初始化视角在中国 在初始化 Cesium 的 Viewer 后,视角是在美国,如何让其视角指向中国 分析 viewer.value = new Cesium.Viewer(cesiumContainer.value, {homeButton

redis基本数据结构-string

文章目录 1. redis的string数据结构2. 常见的业务场景2.1 缓存功能案例讲解背景优势解决方案代码实现 2.2 计数器案例讲解背景优势解决方案代码实现 2.3 分布式锁案例讲解背景优势解决方案代码实现 2.4 限流案例讲解背景优势解决方案代码实现 2.5 共享session案例讲解背景优势解…

Docker突然解封,直接拉取!

文章目录 Docker突然解封,直接拉取!封禁的原因是什么?解封的原因是什么?封禁对开发的影响经验教训 最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话…

Linux 8250串口控制器

1 8250串口类型的识别 Intel HW都使用DesignWare 8250: drivers/mfd/intel-lpss-pci.c drivers/tty/serial/8250/8250_dw.c IIR寄存器的高2位bit7、bit6用来识别8250串口的类型: 0 - 8250,无FIFO 0 - 并且存在SCR(Scratch registe…

SQL优化(二)统计信息

收集统计信息 数据库的统计信息非常重要,如果没有正确地收集表的统计信息,或者没有及时地更新表的统计信息,SQL就有可能走错执行计划,也就会出现性能问题。 统计信息主要分为表的统计信息、列的统计信息、索引的统计信息、系统的…

TeamTalk数据库代理服务器

文章目录 main函数主流程关键步骤线程池redis缓存未读消息计数未读消息计数-单聊未读消息计数-群聊 群成员管理 main函数主流程 关键步骤 初始化epoll 线程池数据入口 reactor CProxyConn::HandlePduBuf异步task任务封装,把任务放入线程池;线程池里的…

【AI学习】AI科普:专有名词介绍

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:AI入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1.AI序…

TCP通信三次握手、四次挥手

前言 前面我说到了,UDP通信的实现,但我们经常说UDP通信不可靠,是因为他只会接收和发送,并不会去验证对方收到没有,那么我们说TCP通信可靠,就是因为他会进行验证接收端是否能够接收和发送,并且只…

给大家推荐好用的AI网站

地址:https://ai.ashuiai.com/auth/register?inviteCode8E8DIC1QCR 个人觉得挺好用的,可以免费,免费有限制次数,也可以会员升级200永久免费,我用的200永久免费。 可以在国内使用以下ai模型 回答问题更智能&#xff…

计算机毕业设计 校内跑腿业务系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

分享6个我喜欢的常用网站,来看看有没有你感兴趣的!

分享6个我自己很喜欢的常用网站,平时工作生活中经常会打开,来看看有没有你感兴趣的! 1.Crazygames crazygames.com/ 一个超赞的在线小游戏平台,上面有超过7000种游戏任你选。不管你喜欢冒险、解谜、闯关,还是装扮、赛…

概要设计例题

答案:A 知识点: 概要设计 设计软件系统的总体结构:采用某种方法,将一个复杂的系统按照功能划分成模块;确定每个模块的功能;确定模块之间的调用关系;确定模块之间的接口,即模块之间…

返工(Rework)与返修(Repair)有何不一样

IATF 16949 汽车业质量管理体系,以客户需求为基础,组织透过相关单位了解客户需求后,向内部流程展开,目的是确保从研发到出货每个环节都能满足客户需求,同时管控制造过程的效率及良率,使产线能够稳定及准时交货给客户。 IATF 16949 条文中,针对「返工(Rework)」与「返修(…

linux工具的使用

1.yum和apt的概念与使用 yum 和 apt 是两种不同的包管理工具,用于在 Linux 系统上管理软件包。 yum (Yellowdog Updater, Modified) 发行版: 用于基于 RPM 的发行版,如 CentOS、RHEL 和 Fedora。基本命令: 更新包列表: sudo yum update安装包: sudo y…

Sky Takeaway

软件开发整体介绍 软件开发流程 角色分工 软件环境 苍穹外卖 项目介绍 定位:专门为餐饮企业定制的一款软件产品 技术选型 前端环境搭建 阅读readme文档 nginx.exe放入无中文目录运行并启动 后端环境搭建 项目结构 Nginx反向代理 优点 配置 Nginx反向代理 负…

QXlsx编译静态库-配置为Qt模块

Qt读写Excel–QXlsx编译为静态库-配置为Qt模块🍆 文章目录 Qt读写Excel--QXlsx编译为静态库-配置为Qt模块🍆[toc]1、概述🥔2、准备工作🥕3、配置环境🌽4、加载QXlsx静态库🥒 👉QXlsx使用&#x…

《深度学习》OpenCV 高阶 图像金字塔 用法解析及案例实现

目录 一、图像金字塔 1、什么是图像金字塔 2、图像金字塔作用 1)金字塔尺度间的图像信息补充 2)目标检测与识别 3)图像融合与拼接 4)图像增强与去噪 5)图像压缩与编码 二、用法解析 1、向下采样 1)概念…

【C++11 ——— 可变参数模板】

C11 ——— 可变参数模板 可变参数模板的概念可变参数模板的定义方式参数包的展开递归式展开参数包逗号表达式展开参数包 emplaceemplace 的使用emplace 的优势 可变参数模板的概念 在C11之前,函数模板和类模板中的模板参数数量是固定的。可变参数模板打破了这个限制,提供了一…

Visual Studio汇编代码高亮与自动补全

高亮插件:AsmDude (可以按照我的颜色进行设置,或者你自己改) 代码自动补全:CodeGeex (功能很多,支持的语言很多),按Tab补全

Gitea Action注册runner

我的是gitea也可以和github 兼容,只是没有github 那么靓而已 安装一个gitea仓库 docker run -d --name gitea \-p3000:3000 -p2222:22 \-v /git/data:/data \ -v /etc/timezone:/etc/timezone:ro \-v /etc/localtime:/etc/localtime:ro \gitea/gitea:1.21.1setti…