9.x86游戏实战-汇编指令mov

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

本次游戏没法给

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

工具下载:

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

提取码:6tw3

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

上一个内容:8.x86游戏实战-OD详解

OD使用过程中会经常卡死,只能通过任务管理器结束,然后重新来

有时候OD附加完进程,下图红框位置是空白的(什么也没有)

这时点一下下图红框位置的C就好了

然后有时候进程的线程会停止,需要检查一下

如果有线程停止了(不是激活状态),如下图点击 Resume All threads让线程启动

学习汇编代码,就要写代码,就要执行代码,最简单的方式就是使用OD附加一个进程,然后找这个进程一直运行的代码,然后在一直运行的代码里下断点(后面就能看到断点是什么东西了),下了断点之后写汇编代码,然后使用断点的功能一行一行的执行代码

进程中什么位置会一直执行?ws2_32.send,send函数是网络程序用于给服务器发送数据包的(有的游戏不使用send,其它的后面在写)

OD附加进程,这里多一嘴OD也可以不用管理员启动也能附加进程,用不用管理员要看要被附加的进程,所以为了省心直接全用管理员启动就好了

鼠标按住下图红框位置,然后拖到要附加的程序窗口上,然后放开鼠标

然后点是就可以了

然后会到入口点,如下图,这时被附加程序会卡死,OD的状态如下图也是暂停,这时点下图红框位置让附加进程运行起来

OD附加完进程之后,点击下图红框位置,也就是点击代码段区域

然后按ctrl+g,然后输入 ws2_32.send,然后点OK,如果点了OK没反应,那就重新操作几次

然后就能跳转到send函数了,跳转到send函数的头部,也就是send函数的第一行,ws2_32是模块名,ws2_32.send意思是跳转到ws2_32模块里的send函数,有多个函数叫send所以需要指定模块名,然后为什么用ws2_32模块里的send函数?别管为什么这里记住用ws2_32里的send函数就行,后面就能知道原因了

首先选中下图红框位置(send函数的第一行)

然后按f2,下图紫色框框起来的位置就变成红色了,这说明这里下了断点,当程序执行到这时会卡主

然后在程序做一个可以发送数据包的操作,停下来(或者说断下来)的样子,如下图

然后多选几行代码,然后鼠标右击选择填充为NOP

NOP的意思是没有代码,处理器执行到NOP时不做任何操作,然后继续往下执行,NOP的硬编码是0x90

然后开始写mov指令,双击下图红框位置

然后输入mov eax, 1

然后点汇编,点了汇编按钮之后窗口不会自动关闭,需要手动关

然后就有了 mov eax, 1 代码

然后接下来按 f8,让它运行一下看看效果,如下图,可以看到eax变成了1

然后写mov ecx, [0x1484438],取地址的值

然后点了汇编之后,它给我们添加dword ptr,ptr表示地址,dword是数据宽度(4字节宽度)

然后按f8执行代码看看效果,这就是一个取内存地址里面值的效果

然后还能写 mov [0x1484438], 2,给内存地址里的值修改掉

然后点汇编的时候它让写一个操作数大小

这里写一个dword,4字节大小

然后点汇编就变成了下图的样子

然后按f8执行代码的效果,游戏崩溃了,这说明改成功了,我们是把0x1484438里的值改成了2,0x1484438原本的值是一个内存地址,然后2不是一个正常的内存地址,所以它蹦了

然后如下图红框,有的时候写了内存地址,点击汇编之后,它会变成英文,这是翻译的问题,它把内存地址翻译成了函数名(一般之后函数才会被翻译成英文)

c/c++写汇编,下方的代码是32位的汇编写法,64位汇编没法用_asm写,64位的汇编后面用到的时候会写

#include <iostream>
#include "Windows.h"int main()
{int a = 1;int b = 1;_asm {mov a,2mov eax,3mov b, eax}printf("%d, %d", a, b);
}


 

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

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

相关文章

STM32智能农业监控系统教程

