[原创] XX复制专家算法分析

XX复制专家算法分析

【文章标题】: XX复制专家算法分析
【文章作者】: 小子贼野
【作者主页】: http://mayday.unpack.cn
【作者QQ号】: 你猜
【下载地址】: 自己搜索下载
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  004AE87C   .  55            push    ebp
  004AE87D   .  68 B4EE4A00   push    004AEEB4
  004AE882   .  64:FF30       push    dword ptr fs:[eax]
  004AE885   .  64:8920       mov     dword ptr fs:[eax], esp
  004AE888   .  8D55 C4       lea     edx, dword ptr [ebp-3C]
  004AE88B   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE88E   .  8B80 DC030000 mov     eax, dword ptr [eax+3DC]
  004AE894   .  E8 D7C9F9FF   call    0044B270
  004AE899   .  837D C4 00    cmp     dword ptr [ebp-3C], 0
  004AE89D   .  0F84 D6050000 je      004AEE79                         ;  1
  004AE8A3   .  8D55 C0       lea     edx, dword ptr [ebp-40]
  004AE8A6   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE8A9   .  8B80 E0030000 mov     eax, dword ptr [eax+3E0]
  004AE8AF   .  E8 BCC9F9FF   call    0044B270
  004AE8B4   .  837D C0 00    cmp     dword ptr [ebp-40], 0
  004AE8B8   .  0F84 BB050000 je      004AEE79                         ;  2
  004AE8BE   .  8D55 BC       lea     edx, dword ptr [ebp-44]
  004AE8C1   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE8C4   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AE8CA   .  E8 A1C9F9FF   call    0044B270
  004AE8CF   .  837D BC 00    cmp     dword ptr [ebp-44], 0
  004AE8D3   .  0F84 A0050000 je      004AEE79                         ;  3
  004AE8D9   .  8D55 B8       lea     edx, dword ptr [ebp-48]
  004AE8DC   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE8DF   .  8B80 E8030000 mov     eax, dword ptr [eax+3E8]
  004AE8E5   .  E8 86C9F9FF   call    0044B270
  004AE8EA   .  837D B8 00    cmp     dword ptr [ebp-48], 0
  004AE8EE   .  0F84 85050000 je      004AEE79                         ;  4
  004AE8F4   .  8D55 B4       lea     edx, dword ptr [ebp-4C]
  004AE8F7   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE8FA   .  8B80 EC030000 mov     eax, dword ptr [eax+3EC]
  004AE900   .  E8 6BC9F9FF   call    0044B270
  004AE905   .  837D B4 00    cmp     dword ptr [ebp-4C], 0
  004AE909   .  0F84 6A050000 je      004AEE79                         ;  5
  004AE90F   .  8D55 B0       lea     edx, dword ptr [ebp-50]          ;  以上的1~5就是说注册的那5个框不能是空的,要填喔
  004AE912   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE915   .  8B80 DC030000 mov     eax, dword ptr [eax+3DC]
  004AE91B   .  E8 50C9F9FF   call    0044B270
  004AE920   .  8B45 B0       mov     eax, dword ptr [ebp-50]
  004AE923   .  E8 ECAFF5FF   call    00409914
  004AE928   .  8945 F4       mov     dword ptr [ebp-C], eax
  004AE92B   .  8D55 AC       lea     edx, dword ptr [ebp-54]
  004AE92E   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE931   .  8B80 E0030000 mov     eax, dword ptr [eax+3E0]
  004AE937   .  E8 34C9F9FF   call    0044B270
  004AE93C   .  8B45 AC       mov     eax, dword ptr [ebp-54]
  004AE93F   .  E8 D0AFF5FF   call    00409914
  004AE944   .  8945 F0       mov     dword ptr [ebp-10], eax
  004AE947   .  8D55 A8       lea     edx, dword ptr [ebp-58]
  004AE94A   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE94D   .  8B80 E8030000 mov     eax, dword ptr [eax+3E8]
  004AE953   .  E8 18C9F9FF   call    0044B270
  004AE958   .  8B45 A8       mov     eax, dword ptr [ebp-58]
  004AE95B   .  E8 B4AFF5FF   call    00409914
  004AE960   .  8945 EC       mov     dword ptr [ebp-14], eax
  004AE963   .  8D55 A4       lea     edx, dword ptr [ebp-5C]
  004AE966   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE969   .  8B80 EC030000 mov     eax, dword ptr [eax+3EC]
  004AE96F   .  E8 FCC8F9FF   call    0044B270
  004AE974   .  8B45 A4       mov     eax, dword ptr [ebp-5C]
  004AE977   .  E8 98AFF5FF   call    00409914
  004AE97C   .  8945 E8       mov     dword ptr [ebp-18], eax
  004AE97F   .  33DB          xor     ebx, ebx
  004AE981   .  33F6          xor     esi, esi
  004AE983   .  8D55 A0       lea     edx, dword ptr [ebp-60]
  004AE986   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE989   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AE98F   .  E8 DCC8F9FF   call    0044B270
  004AE994   .  8B45 A0       mov     eax, dword ptr [ebp-60]
  004AE997   .  E8 78AFF5FF   call    00409914
  004AE99C   .  8BF8          mov     edi, eax
  004AE99E   .  81FF 60BD0000 cmp     edi, 0BD60
  004AE9A4   .  75 18         jnz     short 004AE9BE
  004AE9A6   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AE9AB   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AE9B0   .  E8 3364F5FF   call    00404DE8
  004AE9B5   .  75 07         jnz     short 004AE9BE
  004AE9B7   .  B3 01         mov     bl, 1
  004AE9B9   .  BE 60BD0000   mov     esi, 0BD60
  004AE9BE   >  81FF 52C10000 cmp     edi, 0C152
  004AE9C4   .  75 19         jnz     short 004AE9DF
  004AE9C6   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AE9CB   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AE9D1   .  E8 1264F5FF   call    00404DE8
  004AE9D6   .  75 07         jnz     short 004AE9DF
  004AE9D8   .  B3 01         mov     bl, 1
  004AE9DA   .  BE 52C10000   mov     esi, 0C152
  004AE9DF   >  8D55 9C       lea     edx, dword ptr [ebp-64]
  004AE9E2   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AE9E5   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AE9EB   .  E8 80C8F9FF   call    0044B270
  004AE9F0   .  8B45 9C       mov     eax, dword ptr [ebp-64]
  004AE9F3   .  E8 1CAFF5FF   call    00409914
  004AE9F8   .  8BF8          mov     edi, eax
  004AE9FA   .  81FF CA770100 cmp     edi, 177CA
  004AEA00   .  75 18         jnz     short 004AEA1A
  004AEA02   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AEA07   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AEA0C   .  E8 D763F5FF   call    00404DE8
  004AEA11   .  75 07         jnz     short 004AEA1A
  004AEA13   .  B3 01         mov     bl, 1
  004AEA15   .  BE CA770100   mov     esi, 177CA
  004AEA1A   >  81FF BC7B0100 cmp     edi, 17BBC
  004AEA20   .  75 19         jnz     short 004AEA3B
  004AEA22   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AEA27   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AEA2D   .  E8 B663F5FF   call    00404DE8
  004AEA32   .  75 07         jnz     short 004AEA3B
  004AEA34   .  B3 01         mov     bl, 1
  004AEA36   .  BE BC7B0100   mov     esi, 17BBC
  004AEA3B   >  8D55 98       lea     edx, dword ptr [ebp-68]
  004AEA3E   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AEA41   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AEA47   .  E8 24C8F9FF   call    0044B270
  004AEA4C   .  8B45 98       mov     eax, dword ptr [ebp-68]
  004AEA4F   .  E8 C0AEF5FF   call    00409914
  004AEA54   .  8BF8          mov     edi, eax
  004AEA56   .  81FF 01B50000 cmp     edi, 0B501
  004AEA5C   .  75 18         jnz     short 004AEA76
  004AEA5E   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AEA63   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AEA68   .  E8 7B63F5FF   call    00404DE8
  004AEA6D   .  75 07         jnz     short 004AEA76
  004AEA6F   .  B3 01         mov     bl, 1
  004AEA71   .  BE 01B50000   mov     esi, 0B501
  004AEA76   >  81FF F3B80000 cmp     edi, 0B8F3
  004AEA7C   .  75 19         jnz     short 004AEA97
  004AEA7E   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AEA83   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AEA89   .  E8 5A63F5FF   call    00404DE8
  004AEA8E   .  75 07         jnz     short 004AEA97
  004AEA90   .  B3 01         mov     bl, 1
  004AEA92   .  BE F3B80000   mov     esi, 0B8F3
  004AEA97   >  8D55 94       lea     edx, dword ptr [ebp-6C]
  004AEA9A   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AEA9D   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AEAA3   .  E8 C8C7F9FF   call    0044B270
  004AEAA8   .  8B45 94       mov     eax, dword ptr [ebp-6C]
  004AEAAB   .  E8 64AEF5FF   call    00409914
  004AEAB0   .  8BF8          mov     edi, eax
  004AEAB2   .  81FF 7B590000 cmp     edi, 597B
  004AEAB8   .  75 18         jnz     short 004AEAD2
  004AEABA   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AEABF   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AEAC4   .  E8 1F63F5FF   call    00404DE8
  004AEAC9   .  75 07         jnz     short 004AEAD2
  004AEACB   .  B3 01         mov     bl, 1
  004AEACD   .  BE 7B590000   mov     esi, 597B
  004AEAD2   >  81FF 6D5D0000 cmp     edi, 5D6D
  004AEAD8   .  75 19         jnz     short 004AEAF3
  004AEADA   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AEADF   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AEAE5   .  E8 FE62F5FF   call    00404DE8
  004AEAEA   .  75 07         jnz     short 004AEAF3
  004AEAEC   .  B3 01         mov     bl, 1
  004AEAEE   .  BE 6D5D0000   mov     esi, 5D6D
  004AEAF3   >  8D55 90       lea     edx, dword ptr [ebp-70]
  004AEAF6   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AEAF9   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AEAFF   .  E8 6CC7F9FF   call    0044B270
  004AEB04   .  8B45 90       mov     eax, dword ptr [ebp-70]
  004AEB07   .  E8 08AEF5FF   call    00409914
  004AEB0C   .  8BF8          mov     edi, eax
  004AEB0E   .  81FF 8F570000 cmp     edi, 578F
  004AEB14   .  75 18         jnz     short 004AEB2E
  004AEB16   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AEB1B   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AEB20   .  E8 C362F5FF   call    00404DE8
  004AEB25   .  75 07         jnz     short 004AEB2E
  004AEB27   .  B3 01         mov     bl, 1
  004AEB29   .  BE 8F570000   mov     esi, 578F
  004AEB2E   >  81FF 815B0000 cmp     edi, 5B81
  004AEB34   .  75 19         jnz     short 004AEB4F
  004AEB36   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AEB3B   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AEB41   .  E8 A262F5FF   call    00404DE8
  004AEB46   .  75 07         jnz     short 004AEB4F
  004AEB48   .  B3 01         mov     bl, 1
  004AEB4A   .  BE 815B0000   mov     esi, 5B81
  004AEB4F   >  8D55 8C       lea     edx, dword ptr [ebp-74]
  004AEB52   .  8B45 F8       mov     eax, dword ptr [ebp-8]
  004AEB55   .  8B80 E4030000 mov     eax, dword ptr [eax+3E4]
  004AEB5B   .  E8 10C7F9FF   call    0044B270
  004AEB60   .  8B45 8C       mov     eax, dword ptr [ebp-74]
  004AEB63   .  E8 ACADF5FF   call    00409914
  004AEB68   .  8BF8          mov     edi, eax
  004AEB6A   .  81FF 24D20000 cmp     edi, 0D224
  004AEB70   .  75 18         jnz     short 004AEB8A
  004AEB72   .  A1 88054D00   mov     eax, dword ptr [4D0588]
  004AEB77   .  BA CCEE4A00   mov     edx, 004AEECC                    ;  ASCII "en"
  004AEB7C   .  E8 6762F5FF   call    00404DE8
  004AEB81   .  75 07         jnz     short 004AEB8A
  004AEB83   .  B3 01         mov     bl, 1
  004AEB85   .  BE 24D20000   mov     esi, 0D224
  004AEB8A   >  81FF 16D60000 cmp     edi, 0D616
  004AEB90   .  75 19         jnz     short 004AEBAB
  004AEB92   .  B8 D8EE4A00   mov     eax, 004AEED8                    ;  ASCII "cn"
  004AEB97   .  8B15 88054D00 mov     edx, dword ptr [4D0588]
  004AEB9D   .  E8 4662F5FF   call    00404DE8
  004AEBA2   .  75 07         jnz     short 004AEBAB
  004AEBA4   .  B3 01         mov     bl, 1
  004AEBA6   .  BE 16D60000   mov     esi, 0D616
  004AEBAB   >  6A 02         push    2                                ; /Arg1 = 00000002
  004AEBAD   .  B9 01000000   mov     ecx, 1                           ; |
  004AEBB2   .  8B55 F0       mov     edx, dword ptr [ebp-10]          ; |
  004AEBB5   .  8B45 F4       mov     eax, dword ptr [ebp-C]           ; |
  004AEBB8   .  E8 93E8FFFF   call    004AD450                         ; \算法Call<1>
  004AEBBD   .  99            cdq
  004AEBBE   .  52            push    edx
  004AEBBF   .  50            push    eax
  004AEBC0   .  8B45 EC       mov     eax, dword ptr [ebp-14]
  004AEBC3   .  33D2          xor     edx, edx
  004AEBC5   .  3B5424 04     cmp     edx, dword ptr [esp+4]
  004AEBC9   .  75 03         jnz     short 004AEBCE
  004AEBCB   .  3B0424        cmp     eax, dword ptr [esp]
  004AEBCE   >  5A            pop     edx
  004AEBCF   .  58            pop     eax
  004AEBD0   .  0F85 A3020000 jnz     004AEE79                         ;  关键跳
  004AEBD6   .  6A 02         push    2                                ; /Arg1 = 00000002
  004AEBD8   .  B9 03000000   mov     ecx, 3                           ; |
  004AEBDD   .  8B55 F0       mov     edx, dword ptr [ebp-10]          ; |
  004AEBE0   .  8B45 F4       mov     eax, dword ptr [ebp-C]           ; |
  004AEBE3   .  E8 88E8FFFF   call    004AD470                         ; \算法Call<2>
  004AEBE8   .  99            cdq
  004AEBE9   .  52            push    edx
  004AEBEA   .  50            push    eax
  004AEBEB   .  8B45 E8       mov     eax, dword ptr [ebp-18]
  004AEBEE   .  33D2          xor     edx, edx
  004AEBF0   .  3B5424 04     cmp     edx, dword ptr [esp+4]
  
  以上代码是根据功能选择一个固定值,也就是注册码中的Sn3,也蛮重要的,比较好玩,但是有一个是通用的,哪个呢?
  看总结:)
  ************************************************************************************************************
  004AD450  /$  55            push    ebp
  004AD451  |.  8BEC          mov     ebp, esp
  004AD453  |.  8BC8          mov     ecx, eax
  004AD455  |.  8BC1          mov     eax, ecx
  004AD457  |.  B9 0A000000   mov     ecx, 0A                          ;  ECX=$A
  004AD45C  |.  99            cdq
  004AD45D  |.  F7F9          idiv    ecx                              ;  S=$A
  004AD45F  |.  8D04C0        lea     eax, dword ptr [eax+eax*8]       ;  EAX=EAX+EAX*8=EAX*9
  004AD462  |.  50            push    eax
  004AD463  |.  B8 9F860100   mov     eax, 1869F                       ;  $1869F
  004AD468  |.  5A            pop     edx
  004AD469  |.  2BC2          sub     eax, edx                         ;  $1869F-S
  004AD46B  |.  5D            pop     ebp
  004AD46C  \.  C2 0400       retn    4
  004AD46F      90            nop
  004AD470  /$  55            push    ebp
  004AD471  |.  8BEC          mov     ebp, esp
  004AD473  |.  8BCA          mov     ecx, edx
  004AD475  |.  8BC1          mov     eax, ecx
  004AD477  |.  B9 09000000   mov     ecx, 9                           ;  ECX=9
  004AD47C  |.  99            cdq
  004AD47D  |.  F7F9          idiv    ecx                              ;  第二组与9取余
  004AD47F  |.  03C0          add     eax, eax                         ;  EAX=EAX+EAX
  004AD481  |.  03C0          add     eax, eax                         ;  EAX=EAX+EAX
  004AD483  |.  03C0          add     eax, eax                         ;  EAX=EAX+EAX
  004AD485  |.  50            push    eax                              ;  上面那段相加的代码可以写为Z=EAX*8
  004AD486  |.  B8 9E860100   mov     eax, 1869E                       ;  $1869E
  004AD48B  |.  5A            pop     edx
  004AD48C  |.  2BC2          sub     eax, edx                         ;  $1869E-Z
  004AD48E  |.  5D            pop     ebp
  004AD48F  \.  C2 0400       retn    4
  **************************************************************************************************
  算法注册机源码:
