|

楼主 |
发表于 2012-11-25 17:14:05
|
显示全部楼层
找dragon killer(屠龙),来到rosavillage,在即将买屠龙的地方存档,先将6157金钱地址作为断点,买入后停止在pc为86ca上,6157的值来自$00,由于一抬眼看到了3a(15000计算机表示为983a),在此将指令行上拉,以便看看有无98出现,为此先点停止刷新,在拉上去,看方框中内容,意思是将地址$72的之后3位减去地址$76的三位在赋给地址$72(后三位),可以追踪到$72是地址$6157赋值过来的(已经对此hack无用了),地址$76正是dragon killer价格,之后将其设为断点(图没注意被覆盖,补个图),1 ; k. \. \, a" L5 t5 D
追踪到pc值为821a,数值来自地址$70,发现以后停止都在这个点,如此再次继续,写$70=a=0x3a,到8D58,来自$03C2,以后表示为(8D58:$03C2>),和(BAA9:$0001),经过点击执行后5条命令后暂停,排除出PC为8D58的可能,之后,再次追踪,用如上法排查后2 A7 ?7 e6 }$ v D" B$ V% Y) d
(A06F:$6E13>), ( q, C. y+ d( i; Q* O, F
再次后,我们将金钱数改为14999,正好钱不够,停在此处,发现方框内语句为将$6E13的值加上 $01,x(使用寻址方式,可以无视)的值在赋给$6E13,而对于$01,和$6E13再次追踪,发现,均来自地址6E13,而且,前面的PC因为在(A06F左右),这样我们只能向上拉,最后看到,先停止刷新,其实我在原来过程中,是一步步追到此处得到的,(8bde:$8DE2,X>),之后找到对于ram附近,经确认那个8f对应为方框中地址,之后由于看见前面有3X aX(两位的头不是3a码),所以也就顺便将其改了,四位全部改为11,不知道会有什么效果.读档后,发现价格改成了,*****记住pc值为8bde,测试,读档后再次跟老板说话,哈哈,改成了,变成了17000,虽然不知道如何改对的反正是成了.
# ?: P A; j/ i1 h. k: M) o现在我自然是稍微知道如何成的,其实,这段就是我最开始的hack过程,我早说过,我会本人在hack过程中的错误也会说出来.至于如何成的,请见后.其实,只要按照那个执行断点继续下去,也会慢慢明白的.待续 |
|