飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

楼主: lgjxj

[原创] 我也发个 CM , 秒破吧,5555555

[复制链接]

该用户从未签到

 楼主| 发表于 2008-10-25 14:10:27 | 显示全部楼层
^_^ 退出你是没输入注册码,4 楼的截图就是注册成功的样子,但他还没破解,那只是爆破了 /:014

cc5 不加入任何抗爆破的代码,cc6 里有
PYG19周年生日快乐!

该用户从未签到

发表于 2008-10-25 14:49:47 | 显示全部楼层
原帖由 lgjxj 于 2008-10-25 00:31 发表
绝对不是体力活,开始上传的那个 cc5 编译时把位数拉大了,后来改小了

算法很简单的


.......分析错误........
发现算出来的注册码有时候是对的,有时候是错的......晕呼呼!!!!!!!!!!

BTW:最后膜拜一下lgjxj大侠~~~~~~~~

[ 本帖最后由 hflywolf 于 2008-10-25 17:39 编辑 ]
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2008-10-25 15:13:49 | 显示全部楼层
的确有那么一点意思,但又不能算是 5 阶 ,怕难度大,少人玩,后面的那个不用穷举的,再看清楚 努力 /:014
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-3-29 07:24
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-10-25 15:23:20 | 显示全部楼层
    首先膜拜一下楼主/:good !精巧的算法,运气好找到一个注册码!/:L
    用户名:x88xvr
    注册码:~@~x~~~~x~~@~@~~l~0~~|~0~~0~0~~0~0~~0~0~~0~0~=


    [ 本帖最后由 x80x88 于 2008-10-25 15:25 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-10-25 15:36:19 | 显示全部楼层
    x80 兄弟好样的 /:good  已经解密了 90% ,还差一部,完美 pj

    再次透露,真正的完美注册码很短的,楼上的 x80 兄弟 ,理解强 /:good ,属于我

    的算法漏洞 /:L

    看来漏洞无处不在 ,难怪 MS 的补丁满天飞

    [ 本帖最后由 lgjxj 于 2008-10-25 15:37 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2008-10-25 15:46:59 | 显示全部楼层
    可惜现在不能再修补了,/:010  最后把计较设为 0x1000 如果没看清楚的
    用 几百位都无法达到 , 开始的时候太善良了 /:013

    x80 /:good
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-25 15:47:12 | 显示全部楼层
    原帖由 x80x88 于 2008-10-25 15:23 发表
    首先膜拜一下楼主/:good !精巧的算法,运气好找到一个注册码!/:L
    用户名:x88xvr
    注册码:~@~x~~~~x~~@~@~~l~0~~|~0~~0~0~~0~0~~0~0~~0~0~=
    39779


    /:good /:good /:good 膜拜~~~~~~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-25 16:37:17 | 显示全部楼层
    /:10 /:10 /:10

    倒踏~~~~


    00401450    FF15 8C324200   call    dword ptr [<&KERNEL32.GetVolumeI>; kernel32.GetVolumeInformationA
    00401456    8B4424 08       mov     eax, dword ptr [esp+8]
    0040145A    6A 00           push    0                                ; 77D18B26
    0040145C    8BCE            mov     ecx, esi
    0040145E    8D50 FE         lea     edx, dword ptr [eax-2]
    00401461    33D0            xor     edx, eax
    00401463    81C2 0B010000   add     edx, 10B                          //这里的值会改变最后一次比较
    00401469    8915 B4004300   mov     dword ptr [4300B4], edx
    0040146F    E8 498C0100     call    0041A0BD

    0042C0C0   21 2C 37 42 4D 58 42 4D  !,7BMXBM
    0042C0C8   58 57 EA 23 18 37 42 4D  XW?7BM
    0042C0D0   16 BA 02 02 22 83 18 04  ?"?
    0042C0D8   04 22 37 42 4D 4D 4D 4D  "7BMMMM
    0042C0E0   00 00                    ..

    一共取22个字节的ASCII码        ASCII= 0x4FC

    00401562    A1 B4004300     mov     eax, dword ptr [4300B4]          ; 这个地址的值是在GetVolumeInformationA 时取出的
    00401567    8D5424 20       lea     edx, dword ptr [esp+20]
    0040156B    6A 0C           push    0C
    0040156D    52              push    edx
    0040156E    8D0C48          lea     ecx, dword ptr [eax+ecx*2]       ; eax+ecx*2  这个就是最后一次的比较值 CMP->第三次比较时用的  

    到这里 SN1=ECX
    ///////////////////////////////
    [1]   以上代码得出来的值设为 SN1


    限制 用户名5位以上 注册码15位以上
    1. 连接用户名和注册码
    2. 每一位的ascii + 0xD0  生成新的ASCII组合
    3. 新的ASCII总和  SN2
    4. 取新生成的ASCII前5位的ASCII总和 SN3
    5. 从新生成的ASCII组合的第4位开始取.每次取的位置+5  ASCII总和 SN4
    6. 从新生成的ASCII组合的第2位开始取.每次取的位置+5  ASCII总和 SN5


    注册成功的条件是:

    004016CB   /75 36           jnz     short 00401703                   ; SN5 == SN4
    004016CD   |3B4424 14       cmp     eax, dword ptr [esp+14]          ; SN4 == SN3
    004016D1   |75 30           jnz     short 00401703
    004016D3   |8B4424 1C       mov     eax, dword ptr [esp+1C]
    004016D7   |6A 00           push    0
    004016D9   |3BE8            cmp     ebp, eax
    004016DB   |6A 00           push    0
    004016DD   |75 16           jnz     short 004016F5                     SN1 == SN2
    004016DF   |8B4C24 20       mov     ecx, dword ptr [esp+20]
    004016E3   |68 E8C04200     push    0042C0E8                         ; ok
    004016E8   |E8 74820100     call    00419961

    [ 本帖最后由 Luckly 于 2008-10-25 18:29 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2015-10-29 08:08
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2008-10-25 16:43:12 | 显示全部楼层
    我也来发个吧。。。/:013 /:013

    用户名:creantanaiwaley

    密码:zzzxyzqy1yn0z21z0t5yz0x6ov0w7xx0f8zn0z9m30r0uvf9d



    楼主CC6呢。。。。。/:014

    [ 本帖最后由 creantan 于 2008-10-25 17:06 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-3-29 07:24
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-10-25 16:44:32 | 显示全部楼层
    晕倒,原来内有乾坤,看不大懂啊?/:010
    换了台2K3的机子,注册码就不行了,OD载入看了下:
    ..........
    0401420   .  8>sub esp,6C
    00401423   .  5>push esi
    00401424   .  B>mov al,5C
    00401426   .  6>push 0A                                  ; /pFileSystemNameSize = 0000000A
    00401428   .  8>mov byte ptr ss:[esp+A],al               ; |
    0040142C   .  8>mov byte ptr ss:[esp+B],al               ; |
    00401430   .  6>push 0                                   ; |pFileSystemNameBuffer = NULL
    00401432   .  6>push 0                                   ; |pFileSystemFlags = NULL
    00401434   .  8>lea eax,dword ptr ss:[esp+14]            ; |
    00401438   .  8>mov esi,ecx                              ; |
    0040143A   .  6>push 0                                   ; |pMaxFilenameLength = NULL
    0040143C   .  5>push eax                                 ; |pVolumeSerialNumber
    0040143D   .  6>push 0C                                  ; |MaxVolumeNameSize = C (12.)
    0040143F   .  8>lea ecx,dword ptr ss:[esp+1C]            ; |
    00401443   .  6>push 0                                   ; |VolumeNameBuffer = NULL
    00401445   .  5>push ecx                                 ; |RootPathName
    00401446   .  C>mov byte ptr ss:[esp+24],63              ; |
    0040144B   .  C>mov byte ptr ss:[esp+25],3A              ; |
    00401450   .  F>call dword ptr ds:[<&KERNEL32.GetVolumeI>; \GetVolumeInformationA
    00401456   .  8>mov eax,dword ptr ss:[esp+8]
    0040145A   .  6>push 0
    0040145C   .  8>mov ecx,esi
    0040145E   .  8>lea edx,dword ptr ds:[eax-2]
    00401461   .  3>xor edx,eax
    00401463   .  8>add edx,10B
    00401469   .  8>mov dword ptr ds:[4300B4],edx            ;  这里写入ds:[4300B4]的值
    ...............
    GetVolumeInformationA函数应该是查文件所在的磁盘卷标号吧,那么注册码应该和CM所在的磁盘卷标号有关了!
    继续往下看:
    ...............
    00401540   .  8>sub esp,50
    00401543   .  5>push ebx
    00401544   .  5>push ebp
    00401545   .  5>push esi
    00401546   .  8>mov esi,ecx
    00401548   .  3>xor ebp,ebp
    0040154A   .  3>xor ecx,ecx
    0040154C   .  5>push edi
    0040154D   .  8>mov dword ptr ss:[esp+18],esi
    00401551   .  3>xor eax,eax
    00401553   >  0>movsx edx,byte ptr ds:[eax+42C0C0]       ;  这段将程序内置的码值相加,结果为4FC
    0040155A   .  0>add ecx,edx
    0040155C   .  4>inc eax
    0040155D   .  8>cmp eax,22
    00401560   .^ 7>jl short cc5.00401553
    00401562   .  A>mov eax,dword ptr ds:[4300B4]            ;  注意这里,ds:[4300B4]的值,我的这台机子为111
    00401567   .  8>lea edx,dword ptr ss:[esp+20]
    0040156B   .  6>push 0C                                       ; /Arg3 = 0000000C
    0040156D   .  5>push edx                                      ; |Arg2
    0040156E   .  8>lea ecx,dword ptr ds:[eax+ecx*2]         ; |看这里ecx=111+4FC*2=B09
    00401571   .  6>push 3E8                                      ; |Arg1 = 000003E8
    00401576   .  8>mov dword ptr ss:[esp+28],ecx                 ; |值再赋到ss:[esp+28],也即后面的最后一个比较ss:[esp+1C]的地址
    0040157A   .  8>mov ecx,esi                                   ; |
    0040157C   .  E>call cc5.0041AA10                             ; \cc5.0041AA10
    00401581   .  8>lea edi,dword ptr ss:[esp+20]
    ........

    最后一次比较处:
    ..........
    004016D3   .  8>mov eax,dword ptr ss:[esp+1C]             ss:[ebp+1c]中的值就是上面的ss:[esp+28]中的值
    004016D7   .  6>push 0
    004016D9   .  3>cmp ebp,eax                               ebp中为用户名和假码连接串变换后值的累加和
    004016DB   .  6>push 0
    004016DD   .  7>jnz short cc5.004016F5
    ..........
    看前面的,如果磁盘卷标号不为空,ss:[esp+1c]的值在大家的机器上值应该是不一样的吧!
    莫非还有猫腻/:010 ,等着楼主解密/:QQ2

    [ 本帖最后由 x80x88 于 2008-10-25 16:59 编辑 ]
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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