目标软件:Audio Companion 1.14
软件作用:主要用来抓CD音轨并制为MP3、WAV等格式,也可以播放CD,不注册时只能抓CD上的前两首
破解工具:TRW2000、Ultra Edit 8
过程:
在Enter Password:对话框胡乱填敲几个字符,设断点:bpx hmemcpy后点OK,被中断,清断点后PMODULE来到程序领空(或按9~10下F12),直接来到这里:
:00404CD8 E873FDFFFF call 00404A50
:00404CDD 85C0 test eax, eax
:00404CDF 7456 je 00404D37
;跳了就出现"Not a valid
password!"对话框
************************************************************************************************
:00404A50 83EC50 sub esp, 00000050
;所以在call 00404A50按F8进去
......
;一直F10走到这里
:00404ABD E86E0C0000 call 00405730
;调用00405730
:00404AC2 85C0 test eax, eax
:00404AC4 741E je 00404AE4
;不跳的话继续
:00404AC6 8D4C2400 lea ecx, dword ptr [esp]
:00404ACA 6824114400 push 00441124
:00404ACF 51 push ecx
:00404AD0 B9E80B4400 mov ecx, 00440BE8
:00404AD5 E8560C0000 call 00405730
;又调用00405730
:00404ADA 85C0 test eax, eax
:00404ADC 7406 je 00404AE4
;不跳的话就return,所以看看00404AE4
:00404ADE 33C0 xor eax, eax
:00404AE0 83C450 add esp, 00000050
:00404AE3 C3 ret
************************************************************************************************
:00404AE4 8B1564114400 mov edx, dword ptr [00441164]
......
;按数次F10
:00404B02 E8290C0000 call 00405730
:00404B07 85C0 test eax, eax
:00404B09 741E je 00404B29
:00404B0B 8D442400 lea eax, dword ptr [esp]
:00404B0F 6824114400 push 00441124
:00404B14 50 push eax
:00404B15 B9E80B4400 mov ecx, 00440BE8
:00404B1A E8110C0000 call 00405730
:00404B1F 85C0 test eax, eax
:00404B21 7406 je 00404B29
:00404B23 33C0 xor eax, eax
:00404B25 83C450 add esp, 00000050
;和上面代码完全一样,还调用00405730,不
:00404B28 C3 ret
;跳的话就RETURN,再到00404B29去看看
************************************************************************************************
;还是一样的代码,不跳就RETURN,再跳两次来到下面:
:00404BB3 A164114400 mov eax, dword ptr [00441164]
:00404BB8 0C08 or al, 08
:00404BBA A364114400 mov dword ptr [00441164], eax
:00404BBF B801000000 mov eax, 00000001
;eax置1
:00404BC4 83C450 add esp, 00000050
:00404BC7 C3 ret
;看来应从这里返回就可以注册成功.
解决方法:
1.把E873FDFFFF(call 00404A50)改为B801000000(mov eax, 00000001)。
2.把E873FDFFFF85C07456改为E873FDFFFF85C07556,就是je变jne。
3.把几个相似模块里第一次调用00405730后面的74(je)改为75(jne)。
注:
1.前两种解决方法很方便,但不彻底:输入password后显示"Thanks for registering!"并可完全使用,但下一次启动就又成了未注册版。第三种方法虽麻烦些,但没有上面的问题。为什么?极盼赐答。
2.关于那个反复被CALL的00405730,我进去看过,因为能力有限,未能有所斩获。但我认为password一定可以从那里得到,而且我认为我的解决方法不太高明,均请各位高手补充,多谢。
3.这个软件的破解十分容易,结构简单,像我这样的菜鸟都能搞定。且体积不大——190K,新手一定要试试。
URL:http://www.yes2.net/down/audiocom.zip
- 标 题:Audio Companion 1.14 (3千字)
- 作 者:d16
- 时 间:2001-2-23 13:13:56
- 链 接:http://bbs.pediy.com