首页
社区
课程
招聘
[原创]Easy CD Ripper的注册码(菜鸟级)
发表于: 2006-1-8 18:29 10876

[原创]Easy CD Ripper的注册码(菜鸟级)

qduwg 活跃值
35
2006-1-8 18:29
10876

题目:Easy CD Ripper的注册码(菜鸟级)
软件名称:Easy CD Ripper 1.41
文件大小:3949K
使用平台:Win9x/NT/2000/XP
最新版本:1.41
软件简介:
    Easy CD Ripper可将CD音乐及WAV直接转换成MP3、WMA、VQF格式的工具,采用全新快速的MP3编码(LAME

v3.89)、支持CDDB、且使用上相当简单快速。在注册之前,只可以解压缩20首歌曲,而且每个文件只可以解码出

70%来。

破解目的:找出注册码
工具:TRW,PEID

引子:这几天碰到几个软件是用Asprotect压缩的,才网上找到的工具无法正确解压缩,用Casper也无法解压缩,

不知什么缘故?是不是解压出来的文件的Import表破坏了啊?现在正在学习如何手工脱壳,偶尔找出几个小软件练

手吧,也排解一下烦恼。这不找了一个Easy CD Ripper(CD音乐分割器2002电脑报合订本),用PEID一看是用

Petite2.x加壳了,用prodump没有成功去壳,运行出现错误。我只好用动态跟踪来解决了。运行软件,出现注册窗

口,输入你的大名和假注册码。比如wanggang,78787878。Ctrl+N调出TRW,下bpx hmemcpy断点,F5退出TRW,

然后点击OK按钮,被拦住,bd*禁止断点,F12按7次来到主程序空间。如下代码处,按F10继续跟踪:

0167:00428972 894304           MOV      [EBX+04],EAX
0167:00428975 8BD3             MOV      EDX,EBX
0167:00428977 8BC6             MOV      EAX,ESI
0167:00428979 E872B10000       CALL     00433AF0
0167:0042897E 5E               POP      ESI         //我们停在这里,F10继续跟踪下去
0167:0042897F 5B               POP      EBX
0167:00428980 C3               RET     
==================================================
0167:00430E4B 8955F0           MOV      [EBP-10],EDX
0167:00430E4E 894DF4           MOV      [EBP-0C],ECX
0167:00430E51 8B5508           MOV      EDX,[EBP+08]
0167:00430E54 8955F8           MOV      [EBP-08],EDX
0167:00430E57 33D2             XOR      EDX,EDX
0167:00430E59 8955FC           MOV      [EBP-04],EDX
0167:00430E5C 85C0             TEST     EAX,EAX
0167:00430E5E 740B             JZ       00430E6B
0167:00430E60 8D55F0           LEA      EDX,[EBP-10]
0167:00430E63 8BD8             MOV      EBX,EAX
0167:00430E65 8B432C           MOV      EAX,[EBX+2C]  //注册码长度送EAX
0167:00430E68 FF5328           CALL     NEAR [EBX+28] //把用户名拷贝到另一个地方去。
0167:00430E6B 8B45FC           MOV      EAX,[EBP-04]
0167:00430E6E 5B               POP      EBX
0167:00430E6F 8BE5             MOV      ESP,EBP
0167:00430E71 5D               POP      EBP
0167:00430E72 C20400           RET      04
==================================================
下面这段把用户名复制到另一个地方去。
0167:00484AF9 8B45F8           MOV      EAX,[EBP-08]
0167:00484AFC 8A00             MOV      AL,[EAX]
0167:00484AFE 8803             MOV      [EBX],AL
0167:00484B00 8B45F8           MOV      EAX,[EBP-08]
0167:00484B03 8A4001           MOV      AL,[EAX+01]
。。。省略多行
0167:00484B2A 884305           MOV      [EBX+05],AL
0167:00484B2D 8B45F8           MOV      EAX,[EBP-08]
0167:00484B30 8A4006           MOV      AL,[EAX+06]
0167:00484B33 884306           MOV      [EBX+06],AL
0167:00484B36 8B45F8           MOV      EAX,[EBP-08]
0167:00484B39 8A4007           MOV      AL,[EAX+07]
0167:00484B3C 884307           MOV      [EBX+07],AL
0167:00484B3F 8D55F4           LEA      EDX,[EBP-0C]
0167:00484B42 8B45FC           MOV      EAX,[EBP-04]
0167:00484B45 8B80F0020000     MOV      EAX,[EAX+02F0]
0167:00484B4B E850B3FAFF       CALL     0042FEA0
0167:00484B50 8B45F4           MOV      EAX,[EBP-0C]
0167:00484B53 E8C03CF8FF       CALL     00408818     //此CALL是关键函数。
==================================================
F8跟入484B53处的CALL,代码如下:
0167:0040881D 8BD8             MOV      EBX,EAX
0167:0040881F 8BD4             MOV      EDX,ESP
0167:00408821 8BC3             MOV      EAX,EBX
0167:00408823 E810A3FFFF       CALL     00402B38     //此CALL测试注册码第一位是否是20h,2Dh,2Bh,

