- UID
- 1481
注册时间2005-5-8
阅读权限20
最后登录1970-1-1
以武会友
TA的每日心情 | 衰 2024-4-11 22:10 |
---|
签到天数: 53 天 [LV.5]常住居民I
|
【破文作者】 rdsnow[BCG][PYG][D.4s]
【作者主页】 http://rdsnow.ys168.com
【 E-mail 】 [email protected]
【 作者QQ 】 83757177
【文章题目】 流星网络电视V1.9.2.0的注册
【软件名称】 流星网络电视1.9.2.0
【下载地址】 http://www.jesen.cn
----------------------------------------------------------------------------------------------
【加密方式】 序列号
【破解工具】 FLYOD V1.10
【软件限制】 功能限制
【破解平台】 Win9x/NT/2000/XP/XP SP2
----------------------------------------------------------------------------------------------
【软件简介】
《流星网络电视》可在线收看国内外数百套精彩电视频道(含CCTV所有频道,内地省市优秀电视台;港澳台地区:凤凰中文,凤凰资讯,阳光卫视,星空卫视,华娱卫视,美亚电影,卫视电影,东森电影,台湾电视台,台湾华视,东森新闻,中天新闻等知名电视频道;体育频道:UBC直播,ESPN,卫视体育,CCTV-5,上海体育,浙江体育等体育频道,可在线收看各赛事直播;国外频道:ABC,BBC,CNN,法国时尚,美国国家地理,沙特阿拉伯电视台,阿拉伯电视台等著名电视台)。
★ 1000多套卫星电视节目24小时不间断直播。
★ 2000多部在线电影免费观看,影片定时更新。
★ 特别推出大型电视系列片《唐之韵》供您欣赏。
★ 免费试看所有频道,给您透明化的选择。
★ 独有的“节目指南”功能,使您不错过任何一段精彩节目。
★ 软件自动检测最新版本,自动在线升级,无需任何手动操作。
★ 软件界面简洁;人性化的的程序设计,使您操作更简便。
★ 电视屏幕自由缩放,并可置顶悬挂在屏幕的任意角落,让您在欣赏电视节目的同时,不影响其它操作。
★ 纯绿色软件。不捆绑任何软件,不产生垃圾文件,不修改注册表!
★ 一次注册,终生免费在线升级
【文章简介】
这个程序原先版本加了Asprotect 2.11的加密外壳的,一直没有能够脱壳,不知道什么原因,新版本的程序换成Aspack 2.12的压缩壳,手脱或用工具都可以轻松搞定。
程序采用了现在流行的重启验证的方式。
加密过程中主要使用到了两个加密算法:MD5 和 DES,都没有变形。其中DES有两个函数,DES_EN( )和DES_DE( ),分别用来加密信息和解密信息,使用同一个密钥。
----------------------------------------------------------------------------------------------
【破解过程】
启动程序,输入注册名和假码,来到这里:(注册码的长度是16、20、24或32)
005BD888 |. 55 PUSH EBP
005BD889 |. 68 F5DA5B00 PUSH unpacked.005BDAF5
005BD88E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
005BD891 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
005BD894 |. 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
005BD897 |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
005BD89D |. E8 7275E9FF CALL unpacked.00454E14 ; 取出输入的用户名
005BD8A2 |. 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
005BD8A5 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
005BD8A8 |. E8 CFB5E4FF CALL unpacked.00408E7C
005BD8AD |. 837D F0 00 CMP DWORD PTR SS:[EBP-10],0 ; 检查是否成功取出
005BD8B1 |. 0F84 E9010000 JE unpacked.005BDAA0
005BD8B7 |. 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
005BD8BA |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
005BD8C0 |. E8 4F75E9FF CALL unpacked.00454E14 ; 取出输入的注册码
005BD8C5 |. 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
005BD8C8 |. 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
005BD8CB |. E8 ACB5E4FF CALL unpacked.00408E7C
005BD8D0 |. 837D E8 00 CMP DWORD PTR SS:[EBP-18],0 ; 检查是否成功取出
005BD8D4 |. 0F84 C6010000 JE unpacked.005BDAA0
005BD8DA |. 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
005BD8DD |. 8B83 14030000 MOV EAX,DWORD PTR DS:[EBX+314]
005BD8E3 |. E8 2C75E9FF CALL unpacked.00454E14 ; 计算用户名的长度
005BD8E8 |. 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20]
005BD8EB |. 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
005BD8EE |. E8 89B5E4FF CALL unpacked.00408E7C
005BD8F3 |. 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28] ; 下面开始对注册码变换
005BD8F6 |. 8B83 18030000 MOV EAX,DWORD PTR DS:[EBX+318]
005BD8FC |. E8 1375E9FF CALL unpacked.00454E14 ; 取出注册码的长度
005BD901 |. 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
005BD904 |. 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24]
005BD907 |. E8 70B5E4FF CALL unpacked.00408E7C
005BD90C |. 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24]
005BD90F |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
005BD912 |. E8 11B3E4FF CALL unpacked.00408C28 ; 注册码大写转为小写
005BD917 |. 8D55 D4 LEA EDX,DWORD PTR SS:[EBP-2C]
005BD91A |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BD91D |. E8 52A5EBFF CALL unpacked.00477E74 ; 对注册码采用MD5运算
005BD922 |. 8B45 D4 MOV EAX,DWORD PTR SS:[EBP-2C]
005BD925 |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
005BD928 |. BA 0CDB5B00 MOV EDX,unpacked.005BDB0C ; ASCII "dream"
005BD92D |. E8 5697EBFF CALL unpacked.00477088 ; 再经过DES加密,Key="dream"因为密钥至少要有64位,不够用0x00替代
005BD932 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BD935 |. E8 D66DE4FF CALL unpacked.00404710 ; 计算输入注册码的长度
005BD93A |. 83E8 10 SUB EAX,10 ; Switch (cases 10..20)
005BD93D |. 74 11 JE SHORT unpacked.005BD950
005BD93F |. 83E8 04 SUB EAX,4
005BD942 |. 74 26 JE SHORT unpacked.005BD96A
005BD944 |. 83E8 04 SUB EAX,4
005BD947 |. 74 3B JE SHORT unpacked.005BD984
005BD949 |. 83E8 08 SUB EAX,8
005BD94C |. 74 50 JE SHORT unpacked.005BD99E
005BD94E |. EB 68 JMP SHORT unpacked.005BD9B8
005BD950 |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 10 of switch 005BD93A
005BD955 |. 50 PUSH EAX
005BD956 |. B9 0A000000 MOV ECX,0A
005BD95B |. BA 06000000 MOV EDX,6
005BD960 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD963 |. E8 0870E4FF CALL unpacked.00404970 ; 如果输入16位注册码,从DES结果的第6位起取10个字符
005BD968 |. EB 6B JMP SHORT unpacked.005BD9D5
005BD96A |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 14 of switch 005BD93A
005BD96F |. 50 PUSH EAX
005BD970 |. B9 0E000000 MOV ECX,0E
005BD975 |. BA 03000000 MOV EDX,3
005BD97A |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD97D |. E8 EE6FE4FF CALL unpacked.00404970 ; 如果输入20位注册码,从DES结果的第3位起取14个字符
005BD982 |. EB 51 JMP SHORT unpacked.005BD9D5
005BD984 |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 18 of switch 005BD93A
005BD989 |. 50 PUSH EAX
005BD98A |. B9 10000000 MOV ECX,10
005BD98F |. BA 05000000 MOV EDX,5
005BD994 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD997 |. E8 D46FE4FF CALL unpacked.00404970 ; 如果输入24位注册码,从DES结果的第5位起取16个字符
005BD99C |. EB 37 JMP SHORT unpacked.005BD9D5
005BD99E |> A1 586A5C00 MOV EAX,DWORD PTR DS:[5C6A58] ; Case 20 of switch 005BD93A
005BD9A3 |. 50 PUSH EAX
005BD9A4 |. B9 0C000000 MOV ECX,0C
005BD9A9 |. BA 0C000000 MOV EDX,0C
005BD9AE |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
005BD9B1 |. E8 BA6FE4FF CALL unpacked.00404970 ; 如果输入32位注册码,从DES结果的第12位起取32个字符
005BD9B6 |. EB 1D JMP SHORT unpacked.005BD9D5 ; 以上已经完成了对注册码的处理,取出的字符等待存入注册表
005BD9B8 |> 6A 30 PUSH 30 ; Default case of switch 005BD93A
005BD9BA |. B9 14DB5B00 MOV ECX,unpacked.005BDB14 ; 如果输入的注册码不是以上长度,就到这里,OVER了
005BD9BF |. BA 20DB5B00 MOV EDX,unpacked.005BDB20
005BD9C4 |. A1 A46C5C00 MOV EAX,DWORD PTR DS:[5C6CA4]
005BD9C9 |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
005BD9CB |. E8 A477EBFF CALL unpacked.00475174
005BD9D0 |. E9 CB000000 JMP unpacked.005BDAA0 ; 这个JMP,跳向注册码错误的对话框
005BD9D5 |> B2 01 MOV DL,1
005BD9D7 |. A1 FCD34300 MOV EAX,DWORD PTR DS:[43D3FC]
005BD9DC |. E8 1BFBE7FF CALL unpacked.0043D4FC
005BD9E1 |. 8BD8 MOV EBX,EAX
005BD9E3 |. BA 02000080 MOV EDX,80000002
005BD9E8 |. 8BC3 MOV EAX,EBX
005BD9EA |. E8 ADFBE7FF CALL unpacked.0043D59C
005BD9EF |. B1 01 MOV CL,1
005BD9F1 |. BA 48DB5B00 MOV EDX,unpacked.005BDB48 ; ASCII "\SOFTWARE\Microsoft\Windows\CurrentVersion\zlb"
005BD9F6 |. 8BC3 MOV EAX,EBX
005BD9F8 |. E8 07FCE7FF CALL unpacked.0043D604
005BD9FD |. 84C0 TEST AL,AL
005BD9FF |. 74 14 JE SHORT unpacked.005BDA15
005BDA01 |. 8B0D 586A5C00 MOV ECX,DWORD PTR DS:[5C6A58] ; unpacked.005C92E0
005BDA07 |. 8B09 MOV ECX,DWORD PTR DS:[ECX]
005BDA09 |. BA 0CDB5B00 MOV EDX,unpacked.005BDB0C ; ASCII "dream"
005BDA0E |. 8BC3 MOV EAX,EBX
005BDA10 |. E8 3300E8FF CALL unpacked.0043DA48 ; 下面代码是将注册码的处理结果存入注册表中
005BDA15 |> 8BC3 MOV EAX,EBX
005BDA17 |. E8 50FBE7FF CALL unpacked.0043D56C
005BDA1C |. 8BC3 MOV EAX,EBX
005BDA1E |. E8 E15BE4FF CALL unpacked.00403604
点击OK后重新启动程序,找到字符串"dream"或"whole"来到这儿:
005BAB6C . B1 01 MOV CL,1
005BAB6E . BA C0B15B00 MOV EDX,unpacked.005BB1C0 ; ASCII "\SOFTWARE\Microsoft\Windows\CurrentVersion\zlb"
005BAB73 . 8BC3 MOV EAX,EBX
005BAB75 . E8 8A2AE8FF CALL unpacked.0043D604
005BAB7A . 84C0 TEST AL,AL
005BAB7C . 74 1F JE SHORT unpacked.005BAB9D
005BAB7E . 8D4D D4 LEA ECX,DWORD PTR SS:[EBP-2C]
005BAB81 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAB86 . 8BC3 MOV EAX,EBX
005BAB88 . E8 E72EE8FF CALL unpacked.0043DA74 ; 从注册表中取出保存的注册码的信息
005BAB8D . 8B55 D4 MOV EDX,DWORD PTR SS:[EBP-2C]
005BAB90 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAB93 . 05 00040000 ADD EAX,400
005BAB98 . E8 EB98E4FF CALL unpacked.00404488
005BAB9D > B1 01 MOV CL,1
005BAB9F . BA 08B25B00 MOV EDX,unpacked.005BB208 ; ASCII "\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility"
005BABA4 . 8BC3 MOV EAX,EBX
005BABA6 . E8 592AE8FF CALL unpacked.0043D604
005BABAB . 84C0 TEST AL,AL
005BABAD . 74 1C JE SHORT unpacked.005BABCB
005BABAF . BA 4CB25B00 MOV EDX,unpacked.005BB24C ; ASCII "{6BF52A52-394A-11D3-B153-00C04F79FAA6}"
005BABB4 . 8BC3 MOV EAX,EBX
005BABB6 . E8 A530E8FF CALL unpacked.0043DC60
005BABBB . 84C0 TEST AL,AL
005BABBD . 74 0C JE SHORT unpacked.005BABCB
005BABBF . BA 4CB25B00 MOV EDX,unpacked.005BB24C ; ASCII "{6BF52A52-394A-11D3-B153-00C04F79FAA6}"
005BABC4 . 8BC3 MOV EAX,EBX
005BABC6 . E8 5D2BE8FF CALL unpacked.0043D728
005BABCB > BA 01000080 MOV EDX,80000001
005BABD0 . 8BC3 MOV EAX,EBX
005BABD2 . E8 C529E8FF CALL unpacked.0043D59C
005BABD7 . B1 01 MOV CL,1
005BABD9 . BA 7CB25B00 MOV EDX,unpacked.005BB27C ; ASCII "\SoftWare\Microsoft\Windows\CurrentVersion\polly"
005BABDE . 8BC3 MOV EAX,EBX
005BABE0 . E8 1F2AE8FF CALL unpacked.0043D604
005BABE5 . 84C0 TEST AL,AL
005BABE7 . 74 1F JE SHORT unpacked.005BAC08
005BABE9 . 8D4D D0 LEA ECX,DWORD PTR SS:[EBP-30]
005BABEC . BA B8B25B00 MOV EDX,unpacked.005BB2B8 ; ASCII "whole"
005BABF1 . 8BC3 MOV EAX,EBX
005BABF3 . E8 7C2EE8FF CALL unpacked.0043DA74 ; 从注册表中取出保存用户名的信息
005BABF8 . 8B55 D0 MOV EDX,DWORD PTR SS:[EBP-30]
005BABFB . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BABFE . 05 04040000 ADD EAX,404
005BAC03 . E8 8098E4FF CALL unpacked.00404488
005BAC08 > 8BC3 MOV EAX,EBX
005BAC0A . E8 5D29E8FF CALL unpacked.0043D56C
005BAC0F . 8BC3 MOV EAX,EBX
005BAC11 . E8 EE89E4FF CALL unpacked.00403604
005BAC16 . 8D4D CC LEA ECX,DWORD PTR SS:[EBP-34]
005BAC19 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC1C . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC22 . BA C8B25B00 MOV EDX,unpacked.005BB2C8 ; ASCII "zlbpolly"
005BAC27 . E8 44C6EBFF CALL unpacked.00477270 ; 用DES_DE( )解密用户名,将用户名还原出来
005BAC2C . 8B55 CC MOV EDX,DWORD PTR SS:[EBP-34]
005BAC2F . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC32 . 05 04040000 ADD EAX,404
005BAC37 . E8 4C98E4FF CALL unpacked.00404488
005BAC3C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC3F . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC45 . BA DCB25B00 MOV EDX,unpacked.005BB2DC ; 丁世龙
005BAC4A . E8 0D9CE4FF CALL unpacked.0040485C
005BAC4F . 74 69 JE SHORT unpacked.005BACBA
005BAC51 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC54 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC5A . BA ECB25B00 MOV EDX,unpacked.005BB2EC ; ASCII "8348006"
005BAC5F . E8 F89BE4FF CALL unpacked.0040485C
005BAC64 . 74 54 JE SHORT unpacked.005BACBA
005BAC66 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC69 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC6F . BA FCB25B00 MOV EDX,unpacked.005BB2FC ; ASCII "zhaoguihu"
005BAC74 . E8 E39BE4FF CALL unpacked.0040485C
005BAC79 . 74 3F JE SHORT unpacked.005BACBA
005BAC7B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC7E . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC84 . BA 10B35B00 MOV EDX,unpacked.005BB310 ; ASCII "wwwjjj"
005BAC89 . E8 CE9BE4FF CALL unpacked.0040485C
005BAC8E . 74 2A JE SHORT unpacked.005BACBA
005BAC90 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAC93 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BAC99 . BA 20B35B00 MOV EDX,unpacked.005BB320 ; 吴小龙
005BAC9E . E8 B99BE4FF CALL unpacked.0040485C
005BACA3 . 74 15 JE SHORT unpacked.005BACBA
005BACA5 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACA8 . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BACAE . BA 30B35B00 MOV EDX,unpacked.005BB330 ; 刘光军
005BACB3 . E8 A49BE4FF CALL unpacked.0040485C
005BACB8 . 75 1A JNZ SHORT unpacked.005BACD4
005BACBA > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACBD . E8 EAFCFFFF CALL unpacked.005BA9AC
005BACC2 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACC5 . 05 04040000 ADD EAX,404
005BACCA . BA 40B35B00 MOV EDX,unpacked.005BB340
005BACCF . E8 B497E4FF CALL unpacked.00404488
005BACD4 > 8D55 C0 LEA EDX,DWORD PTR SS:[EBP-40] ; 上面的名字都是一些黑名单,对比后跳到这里继续对用户名处理
005BACD7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BACDA . 8B80 04040000 MOV EAX,DWORD PTR DS:[EAX+404]
005BACE0 . E8 8FD1EBFF CALL unpacked.00477E74 ; MD5(用户名)
005BACE5 . 8B45 C0 MOV EAX,DWORD PTR SS:[EBP-40]
005BACE8 . 8D4D C4 LEA ECX,DWORD PTR SS:[EBP-3C]
005BACEB . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005BACEE . 8B92 08040000 MOV EDX,DWORD PTR DS:[EDX+408]
005BACF4 . E8 8FC3EBFF CALL unpacked.00477088 ; DES_EN(),Key=机器码
005BACF9 . 8B45 C4 MOV EAX,DWORD PTR SS:[EBP-3C]
005BACFC . 8D55 C8 LEA EDX,DWORD PTR SS:[EBP-38]
005BACFF . E8 70D1EBFF CALL unpacked.00477E74 ; MD5( )
005BAD04 . 8B55 C8 MOV EDX,DWORD PTR SS:[EBP-38]
005BAD07 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD0A . 05 10040000 ADD EAX,410
005BAD0F . E8 7497E4FF CALL unpacked.00404488
005BAD14 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD17 . 8B80 00040000 MOV EAX,DWORD PTR DS:[EAX+400]
005BAD1D . E8 EE99E4FF CALL unpacked.00404710 ; 判断注册表中保存注册码信息的长度,应该有四种可能:10,14,16,12分别对应注册码的长度是16、20、24、32
005BAD22 . 83E8 0A SUB EAX,0A ; Switch (cases A..10)
005BAD25 . 74 7E JE SHORT unpacked.005BADA5
005BAD27 . 83E8 02 SUB EAX,2
005BAD2A . 74 17 JE SHORT unpacked.005BAD43
005BAD2C . 83E8 02 SUB EAX,2
005BAD2F . 0F84 52010000 JE unpacked.005BAE87
005BAD35 . 83E8 02 SUB EAX,2
005BAD38 . 0F84 2B020000 JE unpacked.005BAF69
005BAD3E . E9 E6030000 JMP unpacked.005BB129
005BAD43 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; Case C of switch 005BAD22
005BAD46 . 05 0C040000 ADD EAX,40C ; 如果长度位12,即当时填入32位假码,就跳到这里
005BAD4B . 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
005BAD4E . 8B92 10040000 MOV EDX,DWORD PTR DS:[EDX+410]
005BAD54 . E8 2F97E4FF CALL unpacked.00404488
005BAD59 . 68 E0925C00 PUSH unpacked.005C92E0
005BAD5E . 8D55 B8 LEA EDX,DWORD PTR SS:[EBP-48]
005BAD61 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAD64 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAD6A . E8 05D1EBFF CALL unpacked.00477E74 ; MD( )如果输入32个字符的假码,就在这里做内存注册机吧
005BAD6F . 8B45 B8 MOV EAX,DWORD PTR SS:[EBP-48]
005BAD72 . 8D4D BC LEA ECX,DWORD PTR SS:[EBP-44]
005BAD75 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAD7A . E8 09C3EBFF CALL unpacked.00477088 ; DES_EN( ),Key="dream"
005BAD7F . 8B45 BC MOV EAX,DWORD PTR SS:[EBP-44]
005BAD82 . B9 0C000000 MOV ECX,0C
005BAD87 . BA 0C000000 MOV EDX,0C
005BAD8C . E8 DF9BE4FF CALL unpacked.00404970 ; 第12位起取12个字符
005BAD91 . 33C0 XOR EAX,EAX
005BAD93 . A3 E8925C00 MOV DWORD PTR DS:[5C92E8],EAX
005BAD98 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAD9B . E8 9496E4FF CALL unpacked.00404434
005BADA0 . E9 B9020000 JMP unpacked.005BB05E
005BADA5 > 8D45 B4 LEA EAX,DWORD PTR SS:[EBP-4C] ; Case A of switch 005BAD22
005BADA8 . 50 PUSH EAX ; 如果长度位10,即当时填入16位假码,就跳到这里
005BADA9 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADAC . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADB2 . B9 05000000 MOV ECX,5
005BADB7 . BA 10000000 MOV EDX,10
005BADBC . E8 AF9BE4FF CALL unpacked.00404970 ; 第16位起取5个字符
005BADC1 . FF75 B4 PUSH DWORD PTR SS:[EBP-4C]
005BADC4 . 8D45 B0 LEA EAX,DWORD PTR SS:[EBP-50]
005BADC7 . 50 PUSH EAX
005BADC8 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADCB . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADD1 . B9 04000000 MOV ECX,4
005BADD6 . BA 04000000 MOV EDX,4
005BADDB . E8 909BE4FF CALL unpacked.00404970 ; 第4位起取4个字符
005BADE0 . FF75 B0 PUSH DWORD PTR SS:[EBP-50]
005BADE3 . 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]
005BADE6 . 50 PUSH EAX
005BADE7 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BADEA . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BADF0 . B9 04000000 MOV ECX,4
005BADF5 . BA 12000000 MOV EDX,12
005BADFA . E8 719BE4FF CALL unpacked.00404970 ; 第18位起取4个字符
005BADFF . FF75 AC PUSH DWORD PTR SS:[EBP-54]
005BAE02 . 8D45 A8 LEA EAX,DWORD PTR SS:[EBP-58]
005BAE05 . 50 PUSH EAX
005BAE06 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE09 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAE0F . B9 03000000 MOV ECX,3
005BAE14 . BA 1D000000 MOV EDX,1D
005BAE19 . E8 529BE4FF CALL unpacked.00404970 ; 第29起取3个字符
005BAE1E . FF75 A8 PUSH DWORD PTR SS:[EBP-58]
005BAE21 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE24 . 05 0C040000 ADD EAX,40C
005BAE29 . BA 04000000 MOV EDX,4
005BAE2E . E8 9D99E4FF CALL unpacked.004047D0 ; 合并取出的字符,这里也是一个长度是16的标准版的真注册码
005BAE33 . 68 E0925C00 PUSH unpacked.005C92E0
005BAE38 . 8D55 A0 LEA EDX,DWORD PTR SS:[EBP-60]
005BAE3B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE3E . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAE44 . E8 2BD0EBFF CALL unpacked.00477E74 ; MD5( )如果输入16个字符的假码,就在这里做内存注册机吧
005BAE49 . 8B45 A0 MOV EAX,DWORD PTR SS:[EBP-60]
005BAE4C . 8D4D A4 LEA ECX,DWORD PTR SS:[EBP-5C]
005BAE4F . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAE54 . E8 2FC2EBFF CALL unpacked.00477088 ; DES_EN( ),key="dream"
005BAE59 . 8B45 A4 MOV EAX,DWORD PTR SS:[EBP-5C]
005BAE5C . B9 0A000000 MOV ECX,0A
005BAE61 . BA 06000000 MOV EDX,6
005BAE66 . E8 059BE4FF CALL unpacked.00404970 ; 第6位起取10个字符
005BAE6B . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],1
005BAE75 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAE78 . BA 4CB35B00 MOV EDX,unpacked.005BB34C
005BAE7D . E8 4A96E4FF CALL unpacked.004044CC
005BAE82 . E9 D7010000 JMP unpacked.005BB05E
005BAE87 > 8D45 9C LEA EAX,DWORD PTR SS:[EBP-64] ; Case E of switch 005BAD22
005BAE8A . 50 PUSH EAX ; 如果长度位14,即当时填入20位假码,就跳到这里
005BAE8B . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAE8E . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAE94 . B9 05000000 MOV ECX,5
005BAE99 . BA 03000000 MOV EDX,3
005BAE9E . E8 CD9AE4FF CALL unpacked.00404970 ; 从上面用户名处理结果中第3位起取5个字符
005BAEA3 . FF75 9C PUSH DWORD PTR SS:[EBP-64]
005BAEA6 . 8D45 98 LEA EAX,DWORD PTR SS:[EBP-68]
005BAEA9 . 50 PUSH EAX
005BAEAA . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAEAD . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAEB3 . B9 02000000 MOV ECX,2
005BAEB8 . BA 1D000000 MOV EDX,1D
005BAEBD . E8 AE9AE4FF CALL unpacked.00404970 ; 第29位起取2个字符
005BAEC2 . FF75 98 PUSH DWORD PTR SS:[EBP-68]
005BAEC5 . 8D45 94 LEA EAX,DWORD PTR SS:[EBP-6C]
005BAEC8 . 50 PUSH EAX
005BAEC9 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAECC . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAED2 . B9 06000000 MOV ECX,6
005BAED7 . BA 0C000000 MOV EDX,0C
005BAEDC . E8 8F9AE4FF CALL unpacked.00404970 ; 第13位起取6个字符
005BAEE1 . FF75 94 PUSH DWORD PTR SS:[EBP-6C]
005BAEE4 . 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
005BAEE7 . 50 PUSH EAX
005BAEE8 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAEEB . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAEF1 . B9 07000000 MOV ECX,7
005BAEF6 . BA 06000000 MOV EDX,6
005BAEFB . E8 709AE4FF CALL unpacked.00404970 ; 第6位起取7个字符
005BAF00 . FF75 90 PUSH DWORD PTR SS:[EBP-70]
005BAF03 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF06 . 05 0C040000 ADD EAX,40C
005BAF0B . BA 04000000 MOV EDX,4
005BAF10 . E8 BB98E4FF CALL unpacked.004047D0 ; 合并上面字符,得到一个长度位20的VIP版的真注册码
005BAF15 . 68 E0925C00 PUSH unpacked.005C92E0
005BAF1A . 8D55 88 LEA EDX,DWORD PTR SS:[EBP-78]
005BAF1D . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF20 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BAF26 . E8 49CFEBFF CALL unpacked.00477E74 ; MD5( )如果输入20个字符的假码,就在这里做内存注册机吧
005BAF2B . 8B45 88 MOV EAX,DWORD PTR SS:[EBP-78]
005BAF2E . 8D4D 8C LEA ECX,DWORD PTR SS:[EBP-74]
005BAF31 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BAF36 . E8 4DC1EBFF CALL unpacked.00477088 ; DES_EN( )运算,Key="dream"
005BAF3B . 8B45 8C MOV EAX,DWORD PTR SS:[EBP-74]
005BAF3E . B9 0E000000 MOV ECX,0E
005BAF43 . BA 03000000 MOV EDX,3
005BAF48 . E8 239AE4FF CALL unpacked.00404970 ; 从第3位起取14个字符
005BAF4D . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],2
005BAF57 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BAF5A . BA 60B35B00 MOV EDX,unpacked.005BB360
005BAF5F . E8 6895E4FF CALL unpacked.004044CC
005BAF64 . E9 F5000000 JMP unpacked.005BB05E
005BAF69 > 8D45 84 LEA EAX,DWORD PTR SS:[EBP-7C] ; Case 10 of switch 005BAD22
005BAF6C . 50 PUSH EAX ; 如果长度位16,即当时填入24位假码,就跳到这里
005BAF6D . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF70 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAF76 . B9 06000000 MOV ECX,6
005BAF7B . BA 08000000 MOV EDX,8
005BAF80 . E8 EB99E4FF CALL unpacked.00404970 ; 第8位起取6个字符
005BAF85 . FF75 84 PUSH DWORD PTR SS:[EBP-7C]
005BAF88 . 8D45 80 LEA EAX,DWORD PTR SS:[EBP-80]
005BAF8B . 50 PUSH EAX
005BAF8C . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAF8F . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAF95 . B9 07000000 MOV ECX,7
005BAF9A . BA 12000000 MOV EDX,12
005BAF9F . E8 CC99E4FF CALL unpacked.00404970 ; 第18位起取7个字符
005BAFA4 . FF75 80 PUSH DWORD PTR SS:[EBP-80]
005BAFA7 . 8D85 7CFFFFFF LEA EAX,DWORD PTR SS:[EBP-84]
005BAFAD . 50 PUSH EAX
005BAFAE . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFB1 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAFB7 . B9 08000000 MOV ECX,8
005BAFBC . BA 17000000 MOV EDX,17
005BAFC1 . E8 AA99E4FF CALL unpacked.00404970 ; 第23位起取8个字符
005BAFC6 . FFB5 7CFFFFFF PUSH DWORD PTR SS:[EBP-84]
005BAFCC . 8D85 78FFFFFF LEA EAX,DWORD PTR SS:[EBP-88]
005BAFD2 . 50 PUSH EAX
005BAFD3 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFD6 . 8B80 10040000 MOV EAX,DWORD PTR DS:[EAX+410]
005BAFDC . B9 03000000 MOV ECX,3
005BAFE1 . BA 0D000000 MOV EDX,0D
005BAFE6 . E8 8599E4FF CALL unpacked.00404970 ; 第13位起取3个字符
005BAFEB . FFB5 78FFFFFF PUSH DWORD PTR SS:[EBP-88]
005BAFF1 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BAFF4 . 05 0C040000 ADD EAX,40C
005BAFF9 . BA 04000000 MOV EDX,4
005BAFFE . E8 CD97E4FF CALL unpacked.004047D0 ; 合并得到钻石版的真注册码
005BB003 . 68 E0925C00 PUSH unpacked.005C92E0
005BB008 . 8D95 70FFFFFF LEA EDX,DWORD PTR SS:[EBP-90]
005BB00E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB011 . 8B80 0C040000 MOV EAX,DWORD PTR DS:[EAX+40C]
005BB017 . E8 58CEEBFF CALL unpacked.00477E74 ; MD5( )如果输入24个字符的假码,就在这里做内存注册机吧
005BB01C . 8B85 70FFFFFF MOV EAX,DWORD PTR SS:[EBP-90]
005BB022 . 8D8D 74FFFFFF LEA ECX,DWORD PTR SS:[EBP-8C]
005BB028 . BA F8B15B00 MOV EDX,unpacked.005BB1F8 ; ASCII "dream"
005BB02D . E8 56C0EBFF CALL unpacked.00477088 ; DES_EN( ),Key="dream"
005BB032 . 8B85 74FFFFFF MOV EAX,DWORD PTR SS:[EBP-8C]
005BB038 . B9 10000000 MOV ECX,10
005BB03D . BA 05000000 MOV EDX,5
005BB042 . E8 2999E4FF CALL unpacked.00404970 ; 第5位起取16的字符
005BB047 . C705 E8925C00 0>MOV DWORD PTR DS:[5C92E8],3
005BB051 . 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
005BB054 . BA 70B35B00 MOV EDX,unpacked.005BB370
005BB059 . E8 6E94E4FF CALL unpacked.004044CC
005BB05E > 8D85 68FFFFFF LEA EAX,DWORD PTR SS:[EBP-98] ; 下面代码比较第2位起的5个字符
005BB064 . 50 PUSH EAX
005BB065 . B9 05000000 MOV ECX,5
005BB06A . BA 02000000 MOV EDX,2
005BB06F . A1 E0925C00 MOV EAX,DWORD PTR DS:[5C92E0]
005BB074 . E8 F798E4FF CALL unpacked.00404970 ; 第2位起取5个字符
005BB079 . 8B85 68FFFFFF MOV EAX,DWORD PTR SS:[EBP-98]
005BB07F . 8D95 6CFFFFFF LEA EDX,DWORD PTR SS:[EBP-94]
005BB085 . E8 36F8FFFF CALL unpacked.005BA8C0 ; 转换位ASC码+空格的形式
005BB08A . 8B85 6CFFFFFF MOV EAX,DWORD PTR SS:[EBP-94]
005BB090 . 50 PUSH EAX
005BB091 . 8D85 60FFFFFF LEA EAX,DWORD PTR SS:[EBP-A0]
005BB097 . 50 PUSH EAX
005BB098 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB09B . 8B80 00040000 MOV EAX,DWORD PTR DS:[EAX+400]
005BB0A1 . B9 05000000 MOV ECX,5
005BB0A6 . BA 02000000 MOV EDX,2
005BB0AB . E8 C098E4FF CALL unpacked.00404970 ; 第2位起取5个字符
005BB0B0 . 8B85 60FFFFFF MOV EAX,DWORD PTR SS:[EBP-A0]
005BB0B6 . 8D95 64FFFFFF LEA EDX,DWORD PTR SS:[EBP-9C]
005BB0BC . E8 FFF7FFFF CALL unpacked.005BA8C0 ; 转换位ASC码+空格的形式
005BB0C1 . 8B95 64FFFFFF MOV EDX,DWORD PTR SS:[EBP-9C]
005BB0C7 . 58 POP EAX
005BB0C8 . E8 8F97E4FF CALL unpacked.0040485C ; 比较
005BB0CD . 75 5A JNZ SHORT unpacked.005BB129
005BB0CF . C605 E0645C00 0>MOV BYTE PTR DS:[5C64E0],1
005BB0D6 . 833D E8925C00 0>CMP DWORD PTR DS:[5C92E8],1
005BB0DD . 74 07 JE SHORT unpacked.005BB0E6
005BB0DF . C605 E4645C00 0>MOV BYTE PTR DS:[5C64E4],1
005BB0E6 > 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005BB0E9 . 8B80 AC030000 MOV EAX,DWORD PTR DS:[EAX+3AC]
005BB0EF . 33D2 XOR EDX,EDX
DES加密或解密过程中,因为密钥至少要有64位,如有几次密钥Key="dream",密钥只有40位,因此要填充24个0
----------------------------------------------------------------------------------------------
【破解心得】
作者没有采用了注册码的明码比较。对用户名和注册码的处理过程大致是这样的;
注册码——MD5( )——DES_EN( ,Key="dream")——抽取字符——存入注册表——重启程序读注册表
用户名——DES_EN( ,Key="zlbpolly")——存入注册表——重启程序读注册表——DES_DE( ,Key="zlbpolly")还原用户名——MD5( )——抽取字符形成真注册码——MD5( )——DES_EN( Key="dream")——抽取字符
经过上述过程后将用户名和注册码得到的最终结果比较其中的一部分字符。
有没有发现用户名和注册码最后一段处理是一样的,其实真码的形成很简单:
用户名——经过MD5( )运算——DES_EN( Key="机器码")——MD5( )——根据版本钻石版还是标准版抽取相应字符形成真码。
编写算法注册机时要注意,MD5( )的结果以小写16进制输出,DES( )的结果以大写16禁止文本输出:
如:"rdsnow[BCG][PYG][D.4s]"的MD5输出为:"28a5ec4ecec3e6227fbffdcedeec1bc4"
"28a5ec4ecec3e6227fbffdcedeec1bc4"的DES( key=机器码)输出(我的Key是"67f2a822")为:"B51E989F74EEE338B51ABC5A6AB315FD42B634367DDF2D96BEC3B6004B5C2422"
再经过一次MD5( )得到"b196b34a23783d94922e8b4ca5f92a7a"
抽取不同位置的字符得到不同版本的注册码:
用户名:rdsnow[BCG][PYG][D.4s],机器码 "67f2a822"
未知版:b196b34a23783d94922e8b4ca5f92a7a (32个字符)(未能通过后面的长度验证)
标准版:4922e6b3422e82a7 (16个字符)
VIP 版:96b342a83d94934a2378 (20个字符)
钻石版:a2378322e8b4c4ca5f92a3d9 (24个字符)
因为个人的机器码不一样,所以注册码也不一样。
----------------------------------------------------------------------------------------------
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
----------------------------------------------------------------------------------------------
文章写于2005-8-25 17:55:37 |
|