一、什么VirtualNES?什么是金手指?

VirtualNES是一个NES模拟器,用来运行.nes文件,即在电脑上玩当年小霸王游戏机上的游戏。而它内置了一个简单的Cheat Engine,称之为金手指,使用方法基本同CE相同,即想修改游戏中的 某个参数,就通过不断的修改它的值来找出它的内存地址,从而修改锁定这个地址的值来达到不掉血、资源无限用等等乱七八糟的功能。

二、实战:伏魔三太子

本次要修改的游戏是《伏魔三太子》,小时候为玩这游戏和父母斗智斗勇完全无心学习,笔者人生如此悲催这游戏功不可没:

开始游戏,出生在陈塘关:

打开状态栏看一下:

一贫如洗,好惨,现在先打开“查找金手指”界面:

初始化并搜索值为0的地址:

可以看到有很多,其中表示银子的地址就在这些里边,要想办法将其找出来,基本思路是每次改变银子的值,然后使用新的值去过滤,直到剩下一个就是我们想要的银子地址,或者剩下两三个手动排查出哪个是银子的地址,要改变银子的数量,可以出去打怪得到银子,因为我玩过好多次了,所以知道开局的时候爸爸会训斥哪吒惹事了,而妈妈则会塞银子让跑路,所以找妈妈领银子:

领完银子再搜索一次,这一次搜索100,因为现在有100个银子,搜完发现这次只剩下三个了:

银子的地址就是其中之一,一个一个试最多试三次,双击第一个地址0501,自动将地址填到“写入数据地址”,然后手动将数据修改为1,单击写入按钮:

然后重复此步骤,第二个地址06C1,写入2,第三个地址06F2,写入3,写入不同的地址是为了提高排查效率,等下只需要看界面上显示的是哪个数就知道是第几个地址生效了,接下来打开状态栏,看下有几个银子了:

现在有1两银子,说明刚才第一个地址生效了,那个就是银子的地址。

现在在第一个地址上右击 --> 添加金手指:

重新打开状态界面,小哪吒已经富可敌国了:

三、实战:东方的传说

接下来再来一个例子,这个游戏叫《东方的传说》,笔者小时候在一个光碟游戏合集中玩过,但是因为光碟无法存档所以一直没玩通关过,虽然现在有条件了但已经找不回那时的感觉了,这次就拿它来练手吧:

这个游戏中有一种消耗类的道具炸弹,就是钥匙下方蓝色的那个球,这是一个消耗品:

工具 --> 查找金手指 --> 开始,在数据处输入0搜索,因为当前有0个炸弹:

然后返回游戏,再买4个炸弹:

然后数据处输入4搜索:

仍然有好几个地址,怎么办,那再买四个好了。。。

现在在金手指数据处输入8搜索:

仍然有两个,怎么办,尝试修改它们的值观察界面上的炸弹数是否会改变来排查,双击地址会自动填写到右侧的“写入地址数据”的地址栏,然后随便输入个数字3单击写入:

好像什么事也没发生,然后尝试第二个地址,将其值修改为4:

OK,就是这个地址,将其添加为金手指,值固定就可以无限使用炸弹了:

注意这个最大值是255,说明是一个字节,我作死的往后尝试了几个字节看会改变什么(挨着声明的变量内存地址都是连续的...),发现我的衣服被改变了...

.

