14.Ollydbg的基本使用

上一个内容:13.优化界面化的游戏辅助

Ollydbg是一个调试工具,它可以一步一步的运行一个程序并且还能很直观的看到被调试程序的寄存器状态、栈状态。Ollydbg需要以管理员方式运行!

下图附加程序是调试一个正在运行的进程:

点击了附加之后发现没有我们想要的进程:

这时把Ollydbg关了然后鼠标放它的在快捷方式上右击选择属性:

然后在它的目标上写 -p 被调试的进程pid,然后点应用再点确定,然后再打开Ollydbg

再次打开Ollydbg之后它就默认附加到pid位26020的进程上了,在打开附加窗口也可以看到,如果这样还没有后面在写其它方式

然后重新打开的Ollydbg是如下图的样子全是空的:

点一下暂停:

点了暂停之后就有进程的代码了

然后再ctrl 加 g输入减伤害的指令地址就可以看到之前做hook的代码了

这时双击它可以打断点

打断点之后点调试-》运行,上面的操作让游戏进程暂停了,暂停之后游戏没法点处于一个卡死状态,需要再Olldbg点一下运行,然后再让怪物打一下,如下图右下角显示的是暂停

点击运行

点了运行之后如下图右下角显示的是运行,这时游戏就可以继续操作了

然后让怪物打一下就会进入断点(之前分析的0041FDB2位置是hp-伤害操作,只要怪物一攻击我们就会执行到0x41FDB2位置,然后我们在这打了断点它处理器执行到0041FDB2位置时就会断点住),可以看到当前寄存器的值,当前栈的值,下图红框部分

然后Ollydbg的快捷键

如果Ollydbg打开之后如下图的样子:

通过查看菜单可以找回需要的窗口,常用的就cpu、内存、调用堆栈

然后下图中红框位置的代码是典型的this.函数(1,2);这样的成员函数调用,ECX寄存器用来存储this,它上面的两个push是函数的参数,两个push表示此函数有两个参数。

条件断点:鼠标放到要打断点的指令上然后右击就可以看到下图的菜单了

使用方式:下图中的条件是判断esi是不是人物的this(esi == 0x4CEF08)(0x4CEF08是之前分析出的人物this,也就是人物结构首地址),效果就是只有当人物攻击怪物时才会进入断点

条件断点是紫色

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

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

相关文章

STM32F103借助ESP8266连接网络

