飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4717|回复: 4

[原创] HTML to Image 2.0.2006.1001注册算法(含全程录像)

[复制链接]
  • TA的每日心情
    奋斗
    2017-6-11 12:16
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2006-11-20 23:10:56 | 显示全部楼层 |阅读模式
    【破文标题】HTML to Image 2.0.2006.1001注册算法-MD5
    【破文作者】XXNB
    【作者邮箱】支持PYG
    【作者主页】binbinbin7456.ys168.com
    破解工具】OD
    【破解平台】XPsp2
    【软件名称】HTML to Image 2.0.2006.1001
    【软件大小】1762KB
    【原版下载】http://www.onlinedown.net/soft/35519.htm
    【保护方式】名+码
    【软件简介】Html To Image可以容易、快捷地将任意的html页转换成图片或缩略图。最新的特征:可直接将给定网址的网页保存成bmp、jpeg

    、tiff、gif、png格式的图片;由大图像生成缩略图;支持批量转换;嵌入IE浏览器的前后关联菜单中。  
    【破解声明】向前辈们学习!只为学习交流!
    ------------------------------------------------------------------------
    【破解过程】
    ------------------------------------------------------------------------
        这几天玩aspr壳,好晕啊。还是分析算法好!用peid的插件发现有几个加密算法,当时我就保佑它只用到MD5(这个我熟悉)。结果,万事

    如意。作者没有加壳,我们直接进入主题:

    1、OD载入,找了半天找不到断点。只好拿出DEDE。很快发现一个btnregist(偷笑),双击。还是那句话“找到关键断点,成功一半”。
    输入注册信息:binbinbin。码:ACM-123456-123456-1234。注册码一定要类似这样的格式的,具体看我的分析。

    得到:

    0054A170  /.  55            push    ebp
    0054A171  |.  8BEC          mov     ebp, esp
    0054A173  |.  33C9          xor     ecx, ecx
    0054A175  |.  51            push    ecx
    0054A176  |.  51            push    ecx
    0054A177  |.  51            push    ecx
    0054A178  |.  51            push    ecx
    0054A179  |.  53            push    ebx
    0054A17A  |.  8BD8          mov     ebx, eax
    0054A17C  |.  33C0          xor     eax, eax
    0054A17E  |.  55            push    ebp
    0054A17F  |.  68 9AA25400   push    0054A29A
    0054A184  |.  64:FF30       push    dword ptr fs:[eax]
    0054A187  |.  64:8920       mov     dword ptr fs:[eax], esp
    0054A18A  |.  8D55 F8       lea     edx, dword ptr [ebp-8]
    0054A18D  |.  8B83 78030000 mov     eax, dword ptr [ebx+378]
    0054A193  |.  E8 18E8F1FF   call    004689B0
    0054A198  |.  8B45 F8       mov     eax, dword ptr [ebp-8]           ;  用户名位数
    0054A19B  |.  8D55 FC       lea     edx, dword ptr [ebp-4]
    0054A19E  |.  E8 85F3EBFF   call    00409528
    0054A1A3  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
    0054A1A6  |.  8D83 80040000 lea     eax, dword ptr [ebx+480]
    0054A1AC  |.  E8 6FA7EBFF   call    00404920
    0054A1B1  |.  8D55 F0       lea     edx, dword ptr [ebp-10]
    0054A1B4  |.  8B83 80030000 mov     eax, dword ptr [ebx+380]
    0054A1BA  |.  E8 F1E7F1FF   call    004689B0
    0054A1BF  |.  8B45 F0       mov     eax, dword ptr [ebp-10]          ;  假码位数
    0054A1C2  |.  8D55 F4       lea     edx, dword ptr [ebp-C]
    0054A1C5  |.  E8 5EF3EBFF   call    00409528
    0054A1CA  |.  8B55 F4       mov     edx, dword ptr [ebp-C]           ;  假码
    0054A1CD  |.  8D83 84040000 lea     eax, dword ptr [ebx+484]
    0054A1D3  |.  E8 48A7EBFF   call    00404920                         ;  上面都是对称的
    0054A1D8  |.  83BB 80040000>cmp     dword ptr [ebx+480], 0           ;  用户名是否为空
    0054A1DF  |.  75 20         jnz     short 0054A201
    0054A1E1  |.  BA ACA25400   mov     edx, 0054A2AC                    ;  p
    0054A1E6  |.  8B83 B4030000 mov     eax, dword ptr [ebx+3B4]
    0054A1EC  |.  E8 D774FAFF   call    004F16C8
    0054A1F1  |.  8B83 78030000 mov     eax, dword ptr [ebx+378]
    0054A1F7  |.  8B10          mov     edx, dword ptr [eax]
    0054A1F9  |.  FF92 C4000000 call    dword ptr [edx+C4]
    0054A1FF  |.  EB 6B         jmp     short 0054A26C
    0054A201  |>  83BB 84040000>cmp     dword ptr [ebx+484], 0           ;  输入注册码没有
    0054A208  |.  75 20         jnz     short 0054A22A
    0054A20A  |.  BA E0A25400   mov     edx, 0054A2E0                    ;  p
    0054A20F  |.  8B83 B4030000 mov     eax, dword ptr [ebx+3B4]
    0054A215  |.  E8 AE74FAFF   call    004F16C8
    0054A21A  |.  8B83 80030000 mov     eax, dword ptr [ebx+380]
    0054A220  |.  8B10          mov     edx, dword ptr [eax]
    0054A222  |.  FF92 C4000000 call    dword ptr [edx+C4]
    0054A228  |.  EB 42         jmp     short 0054A26C
    0054A22A  |>  8BC3          mov     eax, ebx
    0054A22C  |.  E8 B7010000   call    0054A3E8                         ;这个理所当然是算法call,《《《《《《《《《《《《《《
    0054A231  |.  85C0          test    eax, eax
    0054A233      74 19         je      short 0054A24E                   ;关键跳转。爆破点
    0054A235  |.  BA 30A35400   mov     edx, 0054A330                    ;  t   "Thank you for registration! All limitations are

    removed now."
    0054A23A  |.  8B83 B4030000 mov     eax, dword ptr [ebx+3B4]          ;作者只用了第一个字母来表示成功和失败的信息,所以
    0054A240  |.  E8 8374FAFF   call    004F16C8                          ;字符串搜索的时候可以直接搜索“t”
    0054A245  |.  8BC3          mov     eax, ebx
    0054A247  |.  E8 FC040000   call    0054A748
    0054A24C  |.  EB 1E         jmp     short 0054A26C
    0054A24E  |>  BA B0A35400   mov     edx, 0054A3B0                    ;  i   "Invalid registration code!"
    0054A253  |.  8B83 B4030000 mov     eax, dword ptr [ebx+3B4]
    0054A259  |.  E8 6A74FAFF   call    004F16C8
    0054A25E  |.  8B83 80030000 mov     eax, dword ptr [ebx+380]
    0054A264  |.  8B10          mov     edx, dword ptr [eax]
    0054A266  |.  FF92 C4000000 call    dword ptr [edx+C4]
    0054A26C  |>  33C0          xor     eax, eax


    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    2、跟进算法call:0054A22C  |.  E8 B7010000   call    0054A3E8,得到下面:具体的看注释



    0054A3E8  /$  55            push    ebp
    0054A3E9  |.  8BEC          mov     ebp, esp
    0054A3EB  |.  B9 06000000   mov     ecx, 6
    0054A3F0  |>  6A 00         /push    0
    0054A3F2  |.  6A 00         |push    0
    0054A3F4  |.  49            |dec     ecx
    0054A3F5  |.^ 75 F9         \jnz     short 0054A3F0
    0054A3F7  |.  51            push    ecx
    0054A3F8  |.  53            push    ebx
    0054A3F9  |.  56            push    esi
    0054A3FA  |.  57            push    edi
    0054A3FB  |.  8BD8          mov     ebx, eax
    0054A3FD  |.  33C0          xor     eax, eax
    0054A3FF  |.  55            push    ebp
    0054A400  |.  68 2CA75400   push    0054A72C
    0054A405  |.  64:FF30       push    dword ptr fs:[eax]
    0054A408  |.  64:8920       mov     dword ptr fs:[eax], esp
    0054A40B  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    0054A40E  |.  8B93 80040000 mov     edx, dword ptr [ebx+480]         ;  用户名
    0054A414  |.  E8 4BA5EBFF   call    00404964
    0054A419  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
    0054A41C  |.  8B93 84040000 mov     edx, dword ptr [ebx+484]         ;  假码
    0054A422  |.  E8 3DA5EBFF   call    00404964
    0054A427  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    0054A42A  |.  8B93 80040000 mov     edx, dword ptr [ebx+480]
    0054A430  |.  E8 2FA5EBFF   call    00404964
    0054A435  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
    0054A438  |.  8B93 84040000 mov     edx, dword ptr [ebx+484]
    0054A43E  |.  E8 21A5EBFF   call    00404964
    0054A443  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    0054A446  |.  8B93 80040000 mov     edx, dword ptr [ebx+480]
    0054A44C  |.  E8 13A5EBFF   call    00404964
    0054A451  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
    0054A454  |.  8B93 84040000 mov     edx, dword ptr [ebx+484]
    0054A45A  |.  E8 05A5EBFF   call    00404964
    0054A45F  |.  33F6          xor     esi, esi
    0054A461  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    0054A464  |.  8B93 80040000 mov     edx, dword ptr [ebx+480]
    0054A46A  |.  E8 F5A4EBFF   call    00404964
    0054A46F  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
    0054A472  |.  8B93 84040000 mov     edx, dword ptr [ebx+484]
    0054A478  |.  E8 E7A4EBFF   call    00404964
    0054A47D  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    0054A480  |.  E8 17A7EBFF   call    00404B9C
    0054A485  |.  83F8 16       cmp     eax, 16                          ;  注册码要求16H位数的
    0054A488  |.  0F85 83020000 jnz     0054A711
    0054A48E  |.  8B45 F8       mov     eax, dword ptr [ebp-8]           ;  假码
    0054A491  |.  E8 06A7EBFF   call    00404B9C
    0054A496  |.  83F8 16       cmp     eax, 16
    0054A499  |.  0F85 72020000 jnz     0054A711
    0054A49F  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    0054A4A2  |.  E8 F5A6EBFF   call    00404B9C                         ;  好像不用检测这么多次吧!!
    0054A4A7  |.  83F8 16       cmp     eax, 16                          ;  作者的用意我想不通
    0054A4AA  |.  0F85 61020000 jnz     0054A711
    0054A4B0  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    0054A4B3  |.  E8 E4A6EBFF   call    00404B9C
    0054A4B8  |.  83F8 16       cmp     eax, 16
    0054A4BB  |.  0F85 50020000 jnz     0054A711
    0054A4C1  |.  8D4D EC       lea     ecx, dword ptr [ebp-14]
    0054A4C4  |.  BA 03000000   mov     edx, 3
    0054A4C9  |.  8B83 84040000 mov     eax, dword ptr [ebx+484]
    0054A4CF  |.  E8 C43FEFFF   call    0043E498
    0054A4D4  |.  8B45 EC       mov     eax, dword ptr [ebp-14]          ;  “ACM”
    0054A4D7  |.  BA 44A75400   mov     edx, 0054A744                    ;  acm
    0054A4DC  |.  E8 07A8EBFF   call    00404CE8                         ;  头三位应当为“ACM”
    0054A4E1  |.  0F85 2A020000 jnz     0054A711
    0054A4E7  |.  8B45 F8       mov     eax, dword ptr [ebp-8]           ;  (ASCII "ACM-123456-123456-1234")
    0054A4EA  |.  E8 ADA6EBFF   call    00404B9C
    0054A4EF  |.  83F8 16       cmp     eax, 16                          ;  又检测
    0054A4F2  |.  0F85 19020000 jnz     0054A711
    0054A4F8  |.  8D4D E8       lea     ecx, dword ptr [ebp-18]
    0054A4FB  |.  BA 03000000   mov     edx, 3
    0054A500  |.  8B83 84040000 mov     eax, dword ptr [ebx+484]
    0054A506  |.  E8 8D3FEFFF   call    0043E498                         ;  取字符函数
    0054A50B  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
    0054A50E  |.  BA 44A75400   mov     edx, 0054A744                    ;  acm
    0054A513  |.  E8 D0A7EBFF   call    00404CE8
    0054A518  |.  0F85 F3010000 jnz     0054A711
    0054A51E  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    0054A521  |.  E8 76A6EBFF   call    00404B9C
    0054A526  |.  83F8 16       cmp     eax, 16
    0054A529  |.  0F85 E2010000 jnz     0054A711
    0054A52F  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
    0054A532  |.  BA 03000000   mov     edx, 3
    0054A537  |.  8B83 84040000 mov     eax, dword ptr [ebx+484]         ;  作者很喜欢重复重复重复的比较
    0054A53D  |.  E8 563FEFFF   call    0043E498
    0054A542  |.  8B45 E4       mov     eax, dword ptr [ebp-1C]
    0054A545  |.  BA 44A75400   mov     edx, 0054A744                    ;  acm
    0054A54A  |.  E8 99A7EBFF   call    00404CE8
    0054A54F  |.  0F85 BC010000 jnz     0054A711
    0054A555  |.  8D4D F8       lea     ecx, dword ptr [ebp-8]
    0054A558  |.  BA 13000000   mov     edx, 13                          ;  常数
    0054A55D  |.  8B83 84040000 mov     eax, dword ptr [ebx+484]
    0054A563  |.  E8 A83FEFFF   call    0043E510
    0054A568  |.  837D FC 00    cmp     dword ptr [ebp-4], 0             ;  用户名输入没有
    0054A56C  |.  0F84 9F010000 je      0054A711
    0054A572  |.  837D F8 00    cmp     dword ptr [ebp-8], 0             ;  后面那部分有没有东西
    0054A576  |.  0F84 95010000 je      0054A711
    0054A57C  |.  33DB          xor     ebx, ebx
    0054A57E  |>  8BFB          /mov     edi, ebx                        ;  循环开始
    0054A580  |.  83C7 01       |add     edi, 1                          ;  计数器
    0054A583  |.  71 05         |jno     short 0054A58A
    0054A585  |.  E8 3294EBFF   |call    004039BC
    0054A58A  |>  8B45 F8       |mov     eax, dword ptr [ebp-8]          ;  后面那部分
    0054A58D  |.  4F            |dec     edi
    0054A58E  |.  85C0          |test    eax, eax
    0054A590  |.  74 05         |je      short 0054A597
    0054A592  |.  3B78 FC       |cmp     edi, dword ptr [eax-4]
    0054A595  |.  72 05         |jb      short 0054A59C
    0054A597  |>  E8 1894EBFF   |call    004039B4
    0054A59C  |>  47            |inc     edi
    0054A59D  |.  807C38 FF 2D  |cmp     byte ptr [eax+edi-1], 2D        ;  和2D“-”比较
    0054A5A2  |.  74 2A         |je      short 0054A5CE
    0054A5A4  |.  8D45 E0       |lea     eax, dword ptr [ebp-20]
    0054A5A7  |.  8B55 F8       |mov     edx, dword ptr [ebp-8]
    0054A5AA  |.  4F            |dec     edi
    0054A5AB  |.  85D2          |test    edx, edx
    0054A5AD  |.  74 05         |je      short 0054A5B4
    0054A5AF  |.  3B7A FC       |cmp     edi, dword ptr [edx-4]
    0054A5B2  |.  72 05         |jb      short 0054A5B9
    0054A5B4  |>  E8 FB93EBFF   |call    004039B4
    0054A5B9  |>  47            |inc     edi
    0054A5BA  |.  8A543A FF     |mov     dl, byte ptr [edx+edi-1]
    0054A5BE  |.  E8 F1A4EBFF   |call    00404AB4
    0054A5C3  |.  8B55 E0       |mov     edx, dword ptr [ebp-20]
    0054A5C6  |.  8D45 F4       |lea     eax, dword ptr [ebp-C]
    0054A5C9  |.  E8 D6A5EBFF   |call    00404BA4
    0054A5CE  |>  43            |inc     ebx
    0054A5CF  |.  83FB 13       |cmp     ebx, 13
    0054A5D2  |.^ 75 AA         \jnz     short 0054A57E                  ;  这个循环是检测和去掉这个符号“-”间隔符号
    0054A5D4  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
    0054A5D7  |.  8B55 F4       mov     edx, dword ptr [ebp-C]           ;  去掉符号后 的字符串:"1234561234561234"
    0054A5DA  |.  E8 85A3EBFF   call    00404964
    0054A5DF  |.  8D45 F4       lea     eax, dword ptr [ebp-C]
    0054A5E2  |.  E8 E5A2EBFF   call    004048CC
    0054A5E7  |.  8B45 F8       mov     eax, dword ptr [ebp-8]
    0054A5EA  |.  E8 ADA5EBFF   call    00404B9C                         ;  计算位数
    0054A5EF  |.  83F8 10       cmp     eax, 10                          ;  从这里我们看出,输入的假码要应该有3个“-”。哈哈
    0054A5F2      0F85 19010000 jnz     0054A711                         ;  这个10H害我想了好长时间。
    0054A5F8  |.  33DB          xor     ebx, ebx
    0054A5FA  |>  8BC3          /mov     eax, ebx
    0054A5FC  |.  25 01000080   |and     eax, 80000001
    0054A601  |.  79 05         |jns     short 0054A608
    0054A603  |.  48            |dec     eax
    0054A604  |.  83C8 FE       |or      eax, FFFFFFFE
    0054A607  |.  40            |inc     eax
    0054A608  |>  85C0          |test    eax, eax
    0054A60A  |.  75 38         |jnz     short 0054A644
    0054A60C  |.  8D45 DC       |lea     eax, dword ptr [ebp-24]
    0054A60F  |.  8BD3          |mov     edx, ebx
    0054A611  |.  83C2 01       |add     edx, 1
    0054A614  |.  71 05         |jno     short 0054A61B
    0054A616  |.  E8 A193EBFF   |call    004039BC
    0054A61B  |>  8B4D F8       |mov     ecx, dword ptr [ebp-8]
    0054A61E  |.  4A            |dec     edx
    0054A61F  |.  85C9          |test    ecx, ecx
    0054A621  |.  74 05         |je      short 0054A628
    0054A623  |.  3B51 FC       |cmp     edx, dword ptr [ecx-4]
    0054A626  |.  72 05         |jb      short 0054A62D
    0054A628  |>  E8 8793EBFF   |call    004039B4
    0054A62D  |>  42            |inc     edx
    0054A62E  |.  8A5411 FF     |mov     dl, byte ptr [ecx+edx-1]        ;  取字符
    0054A632  |.  E8 7DA4EBFF   |call    00404AB4
    0054A637  |.  8B55 DC       |mov     edx, dword ptr [ebp-24]
    0054A63A  |.  8D45 F0       |lea     eax, dword ptr [ebp-10]
    0054A63D  |.  E8 62A5EBFF   |call    00404BA4
    0054A642  |.  EB 36         |jmp     short 0054A67A
    0054A644  |>  8D45 D8       |lea     eax, dword ptr [ebp-28]
    0054A647  |.  8BD3          |mov     edx, ebx
    0054A649  |.  83C2 01       |add     edx, 1
    0054A64C  |.  71 05         |jno     short 0054A653
    0054A64E  |.  E8 6993EBFF   |call    004039BC
    0054A653  |>  8B4D F8       |mov     ecx, dword ptr [ebp-8]
    0054A656  |.  4A            |dec     edx
    0054A657  |.  85C9          |test    ecx, ecx
    0054A659  |.  74 05         |je      short 0054A660
    0054A65B  |.  3B51 FC       |cmp     edx, dword ptr [ecx-4]
    0054A65E  |.  72 05         |jb      short 0054A665
    0054A660  |>  E8 4F93EBFF   |call    004039B4
    0054A665  |>  42            |inc     edx
    0054A666  |.  8A5411 FF     |mov     dl, byte ptr [ecx+edx-1]
    0054A66A  |.  E8 45A4EBFF   |call    00404AB4
    0054A66F  |.  8B55 D8       |mov     edx, dword ptr [ebp-28]
    0054A672  |.  8D45 F4       |lea     eax, dword ptr [ebp-C]
    0054A675  |.  E8 2AA5EBFF   |call    00404BA4
    0054A67A  |>  43            |inc     ebx
    0054A67B  |.  83FB 10       |cmp     ebx, 10
    0054A67E  |.^ 0F85 76FFFFFF \jnz     0054A5FA
    0054A684  |.  8D45 FC       lea     eax, dword ptr [ebp-4]
    0054A687  |.  E8 40A2EBFF   call    004048CC
    0054A68C  |.  33DB          xor     ebx, ebx
    0054A68E  |>  8D45 D4       /lea     eax, dword ptr [ebp-2C]
    0054A691  |.  BA 08000000   |mov     edx, 8
    0054A696  |.  2BD3          |sub     edx, ebx
    0054A698  |.  71 05         |jno     short 0054A69F
    0054A69A  |.  E8 1D93EBFF   |call    004039BC
    0054A69F  |>  8B4D F4       |mov     ecx, dword ptr [ebp-C]          ;  (ASCII "24624624")   上面循环过滤的结果
    0054A6A2  |.  4A            |dec     edx
    0054A6A3  |.  85C9          |test    ecx, ecx
    0054A6A5  |.  74 05         |je      short 0054A6AC
    0054A6A7  |.  3B51 FC       |cmp     edx, dword ptr [ecx-4]
    0054A6AA  |.  72 05         |jb      short 0054A6B1
    0054A6AC  |>  E8 0393EBFF   |call    004039B4
    0054A6B1  |>  42            |inc     edx
    0054A6B2  |.  8A5411 FF     |mov     dl, byte ptr [ecx+edx-1]
    0054A6B6  |.  E8 F9A3EBFF   |call    00404AB4
    0054A6BB  |.  8B55 D4       |mov     edx, dword ptr [ebp-2C]
    0054A6BE  |.  8D45 FC       |lea     eax, dword ptr [ebp-4]
    0054A6C1  |.  E8 DEA4EBFF   |call    00404BA4
    0054A6C6  |.  43            |inc     ebx
    0054A6C7  |.  83FB 08       |cmp     ebx, 8
    0054A6CA  |.^ 75 C2         \jnz     short 0054A68E                  ;  这两个循环我觉得没必要跟进
    0054A6CC  |.  8D55 D0       lea     edx, dword ptr [ebp-30]
    0054A6CF  |.  8B45 F0       mov     eax, dword ptr [ebp-10]          ;  "13513513"   上面循环过滤的结果
    0054A6D2  |.  E8 3DB8FFFF   call    00545F14                         ;  这个对得到上面的“13513513”,取它的MD5值
    0054A6D7  |.  8B55 D0       mov     edx, dword ptr [ebp-30]          ;  “50DAACD1190706850135441B2FD23047”这个就是MD5值
    0054A6DA  |.  8D45 F0       lea     eax, dword ptr [ebp-10]
    0054A6DD  |.  E8 82A2EBFF   call    00404964
    0054A6E2  |.  8D4D CC       lea     ecx, dword ptr [ebp-34]
    0054A6E5  |.  BA 08000000   mov     edx, 8                           ;  取8位数
    0054A6EA  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
    0054A6ED  |.  E8 AE3EEFFF   call    0043E5A0
    0054A6F2  |.  8B55 CC       mov     edx, dword ptr [ebp-34]          ;  从上面的字符串后面取得 "2FD23047"
    0054A6F5  |.  8D45 F0       lea     eax, dword ptr [ebp-10]
    0054A6F8  |.  E8 67A2EBFF   call    00404964                         ;  翻转刚才的“24624624”
    0054A6FD  |.  8B45 FC       mov     eax, dword ptr [ebp-4]           ;  "42642642"
    0054A700  |.  8B55 F0       mov     edx, dword ptr [ebp-10]          ;  和"2FD23047"比较,相等的话就注册成功了。终于搞定
    0054A703  |.  E8 E0A5EBFF   call    00404CE8                         ;  这个就是比较函数了,经典啊
    0054A708      75 05         jnz     short 0054A70F                   ;  不等的话就没了
    0054A70A  |.  83CE FF       or      esi, FFFFFFFF                    ;  注册成功标志。
    0054A70D  |.  EB 02         jmp     short 0054A711
    0054A70F  |>  33F6          xor     esi, esi
    0054A711  |>  33C0          xor     eax, eax



    【破解总结】
    ------------------------------------------------------------------------
    名:binbinbin
    码:ACM-123456-123456-1234

    要对照相应位置来讲。

    1、采用了MD5算法。

    2、首先,对输入的假码进行格式化,就是说,头三位要是“ACM”。然后就是检测分隔符“-”要有三个,具体位置好像没有限定的。再然后就

    是把那些分隔符去掉。

    3、去掉分隔符后,取得上面相应的“24624624”这些位数的位置的字符。

    4、然后取出相应的“13513513”这些位数的位置的字符。然后对这个字符串取MD5值。得到“50DAACD1190706850135441B2FD23047”

    5、先把输入的假码的“24624624”对应位置的字符倒过来,即是:“42642642”。然后取MD5值的最后8位:“2FD23047”和倒过来后的字符串

    一一比较。相等就成功。


    所以我们对应上面的输入信息可以得到相应真码:ACM-173450-13325D-1F32

    收工。


    录像在下面的U盘下载。

    [ 本帖最后由 binbinbin 于 2006-11-22 18:17 编辑 ]

    评分

    参与人数 1威望 +48 飘云币 +12 收起 理由
    易难为易 + 48 + 12

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-21 12:39:02 | 显示全部楼层
    楼主,做个动画吧,算法我看不懂.
      支持你!!!!!!!!!!!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2017-6-11 12:16
  • 签到天数: 10 天

    [LV.3]偶尔看看II

     楼主| 发表于 2006-11-21 18:00:12 | 显示全部楼层
    原帖由 qq500com 于 2006-11-21 12:39 发表
    楼主,做个动画吧,算法我看不懂.
      支持你!!!!!!!!!!!



    哈??这样都看不懂啊。??那好吧,今晚我弄个动画出来,来我的网络U盘等着
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-21 18:23:24 | 显示全部楼层
    学习,收藏!!支持!!!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-11-21 21:20:40 | 显示全部楼层
    收藏!!支持!!!!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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