第二位是否是78h,58h。
0167:00408828 8BF0             MOV      ESI,EAX
0167:0040882A 833C2400         CMP      DWORD [ESP],BYTE +00
0167:0040882E 7419             JZ       00408849
==================================================
F8跟入408823处的CALL,代码如下:
0167:00402B38 53               PUSH     EBX
0167:00402B39 56               PUSH     ESI
0167:00402B3A 57               PUSH     EDI
0167:00402B3B 89C6             MOV      ESI,EAX
0167:00402B3D 50               PUSH     EAX
0167:00402B3E 85C0             TEST     EAX,EAX
0167:00402B40 7473             JZ       00402BB5
0167:00402B42 31C0             XOR      EAX,EAX
0167:00402B44 31DB             XOR      EBX,EBX
0167:00402B46 BFCCCCCC0C       MOV      EDI,0CCCCCCC   //这个值在后面用来比较。
*
*省略多行
*
0167:00402B69 80FB58           CMP      BL,58
0167:00402B6C 745C             JZ       00402BCA
0167:00402B6E 80FB30           CMP      BL,30
0167:00402B71 7513             JNZ      00402B86      //注册码不为0则跳走
0167:00402B73 8A1E             MOV      BL,[ESI]
0167:00402B75 46               INC      ESI
0167:00402B76 80FB78           CMP      BL,78
0167:00402B79 744F             JZ       00402BCA
0167:00402B7B 80FB58           CMP      BL,58
0167:00402B7E 744A             JZ       00402BCA
0167:00402B80 84DB             TEST     BL,BL
0167:00402B82 7420             JZ       00402BA4
0167:00402B84 EB04             JMP      SHORT 00402B8A
0167:00402B86 84DB             TEST     BL,BL
0167:00402B88 7434             JZ       00402BBE
0167:00402B8A 80EB30           SUB      BL,30         //注册码减30h变为16进制数
0167:00402B8D 80FB09           CMP      BL,09         //与9比较
0167:00402B90 772C             JA       00402BBE      //大于9则错。
0167:00402B92 39F8             CMP      EAX,EDI       //与EDI里面的值比较
0167:00402B94 7728             JA       00402BBE      //如果大于则错
0167:00402B96 8D0480           LEA      EAX,[EAX+EAX*4]  //EAX=5*EAX
0167:00402B99 01C0             ADD      EAX,EAX       //EAX=2*EAX (这2句相当于EAX乘10倍)
0167:00402B9B 01D8             ADD      EAX,EBX       //把各位注册码累加起来
0167:00402B9D 8A1E             MOV      BL,[ESI]      //继续取下位注册码
0167:00402B9F 46               INC      ESI
==================================================
0167:00484B58 8BD8             MOV      EBX,EAX       //EAX保存的累加和送EBX
0167:00484B5A 33C0             XOR      EAX,EAX
0167:00484B5C 5A               POP      EDX
0167:00484B5D 59               POP      ECX
0167:00484B5E 59               POP      ECX
0167:00484B5F 648910           MOV      [FS:EAX],EDX
0167:00484B62 EB0C             JMP      SHORT 00484B70
0167:00484B64 E943E7F7FF       JMP      004032AC
0167:00484B69 33DB             XOR      EBX,EBX
0167:00484B6B E898EAF7FF       CALL     00403608
0167:00484B70 6A00             PUSH     BYTE +00
0167:00484B72 6A00             PUSH     BYTE +00
0167:00484B74 6893810000       PUSH     DWORD 8193
0167:00484B79 8B45FC           MOV      EAX,[EBP-04]
0167:00484B7C E8F713FBFF       CALL     00435F78
0167:00484B81 50               PUSH     EAX
0167:00484B82 E84D26F8FF       CALL     `USER32!SendMessageA`
0167:00484B87 A1002E4900       MOV      EAX,[00492E00]
0167:00484B8C 33D2             XOR      EDX,EDX
0167:00484B8E 52               PUSH     EDX
0167:00484B8F 50               PUSH     EAX
0167:00484B90 8BC3             MOV      EAX,EBX         //累加和送EAX
0167:00484B92 99               CDQ                      //扩充到EDX
0167:00484B93 3B542404         CMP      EDX,[ESP+04]
0167:00484B97 7503             JNZ      00484B9C         //此处不能跳
0167:00484B99 3B0424           CMP      EAX,[ESP]       //真注册码值与假注册码累加和比较,D ESP

