- A+
【第一部分:金手指密码的格式及含义】
1.1 金手指密码的格式
金手指密码的格式通常为XXXX-XX-XX格式
如下图,是赤影战士的金手指密码
我们可以看到都是XXXX-XX-XX的格式
1.2 金手指密码的含义
金手指通过-进行区分后一共分为了三个部分
其中金手指的第一部分是内存地址的意思(下一章节再讲解内存地址,这一章节先知道这是内存地址)
金手指的第二部分是类型的意思
金手指的第三部分是设定数值的意思
1.3 类型讲解
如下图,第五位数字0+第六位数字1组合成了金手指密码的类型01
其中第五位数字0是具体的设定类型,第六位数字1是具体的设定值字节长度。
1.3.1 设定类型
第五位数字是设定类型,设定类型一共分为四种
第一种类型:始终。 代号为0,效果是一直保持成设定值
第二种类型:一次。代号为1,效果是只修改一次成设定值
第三种类型:动态。代号为2,效果是当内存的数值大于设定值时,自动改成设定值,相当于”减小“的功能
第四种类型:从不。代号是3,效果是当内存的数值小于设定值时,自动改成设定值,相当于”加大“的功能
1.3.2 字节长度
第六位数字是字节长度,有1字节、2字节、3字节、四字节
1字节时,设定值为两位XX,金手指密码为XXXX-XX-XX
2字节时,设定值为四位XXXX,金手指密码为XXXX-XX-XXXX
3字节时,设定值为六位XXXXXX,金手指密码为XXXX-XX-XXXXXX
4字节时,设定值为八位XXXXXXXX,金手指密码为XXXX-XX-XXXXXXXX
1.3.3 类型种类
一共有16种,各类型及效果如下:
01=将内存地址的数值始终保持为一字节的设定值
02=将内存地址的数值始终保持为二字节的设定值
03=将内存地址的数值始终保持为三字节的设定值
04=将内存地址的数值始终保持为四字节的设定值
11=将内存地址的数值修改成一字节的设定值,只修改一次
12=将内存地址的数值修改成二字节的设定值,只修改一次
13=将内存地址的数值修改成三字节的设定值,只修改一次
14=将内存地址的数值修改成四字节的设定值,只修改一次
21=当内存地址的数值大于一字节的设定值时,自动减小到设定值,小于设定值则不修改
22=当内存地址的数值大于二字节的设定值时,自动减小到设定值,小于设定值则不修改
23=当内存地址的数值大于三字节的设定值时,自动减小到设定值,小于设定值则不修改
24=当内存地址的数值大于四字节的设定值时,自动减小到设定值,小于设定值则不修改
31=当内存地址的数值小于一字节的设定值时,自动加大到设定值,大于设定值则不修改
32=当内存地址的数值小于二字节的设定值时,自动加大到设定值,大于设定值则不修改
33=当内存地址的数值小于三字节的设定值时,自动加大到设定值,大于设定值则不修改
34=当内存地址的数值小于四字节的设定值时,自动加大到设定值,大于设定值则不修改
1.4 设定值
设定值多数都是16进制,所以需要将10进制的值转换成16进制,比如99=63,学过计算机的可以自己算出来,没学过的可以百度搜索或是搜狗搜索进行转换。
如:9=09,10=0A,11=0B,12=0C,13=0D,14=0E,15=0F,16=10
1.5 金手指密码解读
认真阅读以上内容后,我们便能理解金手指密码的意思,例如:
例1:0574-01-11=我们将内存地址0574的数值一直修改成1字节数值11
例2:60D4-02-FFFF=我们将内存地址60D4的数值一直修改成2字节数值FFFF
例3:2183-13-000023=我们将内存地址2183的数值修改成三字节数值000023,但只修改一次
例4:6423-21-02=当内存地址6423的数值大于02时,自动改成一字节数值02
例5:2646-31-08=当内存地址2646的数值小于08时,自动改成一字节数值08
所以,我们只要能找到具体的内存地址,想要什么功能,我们可以自行编写金手指密码。
【第二部分:内存地址如何查找?】
2.1 查找的快捷键
在模拟器的工具/查找金手指,快捷键是CTRL+HOME
2.2 查找方法1:通过准确的数值进行查找
打开查找金手指工具后如下窗口,在数据处写入具体数值,然后搜索。然后该数值发生变化后再搜索变化后的数值,通过多次的搜索进行锁定内存地址。
举例1:以双截龙2为例,我们查生命的地址,双截龙生命显示1P*3,实际是4条命,所以查找4,将4写入数据处点搜索,左侧就显示了数值为4的内存地址,但是地址太多,我们不知道哪个地址才是。
我们可以死掉一条命,使数值发生变生改变,先变成3进行搜索,此时只剩下0432一个地址是由原来旧值4变成现在值3,此时只有0432附件该变化,所以0432就是生命的内存地址(如果还是很多,我们可以再死一次让生命值变成2,再去搜索2,还很多再死一次变成1,再去搜索1,直至只剩下一个地址)
知道0432是生命的内存地址后,加上类型,加上设定值就是金手指密码,比如我们想要9条命,那就是0432-11-09.想要8条命,那就是0432-11-08。想要无数条命,可以写成0432-01-01一直保持1条命,写成0432-01-05一直保持5条命,或者写成0432-31-09那生命永远不会小于9条命,或者写成0432-31-0A那生命永远不会小于10条命,一样可以得无数命。
举例2:以魂斗罗1为例,找生命的内存地址,魂斗罗1起步有3条命,但只有两个导弹(导弹就是生命),所以查找2,数据处写入2点搜索,此时左侧出现很多数值为2的内存地址,但地址太多
所以发数值发生变化,对比旧值和现在值,自杀成1个导弹后再搜索1,此时只有四个地址附合旧值是2新值是1的变化规律,但是我们还是不清楚哪个地址是生命的
所以再自杀一回,让导弹变成0,再去搜索0,此时旧值是2新值是0的内存地址只剩下了0032,所以0032就是生命的内存地址。
知道0032是生命的内存地址后,加上类型和数值就是金手指密码
想30条命就写成0032-11-30,想10条命就写成0032-11-10,想无数命就写成0032-01-30或者0032-31-30,总之按上面讲解的自己自行编写就是
2.3 查找方法2:模煳查找
刚才有同学问了,知道具体数值的可以准确查找,不知道数值如何查找,那就可以模煳查找。
举例:我们以激龟快打为例,生命是一条一条的,此时你根本不知道生命的具体数据,先不管那么多先点“开始”进长模煳查找
和准确搜索一样的方法,还是通过旧值和现在值变化进行锁定,可以让生命少一点,那现在的血量比原来的血量是减小了,所以点旧>新,但是还是很多地址
所以要再次给电脑打一下,然后再点旧>新,此时地址会少一些,所以要不停地给电脑给,然后再点旧>新,经过了多次的尝试后只剩下了两个地址,那这两个地址肯定有一个是血槽的内存地址
我们假设0590是血槽的内存地址,在金手指处输入,0590-01-50后,血条少了一半,那0590就是血槽的内存地址,经验证0590-01-B0刚刚好满血,所以满血的值为176,想变成多少,把想要的值转成16进制就行,写成0590-31-9F也行。只要知道了内存地址,想怎么改就自己编写金手指密码
【总结】
1、通过准确查找数据或是模煳查找,锁定内存地址
2、内存地址+类型+数值就是金手指密码,具体想要什么要效果,想要多少数值,自己编写就了