ESP8266配置 STM32F103本身是不具备联网功能的,所以我们必须借助其他单片机来进行联网,然后让STM32与联网单片机通信,就可以实现STM32联网了。 本文借助的是ESP8266模块,其通过UART协议与STM32通信(http://t.csdnimg.c…

文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《考虑动态定价的新能源汽车能源站优化运行》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

Nacos-SpringBoot-配置中心

Nacos配置中心 前情回顾 上一章呢 了解并且学习了Nacos服务注册与发现 在一系列破防中走了出来Nacos服务注册完成https://blog.csdn.net/m0_68711597/article/details/139265244?spm1001.2014.3001.5502 本以为接下来会一帆风顺 一马平川 没想刚出坑 又入坑 Nacos的配置…

Prime1 - 信息收集和分析能力的试炼

主机发现 nmap扫描与分析 端口22、80 详细扫描;linux、ubuntu、 udp扫描 端口都是关闭的 脚本扫描 web渗透 打开只有一张图片;源码有图片和一个alt:hnp security不知道有啥用,先记录下来吧 继续web渗透思路走吧,目录…

[Python]用Qt6和Pillow实现截图小工具

本文章主要讲述的内容是,使用python语言借助PyQt6和Pillow库进行简单截图工具的开发,含义一个简单的范围裁剪和软件界面。 主要解决的问题是,在高DPI显示屏下,坐标点的偏差导致QWidget显示图片不全、剪裁范围偏差问题。 适合有一点…

vivado BD_ADDR_SEG

按字母顺序排列的一类对象列表 BD_ADDR_SEG 描述 地址段或bd_addr_seg对象描述一个范围的位置和大小记忆力它们有一个范围(大小)和一个可选的起始偏移。对于各种内存映射的主接口和从接口,IP集成商遵循行业用于捕获存储器要求和能力的标准IP-…

爬楼梯 - LeetCode 热题 81

大家好!我是曾续缘😇 今天是《LeetCode 热题 100》系列 发车第 81 天 动态规划第 1 题 ❤️点赞 👍 收藏 ⭐再看,养成习惯 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法…

Android Kotlin 打开相册选择图片(多选)

1. 核心代码 打开系统相册功能,本代码使用两种方式打开本地相册,startActivityForResult 已经废弃,可以使用新的方式。 package com.example.facedetectordemoimport android.content.pm.PackageManager import androidx.appcompat.app.App…

【人工智能004】文本挖掘算法模型实战及经验总结(最近更新中)

1.熟悉、梳理、总结数据分析实战中的文本挖掘领域实战研发知识体系,这块领域很大,需要耗费很多精力,逐步总结、更新到位,,, 2.欢迎点赞、关注、批评、指正,互三走起来,小手动起来&am…

数据库与缓存⼀致性⽅案

数据库与缓存⼀致性⽅案 1、背景2、数据⼀致性⽅案设计3、数据⼀致性⽅案流程图4、关键代码4.1、 处理数据⼀致性的消息队列⼊⼝4.2、数据⼀致性配置的常量信息 1、背景 现有的业务场景下,都会涉及到数据库以及缓存双写的问题,⽆论是先删除缓存&#xf…

【Bug】修改计算机名称出现ip无法连接mysql数据库

解决: mysql -u root -p输入密码登录mysql服务器,那个ip是本机ip4的地址单ip放行。推荐全部,后面123456是密码 GRANT ALL PRIVILEGES ON *.* TO root192.168.0.109 IDENTIFIED BY 123456; 全部IP都放行 GRANT ALL PRIVILEGES ON *.* …

【移动端】商场项目路由设计

1:路由设计配置: 一级路由配置 分析项目,设计路由,配置一级路由 一级路由:单个页面独立展示的,都是一级路由,例如:登录页面,首页架子,报错页面 二级路由&…

Pycharm编辑器下自定义模块导入报错:no module named问题

相信很多使用pycharm 社区版编写python 程序的初学者都会遇到这样一个看似简单但是一时半刻找不到解决头绪的问题: 在同个目录下导入自己编写的模块到主程序的过程中,直接import的时候会报错:ModuleNotFoundError。 通过各种方法尝试以后还是…

美业SaaS收银系统源码-已过期卡项需要延期怎么操作?美业系统实操

美业SaaS系统 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 促销活动 PC管理后台、手机APP、iPad APP、微信小程序 1.询问会员手机号和需要延期的卡项 2.PC运营后端-数据导入-修改已售卡项,搜索手机号 3.把需要卡项选…

0基础学游戏编程:从入门到精通的挑战与收获

0基础学游戏编程:从入门到精通的挑战与收获 游戏编程,对于许多初学者来说,可能是一个既神秘又充满吸引力的领域。从零开始学习游戏编程,不仅需要扎实的技术基础,还需要不断的实践和创新精神。本文将围绕四个方面、五个…

深入分析 Android BroadcastReceiver (一)

文章目录 深入分析 Android BroadcastReceiver (一)1. Android BroadcastReceiver 设计说明1.1 BroadcastReceiver 的主要用途 2. BroadcastReceiver 的工作机制2.1 注册 BroadcastReceiver2.1.1 静态注册2.1.2 动态注册 3. BroadcastReceiver 的生命周期4. 实现和使用 Broadca…

【TensorFlow深度学习】经典卷积网络架构回顾与分析

经典卷积网络架构回顾与分析 经典卷积网络架构回顾与分析:从AlexNet到ResNet、VGGLeNet、ResNet、DenseNet的深度探索AlexNet ——深度学习的破冰点火VGGNet — 简洁的美ResNet — 深持续深度的秘钥DenseNet — 密集大成塔实战代码示例:ResNet-50模型结语…

C++ | Leetcode C++题解之第125题验证回文串

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isPalindrome(string s) {int n s.size();int left 0, right n - 1;while (left < right) {while (left < right && !isalnum(s[left])) {left;}while (left < right && !isalnu…

三方语言中调用, Go Energy GUI编译的dll动态链接库CEF

如何在其它编程语言中调用energy编译的dll动态链接库&#xff0c;以使用CEF 或 LCL库 Energy是Go语言基于LCL CEF开发的跨平台GUI框架, 具有很容易使用CEF 和 LCL控件库 interface 便利 示例链接 正文 为方便起见使用 python 调用 go energy 编译的dll 准备 系统&#x…

【定时任务知多少, 横跨10余项目,6种实践方式】

工作多年&#xff0c;随着项目的不断研发落地&#xff0c;大大小小做了有10个项目&#xff0c;其中不少涉及到定时任务。今天来盘一下&#xff0c;这些项目中&#xff0c;定时任务的实现方式 。 通过项目的需求场景&#xff0c;可以看出定时任务需要有什么样的功能。 需求 1 …