Emulator 板


LINE

为什麽叫金手指 是从一个故事来的 有个人许愿後 手指碰到的东西都会变成黄金 来代表想得到什麽都做得到 用在游戏中 作弊码可以达到你任何想达到的效果 所以作弊码称为金手指 不过 游戏卡带的印刷电路板 用来插入插槽的那一排金色线路的也叫金手指 1.为什麽能改游戏里的内容 因为电脑里的任何档案 都是数位的0与1组成 游戏也是 在使用模拟器读取ROM玩游戏时 你已经把整个游戏从硬碟读取到记忆体里面了 所有游戏的画面 数值 下一部的动作 都完整的在记忆体里面经由CPU的运算而变动 所以你能找到纪录该数值 该状态 的记忆体位置 然後更改它 得到你想要的效果 2.记忆体内容的形式 在电脑的世界 以bit(位元)为单位 bit只有0或1 用那一格记忆体元件的电压值代表 再来是byte(位元组) 1 byte = 8 bits 所有0与1的组合 从 0000000 到 11111111 总共有256(2的8次方)种 模拟器程式的记忆体是以 1 byte为单位 来记录或是运算 这个世界通用的数字进位是 10进位 意指需要4 bits(2的4次方=16) 才能表示数字0到9 那剩下的6位怎麽办 所以程式都采用16进位 0~9 之後是 ABCDEF 才进位到下一位 1 byte 可以记录16进位的两位数 从 00~FF 即10进位的 0~255 3.记忆体位址 记忆体很大 所以需要给他们位址 也是16进位 因为有更上层的记忆体在记录管理这些位址 每个模拟器使用的记忆体不同 甚至可能版本不同 记忆体位置就不同 所以我在写金手指时 会附上模拟器 这也是为什麽使用game master 来找电脑游戏的金手指 每次找到位址都不一样 他们用的是window的记忆体位址分配 所以前面多开其他程式 位址就被占走 你的游戏就只能用後面的位址 而模拟器用的是本身再虚拟一次的记忆体位址 所以同模拟器 同ROM 金手指是相同的 较低位元的模拟器 使用的ROM都不大 所以需要记忆体位址不多 像FC任天堂 只有用到 0000~FFFF (其实只有用到7XXX) 游戏复杂容量大的模拟器 像GBA 就到00000000到03XXXXXX PS就更夸张了 4.数值记录方式 游戏也是个程式 同样的结果 不同人写 内容也不同 管理数值的方式也不同 以十进位99为例 有游戏是表达成16进位的63 有的却是表示成 99 4bits表示十位 另外4bits表示个位 有的使用到2个bytes, 1 byte纪录十位 1byte纪录各味 以 09 09 表示 大部分都是第一种 因为用的记忆体最少 可以记录的数值最大 可是写起来麻烦 还要转换16进位到10进位再显示在萤幕上 再来是纪录 状态 如果状态只有 两种 就可以只用 1 bit 的0与1表示 所以1byte可以纪录8种状态 00000000 11111111 此时记忆体使用2进位 例如RPG 常用的 死亡与否 中毒与否 过关与否 开关与否 就是这样纪录 每个物品也可用数值代表 例如 01代表刀 02代表剑 ... 同理 颜色 大小 图形 在画面上位置 移动速度 显示文字 等 也可以这样纪录 就这样组成我们玩的游戏 以下我列一下 常用的数值 10进位 16进位 10 0A 15 0F 99 63 999 03E7 9999 270F 99999 1869F 999999 F234F 9999999 98967F 255 FF 65535 FFFF 16777215 FFFFFF 要转换10进位和16进位很简单 只要使用Window内建的小算盘即可 打开小算盘後 按下功能列的 检视 找到工程型 按下去 你的小算盘就会变大台 然後输入你要的10进位数字 用滑鼠将16进位选项 按下去 数字栏内的数字就会变化 同理 先将小算盘设定在16进位 输入数字後 再用滑鼠按下 10进位 就会变成10进位数字 二进位也是如此使用 5. 寻找金手指 现在知道游戏如何在电脑中进行 那我们就来找金手指 金手指就是你想要找出的数值或是状态 然後想要改变它 或是固定它 模拟器通常都会提供寻找金手指的功能 称为 cheat code 寻找方法 大概有两种 一种是输入指定的数字 像是银幕上有显示的数字 另一种是没有显示 但是是会改变的状态 例如受伤 与没受伤 现在以 FC魔界村http://0rz.net/771Gi 模拟器virtualNES 0.92http://0rz.net/0e1E3 为例 我们来找 时间 还有 子弹种类 先开启模拟器 读入游戏 进入游戏画面 时间是直接的数值 可以直接找数字 当游戏画面有显示时间後 我们先猜 它是 1 byte 纪录 两位数的秒数 按下工具->金手指支援 会出现新视窗 左边的格子 是所有记忆体位址和内容 旧值 是上一次的数值 新值 是这次进入这个画面改变後的数值 这样才能拿来比对 右上的基数 是看要找10进位还是16进位 长度是一次要找几个byte 范围是要找的记忆体 我们选10进位 1byte SRAM打勾 右中间 有一堆搜寻用的按钮 开始 让左边表格 恢复成 这一秒钟的所有记忆体状态 (找新手指时 游戏已经停止进行) 更新 左边表格的新值改变成 这一秒钟的状态 (刚开启 会停在上次找的数值) 下面六个 就是比较新值和旧值的按钮 时间是递减的 所以用 旧值>新值 这个按钮来找 不过 因为时间有正确数值 用上面方法找有点慢 我们直接找数字 假设游戏的时间秒数是59 我们在数据那栏输入59 按下搜寻 这样就过滤掉不是数值59 的其他记忆体位址 不过还是有很多 现在回到游戏中 让秒数继续倒数 假设倒数到58 我们再回到金手指搜寻 现在左边表格 还停在上次找的59的记忆体位址 我们再输入58 再搜寻 你会发现 没有一任何一个记忆体符合 所以我们假设错误 它可能是用1 byte纪录一位数(个位或十位) 或是16进位表示 现在假设用1 byte纪录一位数 按下开使 使记忆体位址全部回来 时间的个位数是8 (58中的8) 所以我们输入8 搜寻 也是有一堆位址符合 再回到游戏 让秒数改变 成57 所以再回来搜寻7 如此反覆 直到记忆体位址 剩下一个 就确定是它 纪录时间的秒数个位数 我的是 06FC 数值是7 用滑鼠在左边表格那个位址上按右键 选密码增补 数入你要的数据 9 还有作用说明 时间秒数个位数(随便你写 看的懂就好) 在回到游戏中 你会发现 时间固定在59 因为个位数不会变 所以自然的十位数也不会变 再来我们找 子弹的类型 一开始是使用矛 当你打到宝物 火把 时先不要吃 先使用游戏的快速纪录 (alt+数字) 快速读取(ctrl+数字) 数字是代表不同的记录档 然後到搜寻金手指 按下开始 再回来吃 新型的子弹 火把 马上回搜寻 按下 旧值!=新值 这代表旧值不等於新值的意思 子弹改变 当然纪录的数值就不同 搜寻结果会有一堆 因为很多东西改变了 所以你要故意继续玩 不改变子弹 改变其他东西 再回来搜寻按下 旧值=新值 死掉後 子弹又回到矛 所以按下 旧值!=新值 搜寻 如此反覆 会只剩下 一两个记忆体位址 通常游戏内容的位址都不会差太远 所以你也选 06xx 附近的位址 试看看 要记住 什麽子弹的数值是什麽 我找到的是 053A 42是矛 44是火把 想也知道43一定有东西 45以後也可以试看看 我们到 工具 -> 金手指密码 找到我们刚刚找到的子弹金手指 连点两下 将数据改成45 再回到游戏 你会发现子弹变成风车 所以43 46 47也可以试看看 金手指密码画面 还有其他按钮 不过看字面就懂意思了 只有输入要讲一下 它的格式是 xxxx-xx-xx 前面4位是位址 中间两位是长度 就是从这个位址往後面 全部要改几个byte 後面两个是数值 如果长度02 就变成xxxx 长度03就输入xxxxxx 为什麽会有长度呢 因为1byte数值最大是255 游戏常用到很大的数值 所以要用2个以上byte来记录 金手指每个byte都要输入不是很麻烦吗 所以就连後面的都一起输入 密码前面的绿色是表示现在有效果 红色表示没效果 一半是代表比他大执行 或是小 可以用滑鼠按他调整 或是连点两次进去密码里面调整 如果是找 金钱 分数类 当然要设定最大值 所以你要把前几位也找出来 通常不是在上一byte 就是下一byte 所以你可以直接输入长度2的数值 看他会不会变 如果是找人物状态数值 例如RPG脚色的臂力 速度 体力 他们都是连续的位址 找到其中一个 往前或往後 就一定是另一个数值 不用再另外找 金手指密码可以储存 下次玩还可以载入 或是给别人使用 6.为什麽有些金手指找不到 因为你假设错误 或是他不是以字面上显示的数值进行纪录 就如我上面所说的 纪录两位数的方法就有3种 1byte 10进位, 1byte 16进位, 2bytes 10进位(各管个十位) 有些新游戏 或是大游戏 不希望大家这样改 就破坏游戏的好玩度 会将数值编码 看是多乘什麽值 多加什麽值 或是字面上数值变大 记忆体内是变小 让你找不到 这时就只好想几种逻辑 我有次找有血条的游戏 找不到血条位址 原来血条变短 是数值变大 还有勇者斗恶龙6代 有些数值会平移 明明是6 记忆体里面写16 平移了10 没办法的 就用其他方式代替 例如 无敌找不到 就找血量不会减 无敌通常是固定受伤後的隐形状态 所以要故意一直受伤找 最难的是想出金手指的效果 看看游戏有哪些数值可以固定 有什麽效果 像是连发集气子弹 要固定集气的状态 游戏侦测到你没有按着按钮 就会一直发射 还有改变金手指後的状态很容易遇到bug 这是没办法的 因为你已经破坏游戏的正常进行 到有bug的附近 要先把会影响的金手指关掉 再过去 其他模拟器 也是类似的方法使用的 不过有些没有长度 要一个个输入 而且位址也不同 不过原理是相同的 故意改变状态 比较记忆体内容 重复操作 就会找出来 祝 大家 每个游戏都破关 哈 XD (看完的人 很厉害欧 我打完都头晕) 有错误请指教 有想到东西再来修改文章 ~~~~~~~~~~你按end 被我抓到了欧 ~~~~~~~ -- 大陆领土是祖国台湾神圣不可分割的一部份. China is an inseparable part of The motherland Taiwan. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.19.136
1F:推 kinnsan:推一个 真是认真XD 07/30 22:38
2F:推 bigair: 推! 把原理跟实作都讲的很清楚 07/30 23:09
3F:推 shai:终於看完了,推!!! 07/31 01:25
4F:推 dragonsoul:推 07/31 02:26
5F:推 timyau: ◆ 这一篇文章值 514 银 辛苦了 07/31 08:54
6F:推 windtrace:很清楚<(_ _)> 07/31 22:00
7F:推 dewenhsu:最早的红白机金手指就是一个排插介面, 这也是名称由来 03/17 22:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP