首页
社区
课程
招聘
[原创]HTML to Image 2.0.2006.1001注册算法-MD5
发表于: 2006-11-20 20:01 7065

[原创]HTML to Image 2.0.2006.1001注册算法-MD5

2006-11-20 20:01
7065

【破文标题】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

收工。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
刚才看到有人说,看不懂这个算法。那么我想弄个视频。U盘。今晚
2006-11-21 18:01
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
3
最初由 binbinbin 发布
那么我想弄个视频。U盘。今晚


是准备分析一个软件,其和U盘有关?

如果是,不要是http://bbs.pediy.com/showthread.php?s=&threadid=769  第六点所列出的软件(详见:六. 关于目标软件问题 )
2006-11-21 20:08
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
4
最初由 kanxue 发布
是准备分析一个软件,其和U盘有关?

如果是,不要是http://bbs.pediy.com/showthread.php?s=&threadid=769 第六点所列出的软件(详见:六. 关于目标软件问题 )


不是不是。

是有个论坛的兄弟说看不懂这个软件(HTML to Image 2.0.2006.1001)的算法。

我为他做了这个软件全过程的视频动画,在我的网络U盘里。犯规的事情,NONO!
2006-11-21 21:40
0
雪    币: 172
活跃值: (212)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习学习,马上试着跟踪一下,感谢作者的分析!!!
2006-11-21 23:03
0
游客
登录 | 注册 方可回帖
返回
//