目录 引言环境准备智能农业监控系统基础代码实现&#xff1a;实现智能农业监控系统 4.1 数据采集模块 4.2 数据处理与分析 4.3 控制系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;农业监控与优化问题解决方案与优化收尾与总结 1. 引言 智能农业监控系统利用STM32嵌…

PCL从理解到应用【02】PCL环境安装 | PCL测试| Linux系统

前言 本文介绍在Ubuntu18.04系统中&#xff0c;如何安装PCL。 源码安装方式&#xff1a;pcl版本1.91&#xff0c;vtk版本8.2.0&#xff0c;Ubuntu版本18.04。 安装好后&#xff0c;可以看到pcl的库&#xff0c;在/usr/lib/中&#xff1b; 通过编写C代码&#xff0c;直接调用…

华为路由器静态路由配置(eNSP模拟实验)

实验目标 如图下所示&#xff0c;让PC1ping通PC2 具体操作 配置PC设备ip 先配置PC1的ip、掩码、网关。PC2也做这样的配置 配置路由器ip 配置G0/0/0的ip信息 #进入系统 <Huawei>system-view #进入GigabitEthernet0/0/0接口 [Huawei]int G0/0/0 #设置接口的ip和掩码 […

【UE5.3】笔记7 控制Pawn移动

使用A、D键控制角色左右移动 打开我们的BP_Player蓝图类&#xff0c;选择事件图表&#xff0c;添加我们的控制事件 右键&#xff0c;搜索A keyboard&#xff0c;选择A,如下图&#xff0c;D也是 添加扭矩力 首先我们要把我们的player上的模拟物理选项打开&#xff0c;这样我们…

JavaFx基础知识

1.Stage 舞台 如此这样的一个框框&#xff0c;舞台只是这个框框&#xff0c;并不管里面的内容 public void start(Stage primaryStage) throws Exception {primaryStage.setScene(new Scene(new Group()));primaryStage.getIcons().add(new Image("/icon/img.png"))…

【不锈钢酸退作业区退火炉用高温辐射计快速安装】

项目名称 不锈钢酸退作业区退火炉用高温辐射计快速安装 改造实施项目简介项目提出前状况:不锈钢生产过程中,各种型号的不锈钢带钢在退火工艺中对带钢温度的准确性要求很高,带钢温度的检测直接影响带钢的产品质量,不锈钢带钢温度测量依靠的是高温辐射计,其测量的准确性、稳…

【Python机器学习】算法链与管道——通用的管道接口

Pipeline类补单可以用于预处理和分类&#xff0c;实际上还可以将任意数量的估计器连接在一起。例如&#xff0c;我们可以构建一个包含特征提取、特征选择、缩放和分类的管道&#xff0c;总共有4个步骤。同样的&#xff0c;最后一步可以用聚类或回归代替。 对于管道中估计器的唯…

vue2使用use注册自定义指令实现权限控制

版本环境 vue的版本是^2.6.12&#xff0c;将会使用到Vue.use()、Vue.directive() 适用环境 页面某些按钮&#xff0c;需要受到当前登录用户的“角色”“权限”的影响&#xff0c;通过store获取角色role和权限permission&#xff0c;通过自定义指令的方式&#xff0c;控制某一…

antd DatePicker日期选择框限制最多选择一年

