jiangzhengwenjz 发表于 2017-5-5 21:15:18

【改版基础教程】快速编写codebreaker金手指进行调试

本帖最后由 jiangzhengwenjz 于 2017-5-5 21:29 编辑

【改版基础教程】快速编写codebreaker金手指进行调试

最近忙的不行,也没怎么发过贴。这个是周五有人问我相关的问题,所以我写个简短的教程来说明一下codebreaker金手指如何书写。

金手指,说白了就是内存锁,能够锁定指定内存的值,当然也是可以加入条件判断,不过实际上用的也并不太多。codebreaker相比action replay和gameshark更简单点,不过论代码功能多的话应该还是action replay更好。

工具在帖子最后提供打包下载。

内存修改命令:
(1)3aaaaaaa 00xx将字节xx写入地址aaaaaaa

(2)4aaaaaaa yyyy
zzzzxxxx iiii以2字节为单位覆盖一片内存,起始地址为aaaaaaa,起始值为yyyy。zzzz为每次写入值的增加量,xxxx为重复的写入次数,iiii为每次写入地址的增加量。
譬如我想把0x203C400开始的98个字节都写入FF,由于98/2=0x31,那么代码就是这个样子:4203C400 FFFF
00000031 0002(3)6aaaaaaa yyyy把yyyy与aaaaaaa的2字节值作AND再写入。

(4)8aaaaaaa yyyy将2字节yyyy写入地址aaaaaaa



条件判断命令:
(1)7aaaaaaa yyyyyyyy与aaaaaaa的2字节值相等时才执行下一条命令

(2)Aaaaaaaa yyyyyyyy与aaaaaaa的2字节值不相等时才执行下一条命令

(3)Baaaaaaa yyyyyyyy小于aaaaaaa的2字节值时才执行下一条命令

(4)Caaaaaaa yyyyyyyy大于aaaaaaa的2字节值时才执行下一条命令

需注意比较都认为是有符号数。


master code:
这理论上是必须在代码前加上的,然而,实际尝试中却不用。很可能是模拟器的机制和真实的codebreaker不同,或许他根本不用cba code handler而是直接解析?这就显得简单粗暴了...
简而言之这就是使得在游戏中跳转到金手指处理代码的位置,以进行内存的修改等
master code就是指0和1开头的命令。要找这代码最快的方法是查找该游戏现成的代码自带的master code。如我在网上查到的火红美版:000014D1 000A
1003dae6 0007或也可用gbatool工具来查找,方法是browse加载ROM后search,之后测试就行了(然而如之前所说,模拟器或许根本不用你的master code)


如何加密:
事实上自己用的话也不用加密的,不过网络上发布的很多都是加密后的代码。要加密只需用CBAcrypt工具和9开头的命令,这句应放在0和1命令之前。
如之前所说的写入一片内存4203C400 FFFF
00000031 0002在他前面添一句9命令,变成94345ABD 9813
4203C400 FFFF
00000031 0002点encrypt加密之后也就是94345ABD 9813
7F58CD06 F5E2
33B6BBEB 9499当然这例子里根本没写0和1命令,但无所谓了...


上面只是介绍了一部分命令,对实现加密的算法,以及其他用处不大的命令有兴趣的可去看gbatek
参考: enhacklopedia, gbatek

gbatool和CBAcrypt下载:
**** Hidden Message *****

Against 发表于 2017-5-6 23:25:26

厉害,,,

zhuzai 发表于 2017-5-30 16:29:00

大哥你知道怎样改战斗背景不

判仔团 发表于 2017-7-8 14:22:32

厉害。。。。。

迷失的幼龙 发表于 2017-8-22 20:31:57

顶一个支持!

奇杰 发表于 2017-11-8 20:43:10

aaaaaaaaaaa

瑟瑟发抖萌新 发表于 2018-9-17 16:25:58

感谢聚聚分享!

bsgn2014 发表于 2019-7-26 10:17:11

{:happyLugia:}

justin9527 发表于 2019-11-3 01:51:02

模擬器直接把GS碼貼到CB碼那欄一樣可以執行
代表模擬器本身就有轉譯功能?可以調出來的話是不是就不用額外工具了..

HGLSG 发表于 2020-10-21 01:26:40

{:happyLugia:}

尛丫 发表于 2020-12-6 08:13:32

很不错的金手指资料

qqlll 发表于 2020-12-8 23:50:18

66666很不错

thtop 发表于 2021-1-3 03:30:48

来学习学习

s744865306 发表于 2021-1-10 20:04:35

好厉害的东西

s744865306 发表于 2021-1-10 20:04:36

好厉害的东西
页: [1] 2
查看完整版本: 【改版基础教程】快速编写codebreaker金手指进行调试