见16进制的真码1004Ah
0167:00484B9C 5A               POP      EDX
0167:00484B9D 58               POP      EAX
0167:00484B9E 0F850A010000     JNZ      NEAR 00484CAE    //此处跳走则OVER,关键。
0167:00484BA4 813D002E4900E803+CMP      DWORD [00492E00],03E8
0167:00484BAE 0F86FA000000     JNA      NEAR 00484CAE    //此处跳走也没戏。
0167:00484BB4 6A10             PUSH     BYTE +10
0167:00484BB6 8D45F0           LEA      EAX,[EBP-10]
0167:00484BB9 50               PUSH     EAX
0167:00484BBA 8B1594194900     MOV      EDX,[00491994]
*
*省略多行,向注册表内写入好多内容。
*
0167:00484C7E 50               PUSH     EAX
0167:00484C7F 68D84D4800       PUSH     DWORD 00484DD8
0167:00484C84 6A00             PUSH     BYTE +00
0167:00484C86 E835A2FCFF       CALL     `SHELL32!ShellExecuteA`
0167:00484C8B A100194900       MOV      EAX,[00491900]
0167:00484C90 C70003000000     MOV      DWORD [EAX],03
0167:00484C96 6A00             PUSH     BYTE +00
0167:00484C98 6A00             PUSH     BYTE +00
0167:00484C9A 6A10             PUSH     BYTE +10
0167:00484C9C A1081C4900       MOV      EAX,[00491C08]
0167:00484CA1 8B00             MOV      EAX,[EAX]
0167:00484CA3 8B4024           MOV      EAX,[EAX+24]
0167:00484CA6 50               PUSH     EAX
0167:00484CA7 E8C024F8FF       CALL     `USER32!PostMessageA`   //此处显示注册成功提示框
0167:00484CAC EB60             JMP      SHORT 00484D0E          //此处通往光明!
0167:00484CAE 6A30             PUSH     BYTE +30
0167:00484CB0 8D45E4           LEA      EAX,[EBP-1C]
*
*省略多行,为game over 准备材料
*
0167:00484D01 A1081C4900       MOV      EAX,[00491C08]
0167:00484D06 8B00             MOV      EAX,[EAX]
0167:00484D08 59               POP      ECX
0167:00484D09 E82691FCFF       CALL     0044DE34               //此处显示失败提示框!
==================================================

后记:
这个小程序我用了很短时间就找到注册码了,输入后显示成功注册。可是就是因为注册成功了,我也后悔了,因为

我没有把代码保存下来,无论我怎么卸载重新安装,这个软件都告诉你已经注册过的了,我FAINT了。我用REGSNAP

看了一下,也没有什么线索,不知这个软件在哪里记下了暗号了。真是滑稽!我上面的代码是通过操作一个功能,

出现对话框后,我在TRW下消息断点才进入程序的,然后U出来的。SOFTICE的u命令不如TRW的,SOFTICE的这个U命

令无法保存代码。
看来现在到了该学习如何脱壳的时候了,真是水到自然成。现在的软件都很邪门的,都采取了各种保护措施,不会

脱壳可是没的混了。:)希望各位大侠多写点这方面的文章供菜鸟学习。真是如饥似渴啊!!

感谢您花费宝贵时间阅读,让你见笑了!
总结:

Username: wanggang
Registercode: 65610 (注册码是1004A的十进制数。)

QduWg
qduwg@163.com
2006年1月8日完成


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (13)
雪    币: 50
活跃值: (145)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
2
恭喜啊
可以到华军找点新的玩
2006-1-8 19:06
0
雪    币: 137
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
3D组号大师也是用Asprotect压缩的,以前1.9和2.0版的脱壳文章"鸡蛋壳"大侠写过,但对像我一样的菜鸟来说看"鸡蛋壳"大侠的那些文章跟看天书的难度是一样的。目前3D组号大师的最新版本是3.62,但壳没变,注册算法已经升级。建议你挑战3D组号大师最新版的算法或壳!成功后写出破文让像我一样的菜鸟也跟着你进步进步。
2006-1-8 19:25
0
雪    币: 273
活跃值: (250)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
在注册表上有注册标志吧!。。
2006-1-8 20:31
0
雪    币: 389
活跃值: (912)
能力值: ( LV9,RANK:770 )
在线值:
发帖
回帖
粉丝
5
最初由 lingzhimin 发布
3D组号大师也是用Asprotect压缩的,以前1.9和2.0版的脱壳文章"鸡蛋壳"大侠写过,但对像我一样的菜鸟来说看"鸡蛋壳"大侠的那些文章跟看天书的难度是一样的。目前3D组号大师的最新版本是3.62,但壳没变,注册算法已经升级。建议你挑战3D组号大师最新版的算法或壳!成功后写出破文让像我一样的菜鸟也跟着你进步进步。

没听说过Asprotect1.9和2.0版.
2006-1-8 20:35
0
雪    币: 475
活跃值: (1130)
能力值: ( LV9,RANK:1410 )
在线值:
发帖
回帖
粉丝
6
感谢你们这些大侠的支持啊。我会努力的!尽管路途比较坎坷!

qduwg
2006-1-8 20:46
0
雪    币: 280
活跃值: (15)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
向qduwg大哥学习!
2006-1-8 21:16
0
雪    币: 137
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 kyc 发布

没听说过Asprotect1.9和2.0版.


"1.9和2.0版"指的是3D组号大师的版本。
2006-1-9 15:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 lingzhimin 发布


"1.9和2.0版"指的是3D组号大师的版本。

把我也搞糊涂了
2006-1-9 16:22
0
雪    币: 475
活跃值: (1130)
能力值: ( LV9,RANK:1410 )
在线值:
发帖
回帖
粉丝
10
TO: thdzhqg :感谢您的支持!我们创作的动力源泉!:)

TO: lingzhimin :我现在在国外,无法download你所说的3D组号大师。不知这个软件多大尺寸的?如果比较小还可以考虑下载,比如1MB。否则这国外的破网,根本无法忍受。:)

我遇到的带Asprotect加壳的软件,用的是Asprotect1.1c的版本。我用CASPER等脱壳工具无法成功脱壳。手工跟踪也是一片漆黑!:)痛苦啊!
希望得到明师指点!
qduwg
2006-1-9 18:55
0
雪    币: 475
活跃值: (1130)
能力值: ( LV9,RANK:1410 )
在线值:
发帖
回帖
粉丝
11
感谢各位的支持。可惜我现在无法找到你提到的3D组号大师软件,多么大的尺寸?我在国外的破网十分慢的。无法下载的。

我遇到的加壳软件带Asprotet1.1c版本的。用各种方法无法脱壳。手工也比较累。痛苦啊。
2006-1-9 19:01
0
雪    币: 137
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 qduwg 发布
感谢各位的支持。可惜我现在无法找到你提到的3D组号大师软件,多么大的尺寸?我在国外的破网十分慢的。无法下载的。

我遇到的加壳软件带Asprotet1.1c版本的。用各种方法无法脱壳。手工也比较累。痛苦啊。


下载3D组号大师的网址:
http://www.3dcp.com/
2006-1-9 20:31
0
雪    币: 50
活跃值: (145)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
13
在国外就多破点国外的软件
2006-1-9 22:52
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
可能是在注册表中的某个分支,比如user  software 下 或 Current-Machine下的那个软件的一个分支,搜索一下注册表,然后全部删除try 一下,不过要记得备份注册表先
2006-1-16 21:05
0
游客
登录 | 注册 方可回帖
返回
//