初识内存挂:VirtualNES金手指教程的更多相关文章

  1. A 内存挂 B 封包挂 C 钩子挂 D CALL挂 外挂

    https://www.zhihu.com/question/32291769 作者:猎狐链接:https://www.zhihu.com/question/32291769/answer/70929 ...

  2. 手游服务端框架之GM金手指的设计

    玩过单机游戏的朋友,应该对金山游侠这个软件很熟悉把.当初我经常嫌刷怪升级非常辛苦,很多时候都是直接用金山游侠来修改游戏的经验或者等级内存,直接把角色调得很牛逼. 游戏开发也非常需要这些可以修改玩家数据 ...

  3. FCEUX金手指加强版 - 使用Lua脚本语言编写FC/NES金手指脚本

    一直觉得大部分的FC/NES模拟器的作弊码金手指不是那么方便使用, 比如魂斗罗1代, 玩家的武器可以通过修改0xAA的值来改变: 0x11为M弹(重机枪),0x12为F弹(圈圈),0x13为S弹(散弹 ...

  4. 初识内存分配ByteBuf

    初识ByteBuf: ByteBuf 是Netty 整个结构里面最为底层的模块,主要负责把数据从底层IO 里面读到ByteBuf,然后传递给应用程序,应用程序处理完成之后再把数据封装成ByteBuf ...

  5. 记一次 .NET 某上市工业智造 CPU+内存+挂死 三高分析

    一:背景 1. 讲故事 上个月有位朋友加wx告知他的程序有挂死现象,询问如何进一步分析,截图如下: 看这位朋友还是有一定的分析基础,可能玩的少,缺乏一定的分析经验,当我简单分析之后,我发现这个dump ...

  6. [ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis

    # redis安装 # redis安装教程 -- 服务器(ubuntu)安装redis服务 sudo apt-get install redis-server -- 源码安装 -- $ wget ht ...

  7. 例程使用(1-4)共享内存 存图片+vector容器教程

    1传输的数据 1-1数据格式说明 1 两路视频图像Mat 图像 图像数据(Mat)+图像头信息(ImgInf) //图像的宽.高.类型信息 typedef struct { int width; // ...

  8. 【STM32H7教程】第25章 STM32H7的TCM,SRAM等五块内存基础知识

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第25章       STM32H7的TCM,SRAM等五块内 ...

  9. 【STM32H7教程】第27章 STM32H7的TCM,SRAM等五块内存的动态内存分配实现

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第27章       STM32H7的TCM,SRAM等五块内 ...

随机推荐

  1. adb命令篇

    前言    Android的adb提供了很多命令,功能很强大,可以为开发和调试带来很大的便利.当然本文并不是介绍各种命令的文章,而是用于记录在平时工作中需要经常使用的命令,方便平时工作时使用,所以以后 ...

  2. 原生js的常用方法总结

    =============== 通知: 博主已迁至<掘金>码字,博客园可能以后不再更新,掘金地址:https://juejin.im/post/5a1a6a6551882534af25a8 ...

  3. 数组中有一个数字出现的次数超过数组长度的一半(C、Python)

    C语言 1 /* 2 ----------------------------------- 3 动态分配需要的内存大小 4 输入数组元素的值 5 通过函数调用,传地址对数组排序 6 循环每个元素,当 ...

  4. Kubectl操作命令

    Kubectl 自动补全 yum install -y bash-completion source /usr/share/bash-completion/bash_completion $ sour ...

  5. [nodemon] app crashed - waiting for file changes before starting...

    慕课网前端工程师晋升课程 Vue全家桶+SSR+Koa2全栈开发美团网 视频里用 npx create-nuxt-app mt-app创建项目后,不能使用import ...from....跟着老师修 ...

  6. python - 全局中间件(2.7)

    一.场景 在网站的所有页面中可能某些地方都需要相同的数据,此时可以在Django中定义全局数据并存储在session中,或使用模板语言放入页面中 注意:一定要加上 try: 进行潜在的异常捕捉,因为一 ...

  7. [Javascript] Working with Static Properties on a Class

    Classes are syntactic sugar over functions and functions are also referred to as "callable" ...

  8. [Algorithm] 136. Single Number

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...

  9. uni-app 图片上传实战

    uni.uploadFile()将本地资源上传到开发者服务器客户端发起一个post请求content-type multipart/form-data 通过uni.chooseImage获取一个本地资 ...

  10. JMeter的基本使用

    什么是Jmeter JMeter是Apache基于Java开发的压力测试工具,通俗的说,你想知道你的接口有多猛,你的服务器是否耐揍,这个家伙可以用数据告诉你.原来学过JMeter的基本使用,发现想不起 ...