对于第一次学习破解的朋友,这是一个很好的学习软件。
对于高手来说,他们可以在2分钟内就把它给干掉了。^^
软件名:MightyFax
软件简介: 这是一个很简单的传真软件,没有华丽的外表,但是很实用。
你可以用打印文件的功能从你的 Word 等软件直接把文件传真出去。
另一方面你也可以接收外来的传真。
下载地址:
http://members.aol.com/rksrks2/mf32.exe
(win9x version)
http://members.aol.com/rksfiles4/mfnt.exe
(NT version)
我这里演示的是 win9x version
所用的工具:
1.softICE 4.05.可在下列网址download
http://mud.sz.jsinfo.net/per/aaron/files/debuggers/win/si405w9x.zip
2.HIEW 6.01
下载地址: http://go2.163.com/%7Etoye/tools/hiew640reg.zip
知识要求: 1。具备基本的汇编知识。
2。懂得 softICE 的基本操作。
破解思路:
运行 MightyFAX 时,它会跳出一个窗口,提示我们这个软件还没有注册。并提示
这个软件还可以用多少天,然后要我们选择注册或是继续试用。
所以我就猜想程序的流程可能是这样的。
1> 载入程序。
2> 判断这个程序注册没有
如果注册了,就跳到主程序。
如果没有注册, 就继续。
3> 判断软件有没有过期。
如果没有过期,就跳到注册窗口,要求注册。
如果过期了, 就进行一些处理,(比如使程序不能继续使用等)
然后就跳到注册窗口,要求注册。
从上面可看到,我们只要找到程序在那里判断有没有注册,就很容易破了这个软件的。
让我们开始吧!讲了那么多费话,我鸡蛋也中了不少。555555
I. 找出判断关键!
1) 用 SoftICE 的 Symbol Loader 载入MightyFAX,
如何载入?到看雪大哥的网页看看吧!http://www.kanxue.com/
那里有详细的教材。
2) 被 SoftICE 拦下来后,下 wc (这个命令是否使人联想到什么地方了?^^)
3) 然后,就是狂按 F10 啦!一直到跳出那个要求注册的窗口为止。
4) 回到 SoftICE 的 Symbol Loader ,选 File---> Save SoftICE History As...
吧刚才我们所看到的东西都保存下来。
5) 用随便一个编辑工具打开我们刚才保存的文件。
6) 现在让我们来分析它,我把其中一部分贴在下面了。
.......
0177:004DA4AE XOR EAX,EAX
0177:004DA4B0 PUSH EBP
0177:004DA4B1 PUSH 004DA619
0177:004DA4B6 PUSH DWORD PTR FS:[EAX]
0177:004DA4B9 MOV FS:[EAX],ESP
0177:004DA4BC MOV EAX,004DE21C
0177:004DA4C1 MOV EDX,[004DD4A0]
0177:004DA4C7 CALL 004037F8
0177:004DA4CC PUSH 00
0177:004DA4CE PUSH 01
0177:004DA4D0 PUSH 01
0177:004DA4D2 MOV ECX,004DA634
0177:004DA4D7 MOV EDX,004DA644
0177:004DA4DC MOV EAX,004DA650
0177:004DA4E1 CALL 004ADBF4
0177:004DA4E6 LEA EAX,[EBP-10]
0177:004DA4E9 CALL 004938B8
0177:004DA4EE MOV EDX,[EBP-10]
0177:004DA4F1 MOV EAX,004DE270
0177:004DA4F6 CALL 004037F8
0177:004DA4FB LEA EAX,[EBP-10]
0177:004DA4FE CALL 004938B8
0177:004DA503 MOV EAX,[EBP-10]
0177:004DA506 MOV EDX,[004DE258]
0177:004DA50C CALL 004AF8F0
0177:004DA511 XOR AL,01
0177:004DA513 MOV [004DE1A2],AL
0177:004DA518 MOV CX,001A
0177:004DA51C MOV DX,000A
0177:004DA520 MOV AX,07D0
0177:004DA524 CALL 004ADCF4
0177:004DA529 MOV EAX,004DE1A4
0177:004DA52E MOV EDX,004DA664
0177:004DA533 CALL 004037F8
0177:004DA538 XOR EAX,EAX
0177:004DA53A PUSH EBP
0177:004DA53B PUSH 004DA560
0177:004DA540 PUSH DWORD PTR FS:[EAX]
0177:004DA543 MOV FS:[EAX],ESP
0177:004DA546 PUSH 004DA66C
0177:004DA54B CALL 0040583C
0177:004DA550 PUSH EAX
0177:004DA551 CALL 004057BC
0177:004DA556 XOR EAX,EAX
0177:004DA558 POP EDX
0177:004DA559 POP ECX
0177:004DA55A POP ECX
0177:004DA55B MOV FS:[EAX],EDX
0177:004DA55E JMP 004DA56A ----------> (JUMP
)
0177:004DA56A MOV EAX,[004DD62C]
0177:004DA56F CALL 00428D00
0177:004DA574 CALL 00493F1C
0177:004DA579 TEST AL,AL ----------->
判断有没有注册
0177:004DA57B JZ 004DA5B8 -----------> (NO
JUMP) (对比关键,跳则不用注册!)
0177:004DA57D MOV EAX,004DE27C
0177:004DA582 MOV EDX,004DA680
0177:004DA587 CALL 004037F8
0177:004DA58C MOV EAX,[004DE258]
0177:004DA591 CALL 004AE4C8
0177:004DA596 CALL 004AE1A4
0258:0070 JNZ 00A3 ------------------>
(JUMP)
:x
........
在整个文件当中,我只找到三个 jump,第一个是无条件的 jump ,所以不用管它。
剩下两个,从前面的程序流程我们可以很容易猜到第一个判断是看注册没有,
第二个是判断有没有过期。
7) 为了检验我们的判断对不对,用 SoftICE 再载入程序。一直按 F10 直到这里。
......
0177:004DA57B JZ 004DA5B8
........
下 rfl +z 将 no jump 改为 jump
然后继续按一下 F10, 再按 F5 离开。
8) 这时,我们就可以发现程序直接进入主程序,而不再出现注册窗口。
II. 修改程序。
9) 现在,就让我们来修改它吧。运行 HIEW (同样,看雪大哥的教材也有 HIEW的介绍
先去看看,再继续下去。)
10)用 HIEW 载入 MF.exe
11)按 F4 选择 Decode
12) 按 F5 , 输入偏址: 004DA57B 然后回车。
13) 咦?!怎么出现 “jump out of file” 的提示?
(为什么会这样,各位高手能给点提示吗?)
14) 只好用另外一种方法啦。
15) 用 SoftICE 载入 MF.exe
16) 来到
....
0177:004DA57B JZ 004DA5B8
.....
下 d 0177:004da57b
可看到机器码:
74 3B B8 7C E2 4D 00
17) 用 HIEW 重新载入 mf.exe.
18) 按 F7, 输入 74 3B B8 7C E2 4D 00
19) 按 F3, 将 74 改为 75.
20) 修改好后,F9存盘(按回车后到下一行,再按ESC让对话框消失,然后按F9)。
- 标 题:一个超容易破解的软件! (5千字)
- 作 者:uhlan
- 时 间:2001-1-21 9:03:28
- 链 接:http://bbs.pediy.com