首页
社区
课程
招聘
破解 纵横工资管理系统 2006.8.1
发表于: 2006-8-18 18:56 4959

破解 纵横工资管理系统 2006.8.1

KAN 活跃值
6
2006-8-18 18:56
4959
【文章标题】: 破解 纵横工资管理系统 2006.8.1
【文章作者】: KAN-LI
【作者邮箱】: TOM8147@HOTMAIL.COM
【软件名称】: 纵横工资管理系统 2006.8.1
【软件大小】: 自己看属性
【下载地址】: http://www.onlinedown.net/soft/7281.htm
【加壳方式】: ASPack 2.12
【编写语言】: Borland Delphi 4.0 - 5.0
【使用工具】: OD PEID
【操作平台】: WINXP SP2
【作者声明】: 只是感兴趣,没有其他目的
--------------------------------------------------------------------------------
【详细过程】
  今天又下载了这个软件,分析了一下,这是最新的版本除了算法实在太长外,破解是很容易的贴上来为初学者(象我一样的菜鸟)一同学习
  OD 载入,手脱了 ASPack 的壳 ,启动软件(F9),找到注册地方随意输入用户名和注册码(12 位)
  
  lgjxj
  123456789012
  
  然后用万能断点断下,ALT+F9 返回,F8 跑了 N 多下,到下面
  
  0091111B   .  E8 70F3FFFF   CALL ZHYW_u.00910490                     ;  关键 CALL
  00911120   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
  00911123   .  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
  
  ―――――――――――――――――――――――――――――――――――――――――――――――――――
  F7 进入 0091111B 后到下面
  
  00910490  /$  55            PUSH EBP
  00910491  |.  8BEC          MOV EBP,ESP
  00910493  |.  83C4 E4       ADD ESP,-1C
  00910496  |.  53            PUSH EBX
  00910497  |.  56            PUSH ESI
  00910498  |.  57            PUSH EDI
  00910499  |.  33DB          XOR EBX,EBX
  0091049B  |.  895D F4       MOV DWORD PTR SS:[EBP-C],EBX
  0091049E  |.  895D F0       MOV DWORD PTR SS:[EBP-10],EBX
  009104A1  |.  895D EC       MOV DWORD PTR SS:[EBP-14],EBX
  009104A4  |.  8BF9          MOV EDI,ECX
  009104A6  |.  8955 F8       MOV DWORD PTR SS:[EBP-8],EDX
  009104A9  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX             ; 机器码
  009104AC  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
  009104AF  |.  E8 3C46AFFF   CALL ZHYW_u.00404AF0
  009104B4  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
  009104B7  |.  E8 3446AFFF   CALL ZHYW_u.00404AF0
  009104BC  |.  33C0          XOR EAX,EAX
  009104BE  |.  55            PUSH EBP
  009104BF  |.  68 62059100   PUSH ZHYW_u.00910562
  009104C4  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
  009104C7  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
  009104CA  |.  8D4D F0       LEA ECX,DWORD PTR SS:[EBP-10]
  009104CD  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
  009104D0  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
  009104D3  |.  E8 D4FDFFFF   CALL ZHYW_u.009102AC                     ;  关键 CALL,产生注册码
  009104D8  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
  009104DB  |.  E8 C041AFFF   CALL ZHYW_u.004046A0
  009104E0  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
  009104E3  |.  E8 5444AFFF   CALL ZHYW_u.0040493C
  009104E8  |.  8BD8          MOV EBX,EAX
  009104EA  |.  4B            DEC EBX
  009104EB  |.  85DB          TEST EBX,EBX
  009104ED  |.  7C 4E         JL SHORT ZHYW_u.0091053D
  009104EF  |.  43            INC EBX
  009104F0  |.  33F6          XOR ESI,ESI
  009104F2  |>  8D45 EC       /LEA EAX,DWORD PTR SS:[EBP-14]           ;  这个循环不是算注册码的,是提取注册码用
  009104F5  |.  50            |PUSH EAX                                ; /Arg1
  009104F6  |.  8B45 F0       |MOV EAX,DWORD PTR SS:[EBP-10]           ; |
  009104F9  |.  0FB60430      |MOVZX EAX,BYTE PTR DS:[EAX+ESI]         ; |
  009104FD  |.  8945 E4       |MOV DWORD PTR SS:[EBP-1C],EAX           ; |
  00910500  |.  C645 E8 00    |MOV BYTE PTR SS:[EBP-18],0              ; |
  00910504  |.  8D55 E4       |LEA EDX,DWORD PTR SS:[EBP-1C]           ; |
  00910507  |.  33C9          |XOR ECX,ECX                             ; |
  00910509  |.  B8 78059100   |MOV EAX,ZHYW_u.00910578                 ; |ASCII "%x"
  0091050E  |.  E8 55E1AFFF   |CALL ZHYW_u.0040E668                    ; \ZHYW_u.0040E668
  00910513  |.  8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]
  00910516  |.  E8 2144AFFF   |CALL ZHYW_u.0040493C
  0091051B  |.  48            |DEC EAX
  0091051C  |.  75 10         |JNZ SHORT ZHYW_u.0091052E
  0091051E  |.  8D45 EC       |LEA EAX,DWORD PTR SS:[EBP-14]
  00910521  |.  8B4D EC       |MOV ECX,DWORD PTR SS:[EBP-14]
  00910524  |.  BA 84059100   |MOV EDX,ZHYW_u.00910584
  00910529  |.  E8 5A44AFFF   |CALL ZHYW_u.00404988
  0091052E  |>  8D45 F4       |LEA EAX,DWORD PTR SS:[EBP-C]
  00910531  |.  8B55 EC       |MOV EDX,DWORD PTR SS:[EBP-14]
  00910534  |.  E8 0B44AFFF   |CALL ZHYW_u.00404944
  00910539  |.  46            |INC ESI
  0091053A  |.  4B            |DEC EBX
  0091053B  |.^ 75 B5         \JNZ SHORT ZHYW_u.009104F2
  0091053D  |>  8BC7          MOV EAX,EDI
  
  
  
  ――――――――――――――――――――――――――――――――――――――――――――――――――――――――
  F7 跟进 009104D3 后,省略 N 多代码 到下面
  
   
  0091034A  |.  E8 F545AFFF   |CALL ZHYW_u.00404944
  0091034F  |>  8B45 FC        MOV EAX,DWORD PTR SS:[EBP-4]            ;  机器码入 AX
  00910352  |.  E8 E545AFFF   |CALL ZHYW_u.0040493C
  00910357  |.  25 07000080   |AND EAX,80000007
  0091035C  |.  79 05         |JNS SHORT ZHYW_u.00910363
  0091035E  |.  48            |DEC EAX
  0091035F  |.  83C8 F8       |OR EAX,FFFFFFF8
  00910362  |.  40            |INC EAX
  00910363  |>  85C0          |TEST EAX,EAX
  00910365  |.^ 75 DB         \JNZ SHORT ZHYW_u.00910342
  00910367  |.  33DB          XOR EBX,EBX                              
  00910369  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]           
  0091036C  |>  8B55 F8       /MOV EDX,DWORD PTR SS:[EBP-8]            
  0091036F  |.  8A141A        |MOV DL,BYTE PTR DS:[EDX+EBX]
  00910372  |.  8810          |MOV BYTE PTR DS:[EAX],DL
  00910374  |.  43            |INC EBX
  00910375  |.  40            |INC EAX
  00910376  |.  83FB 08       |CMP EBX,8
  00910379  |.^ 75 F1         \JNZ SHORT ZHYW_u.0091036C
  0091037B  |.  6A 0F         PUSH 0F                                  ; /Arg1 = 0000000F
  0091037D  |.  B9 685E9500   MOV ECX,ZHYW_u.00955E68                  ; |
  00910382  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]            ; |
  00910385  |.  BA 07000000   MOV EDX,7                                ; |
  0091038A  |.  E8 EDFAFFFF   CALL ZHYW_u.0090FE7C                     ; \ZHYW_u.0090FE7C
  0091038F  |.  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
  00910392  |.  E8 0943AFFF   CALL ZHYW_u.004046A0
  00910397  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
  0091039A  |.  E8 9D45AFFF   CALL ZHYW_u.0040493C
  0091039F  |.  85C0          TEST EAX,EAX
  009103A1  |.  79 03         JNS SHORT ZHYW_u.009103A6
  009103A3  |.  83C0 07       ADD EAX,7
  009103A6  |>  C1F8 03       SAR EAX,3
  009103A9  |.  48            DEC EAX
  009103AA  |.  85C0          TEST EAX,EAX
  009103AC  |.  7C 65         JL SHORT ZHYW_u.00910413
  009103AE  |.  40            INC EAX
  009103AF  |.  8945 D0       MOV DWORD PTR SS:[EBP-30],EAX
  009103B2  |.  C745 D4 00000>MOV DWORD PTR SS:[EBP-2C],0
  009103B9  |>  33DB          /XOR EBX,EBX
  009103BB  |.  8D45 EC       |LEA EAX,DWORD PTR SS:[EBP-14]
  009103BE  |>  8B55 D4       |/MOV EDX,DWORD PTR SS:[EBP-2C]
  009103C1  |.  C1E2 03       ||SHL EDX,3
  009103C4  |.  03D3          ||ADD EDX,EBX
  009103C6  |.  8B4D FC       ||MOV ECX,DWORD PTR SS:[EBP-4]           
  009103C9  |.  8A1411        ||MOV DL,BYTE PTR DS:[ECX+EDX]
  009103CC  |.  8810          ||MOV BYTE PTR DS:[EAX],DL
  009103CE  |.  43            ||INC EBX
  009103CF  |.  40            ||INC EAX
  009103D0  |.  83FB 08       ||CMP EBX,8
  009103D3  |.^ 75 E9         |\JNZ SHORT ZHYW_u.009103BE
  009103D5  |.  8D45 E4       |LEA EAX,DWORD PTR SS:[EBP-1C]
  009103D8  |.  50            |PUSH EAX                                ; /Arg2
  009103D9  |.  6A 07         |PUSH 7                                  ; |Arg1 = 00000007
  009103DB  |.  8D55 EC       |LEA EDX,DWORD PTR SS:[EBP-14]           ; |
  009103DE  |.  B9 07000000   |MOV ECX,7                               ; |
  009103E3  |.  33C0          |XOR EAX,EAX                             ; |
  
  009103E5  |.  E8 EAFCFFFF   |CALL ZHYW_u.009100D4                    ; \完成算法在这里
  
  ――――――――――――――――――――――――――――――――――――――――――――――――――
   F7 进入 009103E5 后到下面,这个 CALL 的给作者玩得我够了 ,搞一大段算法,苦
  
  009100D4  /$  55            PUSH EBP
  009100D5  |.  8BEC          MOV EBP,ESP
  009100D7  |.  83C4 E8       ADD ESP,-18
  009100DA  |.  53            PUSH EBX
  009100DB  |.  56            PUSH ESI
  009100DC  |.  57            PUSH EDI
  009100DD  |.  8BD9          MOV EBX,ECX
  009100DF  |.  85DB          TEST EBX,EBX
  009100E1  |.  78 0A         JS SHORT ZHYW_u.009100ED
  009100E3  |.  C1EB 02       SHR EBX,2
  
  009100E6  |>  8B349A        /MOV ESI,DWORD PTR DS:[EDX+EBX*4]        ;  算法这里开始
  009100E9  |.  4B            |DEC EBX
  009100EA  |.  56            |PUSH ESI
  009100EB  |.^ 79 F9         \JNS SHORT ZHYW_u.009100E6
  009100ED  |>  8BD4          MOV EDX,ESP
  009100EF  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
  009100F2  |.  8BD8          MOV EBX,EAX
  009100F4  |.  C745 F8 08000>MOV DWORD PTR SS:[EBP-8],8
  009100FB  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
  009100FE  |.  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+C]
  00910101  |>  8A10          /MOV DL,BYTE PTR DS:[EAX]
  00910103  |.  8811          |MOV BYTE PTR DS:[ECX],DL
  00910105  |.  41            |INC ECX
  00910106  |.  40            |INC EAX
  00910107  |.  FF4D F8       |DEC DWORD PTR SS:[EBP-8]
  0091010A  |.^ 75 F5         \JNZ SHORT ZHYW_u.00910101
  0091010C  |.  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+C]
  0091010F  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
  00910112  |.  E8 81F9FFFF   CALL ZHYW_u.0090FA98                     ;  这个CALL把上面的计算结果又一次加工
  00910117  |.  84DB          TEST BL,BL
  00910119  |.  0F85 B5000000 JNZ ZHYW_u.009101D4
  0091011F  |.  C745 F8 10000>MOV DWORD PTR SS:[EBP-8],10
  00910126  |.  C745 EC 685E9>MOV DWORD PTR SS:[EBP-14],ZHYW_u.00955E6>
  
  
  
  0091012D  |>  B8 04000000   /MOV EAX,4                               ; 第二段 开始
  00910132  |.  8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+C]
  00910135  |.  8D75 F4       |LEA ESI,DWORD PTR SS:[EBP-C]
  00910138  |>  8A0A          |/MOV CL,BYTE PTR DS:[EDX]
  0091013A  |.  880E          ||MOV BYTE PTR DS:[ESI],CL
  0091013C  |.  46            ||INC ESI
  0091013D  |.  42            ||INC EDX
  0091013E  |.  48            ||DEC EAX
  0091013F  |.^ 75 F7         |\JNZ SHORT ZHYW_u.00910138
  00910141  |.  B8 04000000   |MOV EAX,4
  00910146  |.  8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+C]
  00910149  |.  83C2 04       |ADD EDX,4
  0091014C  |>  8A0A          |/MOV CL,BYTE PTR DS:[EDX]           
  0091014E  |.  884A FC       ||MOV BYTE PTR DS:[EDX-4],CL
  00910151  |.  42            ||INC EDX
  00910152  |.  48            ||DEC EAX
  00910153  |.^ 75 F7         |\JNZ SHORT ZHYW_u.0091014C
  00910155  |.  6A 05         |PUSH 5                                  ; /Arg3 = 00000005
  00910157  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]           ; |
  0091015A  |.  50            |PUSH EAX                                ; |Arg2
  0091015B  |.  6A 03         |PUSH 3                                  ; |Arg1 = 00000003
  0091015D  |.  8B45 EC       |MOV EAX,DWORD PTR SS:[EBP-14]           ; |
  00910160  |.  8BC8          |MOV ECX,EAX                             ; |
  00910162  |.  8B45 0C       |MOV EAX,DWORD PTR SS:[EBP+C]            ; |
  00910165  |.  8B55 08       |MOV EDX,DWORD PTR SS:[EBP+8]            ; |
  00910168  |.  E8 3FFEFFFF   |CALL ZHYW_u.0090FFAC                    ; \ZHYW_u.0090FFAC
  0091016D  |.  B8 04000000   |MOV EAX,4
  00910172  |.  8D55 F4       |LEA EDX,DWORD PTR SS:[EBP-C]
  00910175  |.  8D75 F0       |LEA ESI,DWORD PTR SS:[EBP-10]
  00910178  |.  8B4D 0C       |MOV ECX,DWORD PTR SS:[EBP+C]
  0091017B  |.  83C1 04       |ADD ECX,4
  0091017E  |>  8A1A          |/MOV BL,BYTE PTR DS:[EDX]
  00910180  |.  321E          ||XOR BL,BYTE PTR DS:[ESI]
  00910182  |.  8819          ||MOV BYTE PTR DS:[ECX],BL
  00910184  |.  41            ||INC ECX
  00910185  |.  46            ||INC ESI
  00910186  |.  42            ||INC EDX
  00910187  |.  48            ||DEC EAX
  00910188  |.^ 75 F4         |\JNZ SHORT ZHYW_u.0091017E     
  0091018A  |.  8345 EC 06    |ADD DWORD PTR SS:[EBP-14],6
  0091018E  |.  FF4D F8       |DEC DWORD PTR SS:[EBP-8]
  00910191  |.^ 75 9A         \JNZ SHORT ZHYW_u.0091012D               ;  跳回,这里循环 十多次,你说死了没有
  
  
  
  
  00910193  |.  B8 04000000   MOV EAX,4
  00910198  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
  0091019B  |.  83C2 04       ADD EDX,4
  0091019E  |.  8D4D F4       LEA ECX,DWORD PTR SS:[EBP-C]
  009101A1  |>  8A1A          /MOV BL,BYTE PTR DS:[EDX]
  009101A3  |.  8819          |MOV BYTE PTR DS:[ECX],BL
  009101A5  |.  41            |INC ECX
  009101A6  |.  42            |INC EDX
  009101A7  |.  48            |DEC EAX
  009101A8  |.^ 75 F7         \JNZ SHORT ZHYW_u.009101A1
  009101AA  |.  B8 04000000   MOV EAX,4
  009101AF  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
  009101B2  |>  8A0A          /MOV CL,BYTE PTR DS:[EDX]
  009101B4  |.  884A 04       |MOV BYTE PTR DS:[EDX+4],CL
  009101B7  |.  42            |INC EDX
  009101B8  |.  48            |DEC EAX
  009101B9  |.^ 75 F7         \JNZ SHORT ZHYW_u.009101B2
  009101BB  |.  B8 04000000   MOV EAX,4
  009101C0  |.  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
  009101C3  |.  8B4D 0C       MOV ECX,DWORD PTR SS:[EBP+C]
  009101C6  |>  8A1A          /MOV BL,BYTE PTR DS:[EDX]
  009101C8  |.  8819          |MOV BYTE PTR DS:[ECX],BL
  009101CA  |.  41            |INC ECX
  009101CB  |.  42            |INC EDX
  009101CC  |.  48            |DEC EAX
  009101CD  |.^ 75 F7         \JNZ SHORT ZHYW_u.009101C6
  009101CF  |.  E9 BB000000   JMP ZHYW_u.0091028F
  009101D4  |>  80FB 01       CMP BL,1
  009101D7  |.  0F85 B2000000 JNZ ZHYW_u.0091028F
  009101DD  |.  C745 F8 F0FFF>MOV DWORD PTR SS:[EBP-8],-10
  009101E4  |.  BB C25E9500   MOV EBX,ZHYW_u.00955EC2
  009101E9  |>  B8 04000000   /MOV EAX,4
  009101EE  |.  8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+C]
  009101F1  |.  8D75 F4       |LEA ESI,DWORD PTR SS:[EBP-C]
  009101F4  |>  8A0A          |/MOV CL,BYTE PTR DS:[EDX]
  009101F6  |.  880E          ||MOV BYTE PTR DS:[ESI],CL
  009101F8  |.  46            ||INC ESI
  009101F9  |.  42            ||INC EDX
  009101FA  |.  48            ||DEC EAX
  009101FB  |.^ 75 F7         |\JNZ SHORT ZHYW_u.009101F4
  009101FD  |.  B8 04000000   |MOV EAX,4
  00910202  |.  8B55 0C       |MOV EDX,DWORD PTR SS:[EBP+C]
  00910205  |.  83C2 04       |ADD EDX,4
  00910208  |>  8A0A          |/MOV CL,BYTE PTR DS:[EDX]
  0091020A  |.  884A FC       ||MOV BYTE PTR DS:[EDX-4],CL
  0091020D  |.  42            ||INC EDX
  0091020E  |.  48            ||DEC EAX
  0091020F  |.^ 75 F7         |\JNZ SHORT ZHYW_u.00910208
  00910211  |.  6A 05         |PUSH 5                                  ; /Arg3 = 00000005
  00910213  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]           ; |
  00910216  |.  50            |PUSH EAX                                ; |Arg2
  00910217  |.  6A 03         |PUSH 3                                  ; |Arg1 = 00000003
  00910219  |.  8BCB          |MOV ECX,EBX                             ; |
  0091021B  |.  8B45 0C       |MOV EAX,DWORD PTR SS:[EBP+C]            ; |
  0091021E  |.  8B55 08       |MOV EDX,DWORD PTR SS:[EBP+8]            ; |
  00910221  |.  E8 86FDFFFF   |CALL ZHYW_u.0090FFAC                    ; \ZHYW_u.0090FFAC
  00910226  |.  B8 04000000   |MOV EAX,4
  0091022B  |.  8D55 F4       |LEA EDX,DWORD PTR SS:[EBP-C]
  0091022E  |.  8D75 F0       |LEA ESI,DWORD PTR SS:[EBP-10]
  00910231  |.  8B4D 0C       |MOV ECX,DWORD PTR SS:[EBP+C]
  00910234  |.  83C1 04       |ADD ECX,4
  00910237  |.  894D E8       |MOV DWORD PTR SS:[EBP-18],ECX
  0091023A  |>  8A0A          |/MOV CL,BYTE PTR DS:[EDX]
  0091023C  |.  320E          ||XOR CL,BYTE PTR DS:[ESI]
  0091023E  |.  8B7D E8       ||MOV EDI,DWORD PTR SS:[EBP-18]
  00910241  |.  880F          ||MOV BYTE PTR DS:[EDI],CL
  00910243  |.  FF45 E8       ||INC DWORD PTR SS:[EBP-18]
  00910246  |.  46            ||INC ESI
  00910247  |.  42            ||INC EDX
  00910248  |.  48            ||DEC EAX
  00910249  |.^ 75 EF         |\JNZ SHORT ZHYW_u.0091023A
  0091024B  |.  83EB 06       |SUB EBX,6
  0091024E  |.  FF45 F8       |INC DWORD PTR SS:[EBP-8]
  00910251  |.^ 75 96         \JNZ SHORT ZHYW_u.009101E9
  00910253  |.  B8 04000000   MOV EAX,4
  00910258  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
  0091025B  |.  83C2 04       ADD EDX,4
  0091025E  |.  8D5D F4       LEA EBX,DWORD PTR SS:[EBP-C]
  00910261  |>  8A0A          /MOV CL,BYTE PTR DS:[EDX]
  00910263  |.  880B          |MOV BYTE PTR DS:[EBX],CL
  00910265  |.  43            |INC EBX
  00910266  |.  42            |INC EDX
  00910267  |.  48            |DEC EAX
  00910268  |.^ 75 F7         \JNZ SHORT ZHYW_u.00910261
  0091026A  |.  B8 04000000   MOV EAX,4
  0091026F  |.  8B5D 0C       MOV EBX,DWORD PTR SS:[EBP+C]
  00910272  |>  8A13          /MOV DL,BYTE PTR DS:[EBX]
  00910274  |.  8853 04       |MOV BYTE PTR DS:[EBX+4],DL
  00910277  |.  43            |INC EBX
  00910278  |.  48            |DEC EAX
  00910279  |.^ 75 F7         \JNZ SHORT ZHYW_u.00910272
  0091027B  |.  B8 04000000   MOV EAX,4
  00910280  |.  8D5D F4       LEA EBX,DWORD PTR SS:[EBP-C]
  00910283  |.  8B55 0C       MOV EDX,DWORD PTR SS:[EBP+C]
  00910286  |>  8A0B          /MOV CL,BYTE PTR DS:[EBX]
  00910288  |.  880A          |MOV BYTE PTR DS:[EDX],CL
  0091028A  |.  42            |INC EDX
  0091028B  |.  43            |INC EBX
  0091028C  |.  48            |DEC EAX
  0091028D  |.^ 75 F7         \JNZ SHORT ZHYW_u.00910286
  0091028F  |>  8B45 0C       MOV EAX,DWORD PTR SS:[EBP+C]
  00910292  |.  8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
  
  00910295  |.  E8 82F8FFFF   CALL ZHYW_u.0090FB1C              ;  这个CALL,里面才是最后计算
  
  0091029A  |.  8B7D DC       MOV EDI,DWORD PTR SS:[EBP-24]
  0091029D  |.  8B75 E0       MOV ESI,DWORD PTR SS:[EBP-20]
  009102A0  |.  8B5D E4       MOV EBX,DWORD PTR SS:[EBP-1C]
  009102A3  |.  8BE5          MOV ESP,EBP
  009102A5  |.  5D            POP EBP
  009102A6  \.  C2 0800       RETN 8
  
                                                ;上面几乎全是计算部分,循环多啊,这样的软件你说,救命
  
  ―――――――――――――――――――――――――――――――――――――――――――――――――――――
  F7 入 00910295,进了一层又一层的 机关,总算到位了
  
  0090FB2D  |.  E8 8638AFFF   CALL ZHYW_u.004033B8                     ;  这个CALL 清空指定内存空间
  0090FB32  |.  33D2          XOR EDX,EDX
  0090FB34  |.  B8 A00A9500   MOV EAX,ZHYW_u.00950AA0
  
  
  0090FB39  |>  8A18          /MOV BL,BYTE PTR DS:[EAX]                ;注册码就是这个循环产生的
  0090FB3B  |.  8BCB          |MOV ECX,EBX
  0090FB3D  |.  80E1 07       |AND CL,7
  0090FB40  |.  81E1 FF000000 |AND ECX,0FF
  0090FB46  |.  51            |PUSH ECX
  0090FB47  |.  B9 07000000   |MOV ECX,7
  0090FB4C  |.  5F            |POP EDI
  0090FB4D  |.  2BCF          |SUB ECX,EDI
  0090FB4F  |.  BF 01000000   |MOV EDI,1
  0090FB54  |.  D3E7          |SHL EDI,CL
  0090FB56  |.  33C9          |XOR ECX,ECX
  0090FB58  |.  8ACB          |MOV CL,BL
  0090FB5A  |.  C1E9 03       |SHR ECX,3
  0090FB5D  |.  0FB60C0E      |MOVZX ECX,BYTE PTR DS:[ESI+ECX]
  0090FB61  |.  23F9          |AND EDI,ECX
  0090FB63  |.  74 1A         |JE SHORT ZHYW_u.0090FB7F
  0090FB65  |.  8BCA          |MOV ECX,EDX
  0090FB67  |.  83E1 07       |AND ECX,7
  0090FB6A  |.  51            |PUSH ECX
  0090FB6B  |.  B9 07000000   |MOV ECX,7
  0090FB70  |.  5B            |POP EBX
  0090FB71  |.  2BCB          |SUB ECX,EBX
  0090FB73  |.  B3 01         |MOV BL,1
  0090FB75  |.  D2E3          |SHL BL,CL
  0090FB77  |.  8BCA          |MOV ECX,EDX
  0090FB79  |.  C1E9 03       |SHR ECX,3
  0090FB7C  |.  081C0C        |OR BYTE PTR SS:[ESP+ECX],BL
  0090FB7F  |>  42            |INC EDX
  0090FB80  |.  40            |INC EAX
  0090FB81  |.  83FA 40       |CMP EDX,40                          ;共要循环 64 次,晕死
  0090FB84  |.^ 75 B3         \JNZ SHORT ZHYW_u.0090FB39           ;跳回
                                                                   ;
  0090FB86  |.  BA 08000000   MOV EDX,8
  0090FB8B  |.  8BC4          MOV EAX,ESP
  0090FB8D  |.  8BCE          MOV ECX,ESI
  
  0090FB8F  |>  8A18          /MOV BL,BYTE PTR DS:[EAX]  ;这个循环是提取结果送入指定的内存
  0090FB91  |.  8819          |MOV BYTE PTR DS:[ECX],BL
  0090FB93  |.  41            |INC ECX
  0090FB94  |.  40            |INC EAX
  0090FB95  |.  4A            |DEC EDX
  0090FB96  |.^ 75 F7         \JNZ SHORT ZHYW_u.0090FB8F
  
  
  
  
--------------------------------------------------------------------------------
【经验总结】
  1:算法跟用户名无关,只认 机器码
  
  2:首先经过 009103E5 CALL 计算出第一步 ,把结果保存(这里的计算长啊 。。。。。。。。。。)
  
  3:进入 00910295 CALL ,把上面的结果 ,作为参数,作运算(循环 64 次,晕了),产生最终 注册码
  
  4:经过 2 步运算,(命苦啊),太长了实在没法,现在的破文真的难写(我菜的缘故)
  
  内存注册机:
  
  中断地址:910542
  中断次数:1
  第一字节:E8
  指令长度:5
  内存方式:寄存器 EDX
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2006年08月18日 18:44:38

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呵呵 沙发....
2006-8-18 19:43
0
雪    币: 205
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
呵呵,板凳
2006-8-18 20:21
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
不错,谢谢分享啊,哈哈.
2006-8-19 09:09
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册