初识内存挂:VirtualNES金手指教程
一、什么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金手指教程的更多相关文章
- A 内存挂 B 封包挂 C 钩子挂 D CALL挂 外挂
https://www.zhihu.com/question/32291769 作者:猎狐链接:https://www.zhihu.com/question/32291769/answer/70929 ...
- 手游服务端框架之GM金手指的设计
玩过单机游戏的朋友,应该对金山游侠这个软件很熟悉把.当初我经常嫌刷怪升级非常辛苦,很多时候都是直接用金山游侠来修改游戏的经验或者等级内存,直接把角色调得很牛逼. 游戏开发也非常需要这些可以修改玩家数据 ...
- FCEUX金手指加强版 - 使用Lua脚本语言编写FC/NES金手指脚本
一直觉得大部分的FC/NES模拟器的作弊码金手指不是那么方便使用, 比如魂斗罗1代, 玩家的武器可以通过修改0xAA的值来改变: 0x11为M弹(重机枪),0x12为F弹(圈圈),0x13为S弹(散弹 ...
- 初识内存分配ByteBuf
初识ByteBuf: ByteBuf 是Netty 整个结构里面最为底层的模块,主要负责把数据从底层IO 里面读到ByteBuf,然后传递给应用程序,应用程序处理完成之后再把数据封装成ByteBuf ...
- 记一次 .NET 某上市工业智造 CPU+内存+挂死 三高分析
一:背景 1. 讲故事 上个月有位朋友加wx告知他的程序有挂死现象,询问如何进一步分析,截图如下: 看这位朋友还是有一定的分析基础,可能玩的少,缺乏一定的分析经验,当我简单分析之后,我发现这个dump ...
- [ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis
# redis安装 # redis安装教程 -- 服务器(ubuntu)安装redis服务 sudo apt-get install redis-server -- 源码安装 -- $ wget ht ...
- 例程使用(1-4)共享内存 存图片+vector容器教程
1传输的数据 1-1数据格式说明 1 两路视频图像Mat 图像 图像数据(Mat)+图像头信息(ImgInf) //图像的宽.高.类型信息 typedef struct { int width; // ...
- 【STM32H7教程】第25章 STM32H7的TCM,SRAM等五块内存基础知识
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第25章 STM32H7的TCM,SRAM等五块内 ...
- 【STM32H7教程】第27章 STM32H7的TCM,SRAM等五块内存的动态内存分配实现
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第27章 STM32H7的TCM,SRAM等五块内 ...
随机推荐
- 【转】tf.SessionRunHook使用方法
原文地址:https://blog.csdn.net/mrr1ght/article/details/81011280 .本文有删减. tf.train.SessionRunHook()是一个类:用来 ...
- selenium安装
pip安装 pqi优化pip下载速度 pip install selenium pip install --upgrade selenium pip show selenium 离线安装 官网下载se ...
- nuxt 项目设置缩进为4个空格
1..editorconfig 文件下的indent_size: 2更改为indent_size: 4 2..prettierrc 文件 { "singleQuote": true ...
- 20180516模拟赛T2——string
题解 对于一个字符串A,我们只能把其首字符取出,故如果我们想让A串与B串相等,能重复利用的部分只能是A串结尾与B串开头相等的部分.对于取出的字符,我们可以把'o'放在一个容器中,把'x'放在另一个容器 ...
- 怎么避免写bug?
1:关注可能的业务逻辑异常:业务逻辑异常 可以通过各种输入输出 和 预期进行比较 即可很快发现. 2:关注可能的运行逻辑异常: 如 copy对象: 对象引用等 这类异常只看代码逻辑时很难发现的:代码写 ...
- tomcat catalina
脚本catalina用于启动和关闭tomcat服务器,是最关键的脚本 在tomcat里有此文件 写这个脚本的人为什么命名为catalina一开始我还以为是其初恋女友,后来才知道原来是一个小岛的名字.
- Event 事件(最简单实用)
public partial class Form1 : Form { /// <summary> /// 定义事件 /// </summary> public event E ...
- Spark两种内存管理
Spark动态内存管理 Spark 1.6 后改为动态内存管理(如果想启用静态内存管理,方法下面会介绍),启动动态主要体现在 存储内存和执行内存的动态.
- vue分组全选权限,CheckBoxGroup
<template> <div class="comPower"> <div class="card_header" v-show ...
- java 整理
类和类之间,接口和接口之间是继承:类和接口之间是实现:类只能单继承,接口可以多继承. 1.接口的出现扩展了功能. 2.接口其实就是暴漏出来的规则. 3.接口的出现降低了耦合性,即设备与设备之间实现了解 ...