热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

mapbox修改初始位置_⑩的游戏修改小课堂1——WinDepth

咱今天比较闲,所以来误人子弟啦~来讲一讲如何用CheatEngine与OllyDBG来修改简单的小游戏~当然,这是只最初级的修改(露米娅比
bc9e19aafa5b900c90864f2dc146c034.png

咱今天比较闲,所以来误人子弟啦~

来讲一讲如何用Cheat Engine与OllyDBG来修改简单的小游戏~

当然,这是只最初级的修改(露米娅比较笨qwq),不过,这也意味着非常地简单易学~


今天露米娅下载了一个反潜小游戏(WinDepth)来怀旧一下~

211380911a5ce465c53958af064c541b.png

当年玩到这个游戏的时候,咱还在上幼儿园……系统是win98,ghost系统自带一个十个小游戏的合集,其中就有这个潜艇的小游戏。不过版本可能不同,因为我记得那个游戏中的奖励潜艇是金色的,而这个WinDepth中的奖励潜艇是绿色圆形的。不过游戏的模式还是一样的,空格扔深水炸弹,左右移动。敌人(潜艇)的图像与攻击模式也是一样的。

一顿操作之后……

9db5efcbed406907d2a488972edc6cb7.png

玩得还不如当年呢……

所以咱就打开了罪恶的工具Cheat Engine……首先在CE中打开游戏进程。

4995fcd709a3418e10dcc8898efa5e4f.png

首先自然是要逆天改命,开始游戏,用First Scan 搜索4(初始的生命值)。

35f5e09ede33e6a246b5431c5cfc2f53.png

故意死掉一次,再用Next Scan 搜索3。

4ebfe9d47506d4374042c6b9b0fc3a5c.png

这样就直接搜索到生命值的地址啦,双击添加到列表中~大家可以直接修改内存,改成更大的值。不过,咱的目标不仅仅是这样~咱想要修改游戏~所以要用到调试器~

大家可以用CE自带的调试器来修改,不过咱还是喜欢用OllyDBG来处理~

在OD中打开程序,F9运行,正常开始游戏。

然后,在数据窗口中ctrl+g转到0012E9BC(这是我们刚刚搜到的内存的地址)。

4c973b28fc7e1e35c9a74ac49863a056.png

看到0012E9BC这个地址了嘛~在这里下一个内存断点(右键->断点->内存写入)

然后F9继续运行游戏,再死掉一次,就会发现断点触发,程序暂停了。

0da33bc59dc160829f617542c76be7bf.png

看指令窗口,我们抓到了写入的指令~相信学过汇编的诸君都知道要怎么做了吧~

什么,没学过汇编……那咱就解释一下这些汇编指令~

地址为00402F00的指令是将内存移动到寄存器eax中

地址为00402F10的指令将eax减1

地址为00402F17的指令将减1后的值放回内存

也就是说,这三条指令完成了将生命-1的效果。

5ee545274b5e6bb6bdb8a7d7352735fd.png

双击dec eax,改成inc eax(将eax加1)

之后删除内存断点(在0012E9BC上右键->断点->删除内存断点),F9继续程序~

再一次死掉之后,我们可以看到,生命值+1啦~

4e977ee2a2b94990d9821300ea36025a.png

接下来,我们要保存成果。

在OD中右键->复制到可执行文件->所有修改,然后在新出现的窗口中右键->保存文件

4164f4ff4c546a330318a202dcbed761.png

我们就得到一个死了之后生命+1的版本啦~之后用这个保存的来玩就容易多啦~是不是很开心呢~

不过,有没有其它的方法呢?

刚才,我们已经得到了内存地址,那么,我们可以写一个C语言程序。

#include

这个程序会通过窗口得到窗口的句柄,然后通过窗口句柄得到进程的PID,然后将进程的对应内存地址修改成99999。

为什么窗口名是WinDepth (Sleep)?因为这个游戏在窗口失去焦点之后,就会自动暂停,同时窗口名也会变成WinDepth (Sleep)这样(真是贴心的设计^^)。

编译之后,先开始游戏,然后运行程序,就会看到……

47854135d5258562d4b06eb7ee249229.png

生命变成99999啦~

用类似的方法,我们还可以修改关卡来达到跳关的效果,修改BOSS的初始血量来让BOSS更容易击败(搜索的方式不太一样,一开始要模糊搜索),大家可以去尝试~



推荐阅读
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 《2017年3月全国计算机等级考试二级C语言上机题库完全版》由会员分享,可在线阅读,更多相关《2017年3月全国计算机等级考试二级C语言上机题库完全版( ... [详细]
  • c语言基础编写,c语言 基础
    本文目录一览:1、C语言如何编写?2、如何编写 ... [详细]
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼*madebyebhrz*#include#include#include#include#include#include#include ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
author-avatar
mobiledu2502897083
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有