您的位置:首页精文荟萃破解文章 → 破解Winamp V2.05

破解Winamp V2.05

时间:2004/10/15 1:00:00来源:本站整理作者:蓝点我要评论(5)

Winamp是大家都非常熟悉的著名的MP3播放器,它是个共享软件,早期的版本需要注册,如果不注册也不会影响功能的正常使用。讲解Winamp破解的原因是想向大家介绍正确设置断点的重要性,虽然很多时候我们可以使用万能断点 bpx hmemcpy 来破解软件,但是并不是每次都能奏效,遇到这样的情况就不得不选择合适的断点了。Winamp的注册码保护相对比较简单,但是对于初学者来说,如何能找到正确的断点直接关系着是否能够快速破解它。

程序名 :Winamp
版本   :V2.05
大小   :518KB
运行平台:Windows 95/98/NT
保护方式:注册码
破解方式:注册码破解
破解难度:容易
程序下载:winamp205.exe

破解步骤:

1. 用softice载入windows(通过CTRL+D来检查softice是否已经准备好,按F5退出softice);

2. 运行winamp,选择“Winamp...”下的“Shareware”,点击“Enter Registration info”;

3. 在“Name:”中输入:ddcrack(随意),“Reg#:”中输入:12345678(随意);

4. 用CTRL+D呼出softice,下万能断点:bpx hmemcpy,按F5返回到winamp;

5. 在winamp中选择“OK”,等一等?是不是发现一个问题:“OK”按钮是无效的,不能被点击,也就是说程序已经知道了注册码是错误的。如此看来在我们输入注册码的过程中winamp已经在判断输入的注册码是否正确了,所以当我们输完注册码它已经知道注册码是错误的,因此就禁止了“OK”按钮;

6. 既然winamp是在我们输入注册码的过程中同时判断其正确性的,那么我们就不能像通常那样先输完注册码再设置断点,而是要反过来;

7. 先用 BD * 禁止刚才设置的断点(如果不这样你的任何举动都会被softice拦截下来的,不信就试一试^_^);

8. 删掉刚才输入的注册码“12345678”,接着按 CTRL+D 切换到softice,用 BE * 恢复刚才暂停的断点 bpx hmemcpy 。因为winamp会在我们输入任何注册码时判断其正确性,那么它必定要读取输入的信息,这样的话设置断点 bpx hmemcpy 一定能监视它的一举一动;

9. 在“Reg#:”中输入:1 ,winamp马上就会被softice拦截下来;

10. 用 BD * 暂停断点,然后再按F12返回到winamp的领空——问题又来了:当你按F12还没有返回到winamp的领空时程序已经判断完毕,回到winamp的控制中了。为什么呢?肯定是断点 bpx hmemcpy 设置有问题。俗话说山不转水转,既然 bpx hmemcpy 不行我们就干脆换另外的断点。winamp的注册界面是个对话框,所以我们干脆用 bpx getdlgitemtexta 试一下;

11. 重新进入winamp的注册选项,然后按 CTRL+D 切换到softice中,下断点 bpx getdlgitemtexta;

12. 在“Reg#:”中输入:1,哈哈。。。winamp马上就被softice拦截下来;

13. 用 BD * 禁止刚才设置过的断点;

14. 按F12键1次返回到winamp的领空:
。。。
0167:0041E6CF CALL [USER32!GetDlgItemTextA]   <-- 获取对话框文本
0167:0041E6D5 PUSH 00               <-- 返回winamp的领空时程序停在这里
0167:0041E6D7 PUSH 00
0167:0041E6D9 PUSH 0000048C
0167:0041E6DE PUSH EBX
0167:0041E6DF CALL [USER32!GetDlgItemInt]    <-- 获取对话框文本的整数值
0167:0041E6E5 MOV ESI,EAX            <-- 返回值EAX中是输入注册码“1”的16进制整数值1
0167:0041E6E7 LEA EAX,[ESP+10]
0167:0041E6EB PUSH EAX              <-- EAX指向输入的名字“ddcrack”
0167:0041E6EC CALL 004261E0
0167:0041E6F1 ADD ESP,04
0167:0041E6F4 CMP EAX,ESI            <-- ESI=00000001,EAX=0333F395
0167:0041E6F6 JNZ 0041E703
。。。

15. 从上面的程序看出winamp通过API函数GetDlgItemTextA取得输入的文本信息,然后利用API函数GetDlgItemInt得到输入注册码“1”的16进制整数值1并将结果返回EAX中。按F10走到0167:0041E6EB PUSH EAX时用 D EAX 可以看到EAX指向输入的名字“ddcrack”,继续跟踪你会发现下面的CALL 004261E0利用“ddcrack”计算得到16进制值0333F395并和我们输入注册码“1”的16进制值相比较,用 ?0333F395 可知其10进制值是53736341,因为不等所以那个“OK”键始终不能点击喽。

16. 验证结果:重新进入winamp的注册选项,在“Name:”中输入:ddcrack,“Reg#:”中输入:53736341,现在“OK”键是不是已经可用了^_^!点击“OK”后winamp显示注册成功的消息,搞定了^_^!

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程