发信人: Reinhard.bbs@bbs.sjtu.edu.cn (摘星), 信区: cnhacker
标 题: CRACK 经验谈 (3) -- Alex 整理(转寄)
发信站: 饮水思源站 (Fri Apr 25 20:50:10 1997)
转信站: Lilac!ustcnews!ustcnews!sjtunews!sjtubbs
出 处: bbs.sjtu.edu.cn
嗯.... 我又来了!这次来谈谈如何去除一些烦人的注册画面吧!
就我的感觉,要找出哪里秀注册画面比找出 game 的密码判断容易多了。通常呢
,GameTool 对注册画面比较使不上力,这时候 Soft-ICE 是个不错的选择。不然就
用 SYMDEB 我想大概也足矣。以下我是用 SYMDEB 当作工具,并假设你对 SYMDEB 的
使用已经很熟,对组合语言和它的机器码也有所了解。如果还有不了解的,嗯... 该
好好自修一下啦!
通常我对付注册画面的方法,就是慢慢的 P P P 。就这样 P 啊 P 啊的,耶!
注册画面突然蹦出来啦!宾果!运气好的,注册画面秀完後又回到 SYMDEB 中,这时
二话不说,赶快拿起笔把此时的 CS IP 记下来,待会自有用处。运气不好的这一 P
下去可能就一去不返了,所以在 P 的时候要小心注意积极谨慎,看到可疑的 CALL
先别忙著 P ,先把 CS IP 记下来,以防万一。
好啦,现在找到秀注册画面的 CALL 啦,该怎麽做心理应该有个谱吧..... 没错
,这时就要试试我们的 90 90 90 神功了。先 G CS:IP (此 CS:IP 就是刚才留下的
重要线索),然後 E CS:IP 90 90 90 90 ,要填几个 90 就要视情况而定啦!把这个
恼人的 CALL 换成一堆 NOP 後,注册画面当然就不会出现啦!不过现在要开香槟放
鞭炮庆祝还嫌早了一些喔,有些作者对他的注册画面寄予高度的关切,你这样把他辛
辛苦苦写出来的注册画面跳掉,他心理当然不爽啦,所以他有可能会在注册画面的
CALL 里埋下陷阱,放些重要不能不执行的东东在这个 CALL 里,你不执行它,你就
没办法再执行下去......
所以啦,现在就要试试看,把这个 CALL 跳掉後,程式是否还能正常执行。所以
就输入 G 看看程式是否一切无恙,没有任何不正常举动。如果一切一如往昔,嗯,
该是买香槟鞭炮的时候了,不过先别及著喝,还有见重要的工作:把我们的修改写回
原程式中,所以就把那个 CALL 和附近的机器码记下来,照著前一份文件的方法和注
意事项把原程式改过来,然後就可以一边喝香槟一边欣赏你那没有注册画面的程式啦
!(不过没有注册画面你要欣赏什麽呢? :) )
如果把 CALL 改掉之後你的程式变得 $#@*&^$% 的话怎麽办?别难过,我们还是
有喝香槟的机会喔!既然不能把整个 CALL 跳掉,那我们就 T 进这个 CALL 里看看
这个 CALL 有什麽古怪。 T 进去後,依样画葫芦,再 P 啊 P 啊 等待注册画面的出
现。不过现在注册画面可能不会刷的一下全部蹦出来,它可能会一行一行慢慢的出现
,你就要睁大眼睛看啦,如果发现注册画面以分解动作分格出现,你就要注意程式是
否一直在某个地方徘徊,例如说:
repeat:
call 4859
add di,+03
add si,di
cmp [si],0
jne repeat
然後你发现,每次一 CALL 4859 後画面就出现一行注册画面,那你想你该怎麽
呢?当然是把 jne repeat 改成 nop nop ,让它不会反覆 CALL 秀画面的函式,就
不用看那烦人的画面啦!
很不幸,这是最简单的情况,事实上的状况通常都更复杂,这就要靠经验啦!通
常我遇到复杂的状况就采用试误法,假设某个 je 或 jne 是关键,把它改成 nop ,
不对再换下一个,虽然很笨又没效率,可是我也想不出有什麽更好的方法,这还要靠
各位真正的高手指导!
拉拉杂杂说了这麽多,希望给各位一只有用的钓竿,让大家用它行侠仗义,路见
不平,拿 SYMDEB 来填!可千万不要用来欺侮弱小喔!
--
沉默的人
Reinhard Young
※ 来源:·饮水思源站 bbs.sjtu.edu.cn·[FROM: 202.96.212.29]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.592毫秒