设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 2310|回复: 2

[转载HACK教程] 禁断研究(作者:Arix.Wang)

  [复制链接]

签到天数: 1992 天

[LV.Master]伴坛终老

发表于 2009-3-9 20:45:49 | 显示全部楼层 |阅读模式
作者:Arix.Wang   文章来源:http://orbit13.spaces.live.com/
+ x2 N' q# P6 j$ r# V; B0 _' O! c6 t' Z# I9 I+ A5 x  G
*** 金手指禁止! ***
  |* \7 w6 y6 W  l为了测试汉化成果的需要,不得不求助于老金了。
# j6 j" v7 _, HVBA主要使用的金手指码类型有三种:原始码raw,Codebreaker(CB),Gameshark(GS)* n& r( [' n0 \. Q! ]
raw设置和功能都太简单了,如02001234:12345678就表示修改[02001234]处数据为12345678(高低位不说了,真实值为78 56 34 12), J0 [& z  }6 n. C! e
GS码强大到可以修改游戏代码,但是没有可读性,不会也不谈5 {, {( i2 H6 U; `
那就说说又强大又可读的Codebreaker Codes。以0-F开头的代码各具功能,以下逐一说明:
' Q0 ^! m( Q3 W4 W' C
+ u8 ~, {. \' a4 ^4 h. ~) N. N0,1,9打头的代码为Enable Codes
3 g$ |3 t3 v! M& J6 |% z) `  0000xxxx  000y  Enable Code 1 - Game ID
; R( `9 |) l3 n  1aaaaaaa 000z  Enable Code 2 - Hook Address
0 T" N" u& W2 w0 h6 N" D  9xyyxxxx   xxxx  Enable Code 0 - Encrypt all following codes (optional)
) [; J, [0 j* y. J$ W/ u这些是用来匹配游戏和压缩用的,基本用不上
8 g) l% l% Y4 g  M# P0 I
2 c! y8 Z- n# J4 _6 M/ k3,8分别为 8bit 和 16bit 修改
0 R' q. a! }4 s  3aaaaaaa 00yy  [aaaaaaa]=yy
: A# R! [2 K2 }7 g  8aaaaaaa yyyy  [aaaaaaa]=yyyy# k$ i; j* m% e
直接修改数据,相当于raw码
' w- Z, n, g. M4 w
2 z8 V  R/ s7 _( o0 \7,A,B,C(F,D)为条件判断码9 r; O! v: W/ P# q1 ?5 t- u
  7aaaaaaa yyyy  IF [aaaaaaa]=yyyy THEN (next code)
2 ?4 ~& P! N0 G: T6 x; H# ?  V  Aaaaaaaa yyyy  IF [aaaaaaa]<>yyyy THEN (next code)
* t2 V( |- o, F3 w& R1 U  Baaaaaaa yyyy  IF [aaaaaaa]>yyyy THEN (next code) (signed comparison)' x8 M6 q# _- p1 H- P5 e/ H- M. O
  Caaaaaaa yyyy  IF [aaaaaaa]<yyyy THEN (next code) (signed comparison)
8 N+ l7 U4 P. E- k  Faaaaaaa yyyy  IF [aaaaaaa] AND yyyy THEN (next code)
7 h0 E- X6 G  E" T  *D0000020 yyyy  IF [joypad] = yyyy THEN (next code)
( w7 b' I& Q" S! U* A主要说下D码,当按键满足条件时启动- f1 Z6 z  \  c; K
A  0001 B   0002 Select 0004 Start 0008( V. v, x( B- `9 L0 E
右 0010 左 0020   上     0040    下  0080% I. i: r7 a- v8 d- V3 n7 w
R  0100  L  0200    如判断同时按下[A,上,L]即为 [D0000020 0241]
  p9 ~! k% P' \$ p# |: i引申一下,在gba中规定4000130h - KEYINPUT - Key Status (R)  |4 M7 F5 \- W! R1 V, J; ~! b1 X8 k9 m% f
16位中低10位分别标示[A,B,Select,Start,右,左,上,下,R,L](0=Pressed, 1=Released)8 T* Y' u; X& w% k# `  l$ b
同时按下[A,上,L]即为0110111110=1BEh,也就是[D0000020 0241]和[74000130 01BE]等效! ?& @" Z# u2 [' e% v8 b/ |
*实际条件为IF [joypad] AND yyyy = 0 THEN,注意 0241 && 01BE = 0的
" V: n. V9 r0 K6 g9 V1 b/ B0 O " q' z7 G, o6 m& r5 e9 B" ^) O, N
2,6,E为逻辑码和自操作码2 f) ^5 t! [" }4 a, w: H
  2aaaaaaa yyyy  [aaaaaaa]=[aaaaaaa] OR yyyy
& Y* n  X$ D5 X9 U' p* A  6aaaaaaa yyyy  [aaaaaaa]=[aaaaaaa] AND yyyy2 N5 E* t  B/ ~+ s$ C
  Eaaaaaaa yyyy  [aaaaaaa]=[aaaaaaa] + yyyy' z; W! O6 }2 j, k4 }8 B; J* O
这组很明白就不说了,注意的是E码中,当yyyy>7FFFh时为负数,实现自减
1 _' t& n0 [: n0 y
. m6 E* I! g! s- [& X9 e# V4为批修改,好像也叫压缩码,用来修改全道具、全图鉴之类的东东
, J4 _2 y1 x8 M9 H$ \  4aaaaaaa yyyy  [aaaaaaa+0..(cccc-1)*ssss]=yyyy+0..(cccc-1)*iiii. h: l) F" O' \5 M: h  X/ ^# Z8 G
  iiiicccc ssss  parameters for above code
3 D* |$ S* w# t这是一个很便捷的代码,再说明一次; ?+ }' ^& I- o
aaaaaaa起始地址,ssss每写一次后的偏移量,cccc写入次数
# \% H# @6 A2 x9 a. b6 Uyyyy写入初始值,iiii每次写入后yyyy的递增值, {5 H% l. K( [- q" Q' |
如0858中每个道具占4B[03 63 72 00](03图鉴状态,63道具数量,72角色道具说明和入手途径,00)8 U, T6 w) X2 k' {5 |
要修改263个道具数量为99且图鉴全开即为(03001540起始地址)8 n( k4 h/ d0 Q! w& {: [
43001540 6303; M+ C' _! G& T+ r0 `( v
00000107 0004
/ k4 g7 w# c  Q- ^# |
* W# L  U# u! F# V2 y$ y5为直接memwrite,没有试过# Y( ~3 e; N  ]/ t5 F; N% x
  5aaaaaaa cccc  [aaaaaaa+0..(cccc-1)]=11,22,33,44,etc.
6 n* I& B/ s7 N5 ?6 |; T/ l  11223344 5566  parameter bytes 1..6 for above code (example)
+ p. V. _# u  M2 V$ ]  77880000 0000  parameter bytes 7..8 for above code (padded with zero)
; A) [% A0 ?  t3 N# Y 7 {+ W0 t; R4 F* f8 X. [
差点忘了萌战,四强已出炉
5 ]# ^( s) X2 K! g镜,渚,司,会长。最后一周,最后的战斗~期待双子的对决
! H0 F- T( b, y  `- b8 p
+ g! S, D0 m7 S% H[ 本帖最后由 疾风之狼 于 2009-3-31 20:40 编辑 ]
头像被屏蔽

该用户从未签到

发表于 2009-3-9 20:52:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

该用户从未签到

发表于 2009-3-10 00:23:00 | 显示全部楼层
又是这个……
5 {+ [9 U+ F. Y( A9 w5 ]8 l日后再看看有用没
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-6-25 20:30

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表