复制内容到剪贴板
代码:
  var
    sn1,sn2,sn4,sn5:integer;
  begin
   sn1:=RandomRange(10000,99999);
   sn2:=RandomRange(10000,99999);
   sn4:=99999-(sn1 div 10)*9;
   sn5:=99998-(sn2 div 9)*8;
   Edit1.Text:=IntToStr(sn1)+'-'+inttostr(sn2)+'-'+'97212'+'-'+inttostr(sn4)+'-'+inttostr(sn5);
  end;
  
--------------------------------------------------------------------------------
【经验总结】
  此软件的注册方式比较好玩,功能也蛮多的,XX转换,XX复制什么的
  Sn3是根据它的软件的几种功能来选择的
  我发现他的主要还是XX复制,而且安装在桌面的快捷方式也是复制,所以就从复制下手,一看,97212通用,肯定是软件作者想设计个陷进欺负Cracker,但是却弄巧成拙了,哈哈

  最后,再感谢鹭影依凌兄弟,就是他,让我走了很多弯路,也让我更加细心,更有耐性,耐心……
  
  Cyg07老大,我喊你了,是你不在
--------------------------------------------------------------------------------
【版权声明】: 本文纯属, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2008年03月05日 23:39:01

TOP

多谢小子大哥分享,看起来挺好玩的!

