飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5329|回复: 6

流星网络电视V1.9.2.0的注册

[复制链接]
  • TA的每日心情

    2024-4-11 22:10
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2005-9-10 21:23:07 | 显示全部楼层 |阅读模式
    【破文作者】   rdsnow[BCG][PYG][D.4s]

    【作者主页】   http://rdsnow.ys168.com

    【 E-mail 】   rdsnow@163.com

    【 作者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
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-9-11 06:42:06 | 显示全部楼层
    学习一下~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-9-11 10:53:48 | 显示全部楼层
    good!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2016-10-21 20:30
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2005-9-12 13:09:05 | 显示全部楼层
    不错, 支持,学习
    PYG19周年生日快乐!
    gwp02 该用户已被删除
    发表于 2005-10-20 23:09:40 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-10-21 10:40:02 | 显示全部楼层
    强。。。学习了。。。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-4-10 17:18
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2020-3-5 10:41:27 | 显示全部楼层
    学习了,好好学习!!
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表