8.x86游戏实战-OD详解

news2024/11/18 15:42:06

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

本次游戏没法给

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

上一个内容:7.x86游戏实战-C++实现跨进程读写-跨进程写内存

工具下载:下载 OllyICE_wc.zip这个

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

提取码:6tw3

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

打开OD

用管理员启动NewOd.exe

下图菜单栏里的打开和附加,打开的意思是用OD运行一个程序,附加是自己运行一个程序(双击exe文件运行程序)让OD附加上,一般都会使用附加

然后点击附加,然后随便找一个程序附加,附加窗口里面显示的是进程(程序运行起来就被称为进程),然后想附加的进程可能会没有,这时重启电脑试试,如果还没有后面会有解决办法

附加完之后,会有下图的四个区域,代码区域、寄存器区域、内存区域、栈区域

下图红框位置是当前程序状态

停止的状态,效果就是附加的程序卡死

停止状态点击下图红框位置就会让程序运行起来

有时候它的窗口会变成下图红框的样子

如下图鼠标放到边缘变成箭头,然后鼠标左键按住左、右、上、下拖动一下就能明白了

或者点击下图红框位置的C

如下图有时会弹出其它的窗口搞的很乱,然后按C也没有用

这时双击下图红框位置就可以了

代码区

代码区为了好理解可以称它是代码段(就是程序中专门用来放代码的内存空间),如下图它有4列,从左往右分别是 代码的内存地址、硬编码、汇编代码、注释

代码的内存地址,就是内存地址所代表的空间里的内容视作代码

硬编码是cpu看的(英特尔、AMD、苹果的m系列)不同处理器用的指令集不一样,然后就会导致硬编码不一样

汇编代码,汇编是通过硬编码翻译的(老前辈们就是用硬编码写程序,后面使用硬编码实现汇编语言,又通过汇编实现c语言)

注释是给人说明这段代码什么意思

内存区:

内存区又称数据区(为了区分数据是代码还是数据(数据这俩字很抽象,这里可以理解成除了代码以外的所有东西)),如下图红框,首先ctrl+G弹出下图里的弹框,然后输入0x77166C1C,输入完点击ok,0x77166C1C是代码的内存地址

然后可以看到下图红框,可以通过数据区来看代码,但是通过数据区看代码就只能看硬编码了,然后在代码区看代码它会自动给翻译汇编代码

同理在代码区看数据区的内容,可以看到它翻译的汇编代码是乱的(后面就知道为什么说它是乱的了)

到这应该可以明白一件事,同样是数字(数据)对它的不同看法会有不同的样子,数据本身没有任何意义,有意义的是我们如何去解析,有一个东西叫数据结构,通过上方的例子带入数据结构应该可以很好理解

OD菜单的说明

看这位大哥写的(写的有点官方主要了解了解,看不懂也没事,后面用的时候会用白话写):OD窗口介绍_od界面介绍-CSDN博客


 

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

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

相关文章

机器人控制系列教程之Delta机器人轨迹规划

并联机器人轨迹规划原理 轨迹规划:并联机器人的轨迹规划相比于串联机器人更加严苛,因为在大多数工作场合都有高速、高精度、轻载的特征。其一般运动轨迹为 Point-To-Point,对这始末两点的轨迹规划在 Delta 机器人乃至所有机器人领域具有重要…

【干货】SaaS企业使用PLG模式实现用户自增长与留存的三大战略

近年来越来越多toB厂商开始采用SaaS模式,消费者的体验需求和购买行为也逐渐转变。根据Forrester研究调查显示,B端购买者现在越来越倾向于进行产品体验和产品调研与评估,而非如传统的方式那样直接与销售人员接触。 因此,SaaS&…

Halcon 基于分水岭的目标分割

一 分水岭 1 分水岭介绍 传统的分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是地质学上的拓扑地貌,图像中每一像素的灰度值表示该点的海拔高度,每一个局部极小值及其周边区域称为集水盆地&…

视频汇聚/安防监控/GB28181国标EasyCVR视频综合管理平台出现串流的原因排查及解决

安防视频监控系统/视频汇聚EasyCVR视频综合管理平台,采用了开放式的网络结构,能在复杂的网络环境中(专网、局域网、广域网、VPN、公网等)将前端海量的设备进行统一集中接入与视频汇聚管理,视频汇聚EasyCVR平台支持设备…

【基于R语言群体遗传学】-5-扩展到两个以上等位基因及多基因位点

我们现在继续对于群体遗传学进行统计建模,书接上回,我们讨论了孤雌生殖的物种违反哈代温伯格遗传比例的例子,那我们现在来看多于两个等位基因的情况的计算。 如果没有看过之前文章的同学,可以先去看一下之前的文章: …

数据库day1

MySQL的安装: 采用MySQL的zip格式安装

在C++中,工厂模式的思考(《C++20设计模式》及常规设计模式对比)