实现效果 实现逻辑 import React, { useState } from react;const ParentComponent () > {const [dates, setDates] useState(null);const disabledDate (current) > {if (!dates) {return false;}const tooLate dates[0] && current.diff(dates[0], days) &…

Appium自动化测试框架1

电脑的浏览器 手机的浏览器 手机上的app 原生的应用 纯java 手机上的app apk 移动网页应用 纯HTML CSS 手机的浏览器上 电脑的浏览器上 混合应用 java html css python代码 Appium python库 Appium 手机 都是代表本机 0.0.0.0 127.0.0.1 localhost 如何启动app 启动参…

土壤养分化验仪:农业生态与可持续发展

随着现代农业技术的不断进步&#xff0c;土壤养分化验仪在农业生产中扮演着越来越重要的角色。这款高科技设备以其高精度、高效率的特点&#xff0c;为农业生态与可持续发展提供了强有力的支撑。 一、农田土壤监测与管理 农田是土壤养分化验仪最主要的应用场所。通过对农田土壤…

【AI】DeepStream(14):图像分割deepstream-segmentation-test示例演示

【AI】AI学习目录汇总 1、简介 deepstream-segmentation-test示例演示了图像的语义分割。两个配置文件,分别加载U-Net和Res-UNet两种分割模型 unet_output_graph.uffunetres18_v4_pruned0.65_800_data.uffU-Net是一个在生物医学图像分割领域广泛应用的卷积神经网络(CNN),…

集团型企业组织架构复杂,业务线多,如何进行高效费用管控?

企业管理中流行这样一句话&#xff1a;“企业转型&#xff0c;财务先行”。对集团型企业而言&#xff0c;当今的发展形势下&#xff0c;通过财务战略全面转型、最终撬动企业价值提升&#xff0c;是一件难而正确的事情。 集团企业具有经营规模大、产业链多、分支机构多、地域跨度…

地下电子标识器探测仪ED8000选型注意事项

ED8000探测仪是一台集成了多频率、多种ID标识器调制模式、高低灵敏度调节、可读写标识器等全功能、高性能电子标识器探测仪。它有着极高的灵敏度,同时具备良好的噪声抑制能力&#xff0c;不仅适合专业测绘人员&#xff0c;普通操作人员也可以轻松掌握。 ED8000可支持模拟电子标…

2024亚洲国际餐饮展览会(北京餐饮展|火锅展|预制菜展会)

2024北京餐饮展会&#xff0c;2024北京食材展会&#xff0c;2024北京火锅展会&#xff0c;2024北京火锅食材展会&#xff0c;2024北京预制菜展会&#xff0c;2024北京预制食材展会&#xff0c; 2024亚洲国际餐饮展览会&#xff08;北京餐饮展|火锅展|预制菜展会&#xff09; …

【C语言】刷题笔记 Day2

【笔记】 【1】局部变量不初始化&#xff0c;默认放的随机值。 1 int n0; 2 scanf("%d",&n); //13.141 【2】这里虽然输入的是一个浮点数&#xff0c;但是只取整数部分。 【3】3.156e7 表示的是3.156*10的7次方。 【4】多组输入&#xff0c;保存和不保存…

基于 Windows Server 2019 部署域控服务器

文章目录 前言1. 域控服务器设计规划2. 安装部署域控服务器2.1. 添加 Active Directory 域服务2.2. 将服务器提升为域控制器2.3. 检查域控服务器配置信息 3. 管理域账号3.1. 新建域管理员账号3.2. 新建普通域账号 4. 服务器加域和退域4.1. 服务器加域操作4.2. 服务器退域操作 总…

记录一下简单导入导出excel二级表头

数据库导入导出表头 之前的工具类GenerateExcelToFile新增两个导出这种二级表头方法 package com.njry.utils;import cn.hutool.core.util.IdUtil; import com.njry.config.FileProperties; import com.njry.exception.BadRequestException; import org.apache.poi.hssf.user…

【VIM的使用】

Vim 是一个非常强大的文本编辑器&#xff0c;尤其在 Linux 环境下被广泛使用。它基于 vi 编辑器开发而来&#xff0c;增加了许多功能和改进。下面是一个简化的 Vim 教程&#xff0c;帮助你快速上手&#xff1a; 启动 Vim 要启动 Vim&#xff0c;只需在终端中输入 vim [filen…

Leetcode刷题2---两数相加 Python

目录 题目及分析解法一: 迭代法解法二: 递归法解法三&#xff1a;反转链表法 题目及分析 &#xff08;力扣序号2&#xff1a;两数相加&#xff09; 给你两个非空的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照逆序的方式存储的&#xff0c;并且每个节点只能存储…