好友
阅读权限25
听众
最后登录1970-1-1
|
35925
发表于 2010-6-21 08:55
【破文标题】超级全能音频转换器
【破文作者】35925
【作者邮箱】tianhao1120@163.com
【作者主页】
【破解工具】OD
【破解平台】winxp
【软件名称】超级全能音频转换器1.38
【软件大小】1.14 MB
【原版下载】http://www.mp4soft.cn/mp3.html
【保护方式】试用版只能转换20%
【软件简介】《超级全能音频转换器》是一款操作简单,功能强大的音频转换工具。 支持RM、MP2、 MP3、MPL 、AAC、WMA、 OGG、 WAV等主流音频格式之间任意转换,支持批量转换,可同时处理多个文件。 内置播放器支持多种音乐格式的播放。典型的应用于:RM转MP3、WAV/WMA转MP3、WAV/MP3转WMA、WAV/MP3/WMA转AAC。整个转换过程非常简单、只需三步即可完成转换,快速且具有高质量。
【破解声明】仅供学习交流使用
------------------------------------------------------------------------
【破解过程】第一步:OD加载,F9运行,查找可用字符串。
发现试用版只能转换原文件20%提示,双击来到程序领空,看跳转,发现
004B82AB . E8 E8CCFFFF CALL mp3.004B4F98
004B82B0 . 8B55 B0 MOV EDX,DWORD PTR SS:[EBP-50]
004B82B3 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B82B6 . 8B80 C4040000 MOV EAX,DWORD PTR DS:[EAX+4C4]
004B82BC . E8 43C4F4FF CALL mp3.00404704
004B82C1 . 75 0C JNZ SHORT mp3.004B82CF /如果不跳,下面JMP就能跳过转换限制,改7500
004B82C3 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B82C6 . C680 B8040000>MOV BYTE PTR DS:[EAX+4B8],0
004B82CD . EB 31 JMP SHORT mp3.004B8300
004B82CF > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B82D2 . C680 B8040000>MOV BYTE PTR DS:[EAX+4B8],1
004B82D9 . 8D55 AC LEA EDX,DWORD PTR SS:[EBP-54]
004B82DC . A1 F0ED4B00 MOV EAX,DWORD PTR DS:[4BEDF0]
004B82E1 . E8 52CAFAFF CALL mp3.00464D38
004B82E6 . 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]
004B82E9 . BA 00894B00 MOV EDX,mp3.004B8900 (试用版只能转换源文件20%的时间!)
004B82EE . E8 CDC2F4FF CALL mp3.004045C0
004B82F3 . 8B55 AC MOV EDX,DWORD PTR SS:[EBP-54]
004B82F6 . A1 F0ED4B00 MOV EAX,DWORD PTR DS:[4BEDF0]
004B82FB . E8 68CAFAFF CALL mp3.00464D68
004B8300 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
第二步:找到字符串注册码错误,请重新输入用户名各注册码,双击来到程序领空,看跳转,发现
004B545E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B5461 . E8 52C6FCFF CALL mp3.00481AB8
004B5466 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B5469 . E8 1AFDFFFF CALL mp3.004B5188
004B546E . E8 7DE8F4FF CALL mp3.00403CF0
004B5473 . EB 1A JMP SHORT mp3.004B548F ;可以跳过注册码错误
004B5475 > 6A 40 PUSH 40 ;指向注册码错误,上面跳不能实现才好
004B5477 . 68 98554B00 PUSH mp3.004B5598 ; Register
004B547C . 68 A4554B00 PUSH mp3.004B55A4 ; 注册码错误,请重新输入用户名和注册码!
004B5481 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B5484 . E8 9760FBFF CALL mp3.0046B520
004B5489 . 50 PUSH EAX ; |hOwner
004B548A . E8 191DF5FF CALL ; \MessageBoxA
看下面这句由哪里跳过来
004B5475 > 6A 40 PUSH 40 ;指向注册码错误,上面跳不能实现才好
来到
004B537E . 55 PUSH EBP
004B537F . 68 BD544B00 PUSH mp3.004B54BD
004B5384 . 64:FF30 PUSH DWORD PTR FS:[EAX]
004B5387 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
004B538A . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
004B538D . E8 B2FEFFFF CALL mp3.004B5244
004B5392 . 84C0 TEST AL,AL
004B5394 . 0F84 DB000000 JE mp3.004B5475 ; 跳向注册码错误处 ----->NOP
第三步: F9运行,程序开始注册框与标题栏上20%限制字样去除,先保存一份修改,打开修改后程序
第四步:查找字符串,在字符串 关于 处双击,到程序领空,看下面第一个跳转处
004B5F02 |. A1 2CCC4B00 MOV EAX,DWORD PTR DS:[4BCC2C] //下断观察
004B5F07 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
004B5F09 |. 80B8 B9040000>CMP BYTE PTR DS:[EAX+4B9],0 //重点观察家这里数据
004B5F10 |. 75 12 JNZ SHORT mp3.004B5F24
004B5F12 |. BA 0000FF00 MOV EDX,0FF0000
004B5F17 |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
004B5F1D |. E8 B6EFFAFF CALL mp3.00464ED8
004B5F22 |. EB 31 JMP SHORT mp3.004B5F55
004B5F24 |> BA FF000000 MOV EDX,0FF ;
004B5F29 |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
004B5F2F |. E8 A4EFFAFF CALL mp3.00464ED8
第五步:F9运行,点关于看一下,程序断下来了,F8观察
004B5F09 |. 80B8 B9040000>CMP BYTE PTR DS:[EAX+4B9],0
DS:[00A22C0D]=01
是个重要位置,先记下来,过会下内存断点用
第六步:再点软件注册里注册,看一下,先按上面第二步下好断点
点注册认证后提示,已保存注册信息,下次启动验证.那就重启程序
第七步:添加一个文件,转换一下看看
仍然只能转换20%
到这里总结一下:程序未修改前的启动提示注册框和标题栏上的20%限制已经去除,但是功能限制还没有真正解除,那就应该考虑到第五步里面那个[EAX+4B9]里面数据了
第八步:在数据窗口里按Ctrl+G 输入 00A22C0D 位置,下硬件访问断点
添加一个文件,断了下来
004B7547 |> \80BB B9040000>CMP BYTE PTR DS:[EBX+4B9],0 ;里面数据为1
004B754E |. 74 66 JE SHORT mp3_1.004B75B6 ; 不等没跳
004B7550 |. DB83 90040000 FILD DWORD PTR DS:[EBX+490]
004B7556 |. D835 047D4B00 FDIV DWORD PTR DS:[4B7D04]
004B755C |. E8 AFB6F4FF CALL mp3_1.00402C10
小结:接下来就有两种方法来实现功能限制解除了,一是在:004B754E 这句 je--->jmp 二是重新加载程序,在DS:[00A22C0D]处下内存写入断点,重新加载,下好内存断点,找到
004B7FAF C680 B9040000>MOV BYTE PTR DS:[EAX+4B9],1
这里把1改0
经验证,两个方法都可以解除功能限制。
------------------------------------------------------------------------
【破解总结】 软件采取了未注册版本只能转换开20%对软件进行保护,根据注册失败信息,修改成功后,再实际应用发现,尽管注册提示框和标题栏提示信息已经消失,但功能限制没有真正解除,考虑到软件一般都会在“关于”里面有对软件注册信息提示,通过查找字符串,发现CMP BYTE PTR DS:[EAX+4B9],0 ,估计这里面数据比较重要,通过下内存断点发现,里面数据为1里就只能转换20%,为0功能限制解除。接下解决问题方法就是:一是在转换软件前给里面数据赋0值;二是改跳转条件。
本程序共需要修改三个地方:
004B82C1 . 75 0C JNZ SHORT mp3.004B82CF / 去除软件一开始运行主提示注册信息框;
004B5394 . 0F84 DB000000 JE mp3.004B5475 / 去除软件注册时提示注册码错误信息;
004B7FAF C680 B9040000>MOV BYTE PTR DS:[EAX+4B9],1 /把1改0,解除功能限制
整个过程,实现了软件破解,但思路还不够很明晰,有点蒙的感觉,希望下次有所进步。
------------------------------------------------------------------------
【版权声明】软件版权归原作者所有,请支持国产软件发展!仅供学习交流使用 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|