首页
社区
课程
招聘
[旧帖] [原创]超级全能音频转换器1.38 分析(申请邀请码) 0.00雪花
发表于: 2010-6-16 13:13 1424

[旧帖] [原创]超级全能音频转换器1.38 分析(申请邀请码) 0.00雪花

2010-6-16 13:13
1424
【破文标题】超级全能音频转换器
【破文作者】sdnyzjzx
【作者邮箱】sdnyzjzx@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,解除功能限制
整个过程,实现了软件破解,但思路还不够很明晰,有点蒙的感觉,希望下次有所进步。
------------------------------------------------------------------------
【版权声明】软件版权归原作者所有,请支持国产软件发展!仅供学习交流使用。

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (1)
雪    币: 1173
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
真的有这样好用吗?还是大虾来看一下。
2010-6-16 13:41
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册