按以上算法算了几个好玩的号,全部注册成功:

10000 - 20000 - 97212 - 90999 - 82222
22222 - 88888 - 97212 - 80001 - 20990         
33333 - 99999 - 97212 - 70002 - 11110

[ 本帖最后由零位空间论坛 kpjc 于 2008-3-6 01:49 编辑 ]

TOP

不错的破文,加入精华了。

感谢小子贼野分享。

TOP

引用:
原帖由 kpjc 于 2008-3-5 23:57 发表
多谢小子大哥分享,看起来挺好玩的!

按以上算法算了几个好玩的号,全部注册成功:

10000 - 20000 - 97212 - 90999 - 82222
22222 - 88888 - 97212 - 80001 - 20990         
33333 - 99999 - 97212 - 70002 ...
你咋知道是哪个软件的?

TOP

引用:
原帖由 小子贼野 于 2008-3-6 11:13 发表


你咋知道是哪个软件的?
这个软件我之前曾经试用过,个人感觉还是UltraISO+NERO好用些。

TOP

引用:
原帖由 小子贼野 于 2008-3-6 11:13 发表


你咋知道是哪个软件的?
地球人都知道啊

TOP

小子又到这来骗精华了。。。

TOP

:( 这些天心情很不好。
对不住小子兄了,本以为我是做沙发的。
好文章!支持!!!
[From The InterNet,For The InterNet.]

TOP

发新话题