文章目录 一、前言二、讲解1、构造函数的弊端2、工厂方法(解决上述弊端)3、简单工厂3.1 **UML类图**3.2 **实现** 4、工厂模式4.1 **UML类图**4.2 **实现** 5、抽象工厂5.1 **UML类图**5.2 **实现** 三、总结 一、前言 在看《C20设计模式》一书中产生了…

Element 的 el-table 表格实现单元格合并

html 部分 <template><div class"index-wapper"><el-table :data"tableData" :span-method"objectSpanMethod" border><el-table-column v-for"(item, index) in tableHeader" :key"index" :prop&quo…

Qt Creator配置以及使用Git

Qt Creator配置以及使用Git 引言一、Qt Creator配置git二、Qt Creator使用git2.1 创建git仓库 or git项目导入Qt2.2 配置远端&#xff0c;拉代码 or 上传代码2.3 查看更改2.4 更多细节可参考官方文档 三、参考的博客以及文档 引言 Qt Creator配置Git之后&#xff0c;可以看作是…

严蔚敏数据结构(C语言版)吴伟民宁编著清华大学计算机系列教材+题集+配套题库+笔记+习题PDF电子版

今天分享的是 严蔚敏数据结构&#xff08;C语言版&#xff09;题集配套题库笔记习题PDF电子版 注&#xff1a;本资源搜集于网络&#xff0c;仅供学习交流&#xff0c;严禁用于商业用途 内容简介&#xff1a; “数据结构”是计算机程序设计的重要理论技术基础&#xff0c;它…

pdf怎么拆分成一页一页?4种拆分方法分享

在日常的办公学习中&#xff0c;PDF文档因其跨平台、易阅读、不易篡改等特性&#xff0c;成为我们工作和学习中不可或缺的一部分。然而&#xff0c;当我们需要对PDF进行编辑、打印或分享时&#xff0c;有时需要将整个PDF文档拆分成一页一页的单独文件。那么&#xff0c;如何高效…

Hive测试

1、数据仓库的体系结构包含四个层次&#xff0c;分别是&#xff1a; 数据源 数据存储和管理 数据服务 数据应用 2、Hive提供了类似关系数据库SQL的查询语言&#xff1a; HiveQL 3、Hive某种程度上可以看作 用户编程接口&#xff0c;本身不存储和处理数据&#xff0c;存储数据依…

【RAG】Dense X Retrivel:合适的检索粒度对RAG的重要性(浅看命题粒度的定义及分解方法)

前言 在传统的密集检索中&#xff0c;常见的检索单元包括文档、段落或句子。然而&#xff0c;这些单元的选择可能会影响检索性能和下游任务的效果。例如&#xff0c;段落可能包含与问题无关的额外细节&#xff0c;而句子可能过于复杂或缺乏必要的上下文信息。为了解决这些问题…

Spring中使用FactoryBean配置注入Bean

spring通过FactoryBean配置可以将第三方框架整合到Spring中来&#xff0c;FactoryBean配置如下&#xff1a; 写一个用于注于的实体类&#xff0c;如User,并对这个类写一个实现FactoryBean的中间类&#xff08;UserFactoryBean&#xff09; User类 /** *Description: *author…

MySQL的下载安装

1.软件的下载 打开官网下载mysql-installer-community-8.0.37.0.msi 2.软件的安装 mysql下载完成后&#xff0c;找到下载文件&#xff0c;双击安装 3.配置环境变量 4.自带客户端登录与退出

【前端VUE】VUE3第一节—vite创建vue3工程

什么是VUE Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0…

使用Python绘制彩虹效果:动态彩虹动画

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame定义绘制彩虹函数定义颜色列表主循环 完整代码 引言 彩虹是自然界中最美丽的现象之一。通过编程&#xff0c;我们可以将这一奇妙的景象带到屏幕上。在这篇博客中&#xff0c;我们将使用Python来创建一个…

Q-Vision新功能发布 | CANReplay-enable发送

Q-Vision是一款网络分析与ECU测试工具软件&#xff0c;支持CAN&#xff08;FD&#xff09;、LIN、以太网、LVDS等车载网络标准&#xff0c;以及CCP/XCP/UDS/OBD等协议&#xff0c;并能导入DBC/LDF/ARXML/A2L/ODX等格式的数据库。 使用Q-Vision可实现对多种总线网络的在线记录、…

k8s学习--k8s群集ELK日志收集部署最详细的过程与应用(收集k8s群集日志)(图形化界面手把手教学)

文章目录 FilebeatFilebeat主要特点Filebeat使用场景 ELK简介Elasticsearch简介Elasticsearch主要特点Elasticsearch使用场景 Logstash简介Logstash主要特点Logstash使用场景 Kibana简介Kibana主要特点Kibana使用场景 简单理解 环境一、ELK集群部署1.软件安装2.软件配置及启动(…

golang写的自动更新器

文件自动更新器&#xff0c;这个很多端游和软件都有用到的。 golang的rpc通信&#xff0c;是非常好用的一个东西&#xff0c;可以跟调用本地函数一样&#xff0c;调用远程服务端的函数&#xff0c;直接从远程服务端上拉取数据下来&#xff0c;简单便捷。 唯一的遗憾就是&#x…