设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 2288|回复: 1

[转载HACK教程] 火炎纹章776修改笔记(作者:zHAOsILi[EGCG](.zZ~~) )

  [复制链接]

签到天数: 1897 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html6 q* r# ~4 ^8 J) N% X2 ?0 z" A% ^

" o6 `( @7 r/ w火炎纹章776修改笔记3 g8 Z$ S+ L0 Y
2006.1.25
% p" d( I1 @$ ^6 k& E. Z作者:zHAOsILi[EGCG](.zZ~~) 转载请注明
# J3 M9 s: v; J8 ^, u* ?" u0 \2 @5 ]* B) e! F% l4 g+ E9 `6 k. n. K

6 e5 L' f& S) `, \修改工具:Geiger’s Snes9x Debugger Mark 93 M" M/ t' L, \6 P+ E' ?
" i7 W: @: e7 v
战后升级  G6 _5 ]7 D: x  B+ l
$ 83/EFDC 90 05       BCC $ 05->EA NOP
. p0 X; [0 n% f- L0 y9 A# k. j                              EA NOP5 {% S0 [0 q* m3 S& G
$ l, z" N9 k$ T5 r7 c% ?
战后能力+1, d9 X' M. i: U# J
$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 00017 |3 u. W9 v6 u7 w: c4 W
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b2 Z4 R: Z7 n! z2 Z

, y6 {4 [0 Y7 n0 S武器熟练直接到A
5 u2 N& O2 n) d3 M6 x6 U* U$ 83/E4E9 90 03       BCC $ 03 ->EA NOP
% j( \+ a+ s2 P$ c9 D; p3 c                               EA NOP" i  o) [' z$ r" r
存放所全物品锁定: ^, _6 \, q3 N& g& f- U
存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
& }) ]0 e8 Q" w3 I6 Q要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
/ B, R9 y6 j  c4 J" B/ K* u3 H- [$ v而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128  F$ R# W+ h3 K' m; g
件物品,故可以突破存放所128件物品的限制,改出全物品。
8 |9 J. k. q8 p6 u1 c/ ?: J2 u$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2' S$ _& O1 z  V4 C3 j$ V5 {
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   ( D. o% {/ ?1 O8 ]) ~- A$ b7 k
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB( d& K, u' U5 q
$ 85/C78E CA          DEX                     
% Q8 ?; o. m1 M% f: c& `. R/ ]0 `$ 85/C78F CA          DEX                     
: c4 w# M8 a) V$ D5 J$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次& ~% R, G; t3 C. `7 F9 \1 |5 \. d9 n4 ]
$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
' ~2 s+ g0 C- l% g5 f; P+ {$ 85/C793 A2 FE 00    LDX #$ 00FE              6 v- v) ~/ I8 u1 [
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
( f$ k1 e1 P* K3 m/ x" |$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD01 ~+ A/ `& n  [
$ 85/C79C CA          DEX                     
; {. {+ x1 C' K# q# y- s* J$ 85/C79D CA          DEX                     3 v! u& ?+ Z6 R8 W& ~4 y
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      , C2 I0 r5 P8 A( p" f
$ 85/C7A0 6B          RTL                     
. F2 D2 V* ]' `! _7 K; i实现全物品的代码如下:- r( r: F+ s4 M6 d8 j, \
Start@ $ 85/C7853 `( T6 M; D5 J( D
LDX #$ 014C A2 4C 01;X=($ A7-1)*2
9 ?$ c' n; N6 p6 b+ ZLDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
+ }3 B- U5 R7 q( c6 v@2 STA $ 6FCB,x 9D CB 6F
0 y+ \- U  K0 hDEC A  3A/ K9 s. k' a+ Q3 F% L" X6 @
DEX  CA( I4 t# x- q' c  f3 X2 ~
DEX  CA( a& m8 q$ D. H8 u9 J( |8 M
BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间
4 H1 m3 m0 O  |+ Q0 YLDX #$ FFFE A2 FE FF;-|/ f$ Q  Z3 D- c( M
RTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序& n7 w, S; w) ^; s) y7 Y1 t( b
@1 BPL @2 10 F2;循环$ A7次$ M1 ^+ A5 D$ {( l. g( w+ H
RTL  6B; J6 W4 S1 H; G
最后改完后反汇编出来的结果:7 |5 V# C8 z1 F) m; U) g
$ 85/C785 A2 4C 01    LDX #$ 014C              
* f, k3 F* B0 M4 N" H& k& F& g$ 85/C788 A9 A7 3C    LDA #$ 3CA7              2 j- l$ {" o% I, Q6 Z; q
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   0 o0 m. N, t# L4 B/ e$ v; p1 p. [
$ 85/C78E 3A          DEC A                   " V& ]! E1 |5 ?2 I# S) w
$ 85/C78F CA          DEX                     - L* T/ O! p+ d# g  J
$ 85/C790 CA          DEX                     9 {$ c' o) V+ O- ?
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
! J6 z  e: I5 X2 {$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
2 r3 s/ P, c- J/ m4 s$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
6 h1 Q- ~4 L' j. m, h. F3 f8 g$ 85/C797 10 F2       BPL $ F2    [$ C78B]      5 @: q: K) y1 T. z7 _! t+ I
$ 85/C799 6B          RTL                     
7 h# H& u1 @& m2 y+ ?  S$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了) S1 V- R5 q, H* P' m
$ 85/C79B EA          NOP                     ;! `7 ~; [3 W$ I1 i5 e9 _
$ 85/C79C EA          NOP                     ;
+ t. s6 F6 y* S$ 85/C79D EA          NOP                     ;
% w; ~+ V- L. J( `/ S7 ~, o$ 85/C79E EA          NOP                     ;
) V- ~) C9 L+ L$ B0 I; v$ 85/C79F EA          NOP                     ;
' [7 _: d8 b5 Y# j3 z$ 85/C7A0 6B          RTL                     ;
* E. N! P7 ~8 ?+ c) k# x1 g
8 D0 d5 n9 D- @[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

发表于 2009-3-10 12:41:38 | 显示全部楼层
学习了,但是有些专业术语还是不太明白
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-16 23:36

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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