一、什么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. firefox修改user-agent

    让firefox对web服务器伪装成任意浏览器,找一个iphone的useragent,瞬间firefox变身iPhone有木有,一般人我不告诉他嘿嘿 1.firefox地址栏中输入about:con ...

  2. centos安全加固

    设置SSH登录超时时间 /etc/profile export TMOUT=900 设置账户密码策略 /etc/login.defs PASS_MAX_DAYS 180 PASS_MIN_DAYS 0 ...

  3. DT添加七牛云对象存储插件功能

    七牛云对象存储  1.注意客户购买的空间的存储区域,区域不同对应的上传域名不同    destoon  七牛云上传文件   用下面源码替换include/ftp.class.php   文件代码 &l ...

  4. IEnumerable,ICollection ,

    一般规定——IEnumerable < >(MSDN:http://msdn.microsoft.com/en-us/library/system.collections.ienumera ...

  5. springboot集成jsp,访问jsp页面下载问题

    1.导入相关依赖     (存在jsp页面下载问题,可能是缺少tomcat-embed-jasper的依赖对jsp的支持) <parent> <groupId>org.spri ...

  6. PostgreSQL 执行计划

    简介 PostgreSQL是“世界上最先进的开源关系型数据库”.因为出现较晚,所以客户人群基数较MySQL少,但是发展势头很猛,最大优势是完全开源. MySQL是“世界上最流行的开源关系型数据库”.当 ...

  7. date -d

    date -d ‘2 days ago’ //显示2天以前的时间date -d ‘60 second ago’ //显示60秒以前的时间 date -d '3 months 1 day' //显示3月 ...

  8. Python I/O编程 -- 序列化

    序列化 pickle模块,json模块 (1)把变量从内存中变成可存储或传输的过程,称之为序列化.Python中叫pickling,其他语言中也被称为serialization,marshalling ...

  9. JS的ES6的iterator

    一.iterator 1.概念:iterator是一种接口机制,为各种不同的数据结构提供统一的访问机制. 2.作用: 为各种数据结构,提供一个统一的.简便的访问接口: 使得数据结构的成员能够按某种次序 ...

  10. 关于单片机的RAM

    一块RAM 分为了 堆 和 栈   名词而已,知道就可以了, 各种内存溢出问题: 全局数组访问越界 出现的问题:直接重启,或者死机 解决办法 :  额,写好自己的程序吧!!!!!!! 函数的局部变量过 ...