首页
社区
课程
招聘
佳宜销售管理软件 1.67 企业版算法分析[原创]
发表于: 2006-8-24 13:12 3327

佳宜销售管理软件 1.67 企业版算法分析[原创]

2006-8-24 13:12
3327
【破文标题】佳宜销售管理软件 1.67 企业版算法分析(软件更新时间8月23日)
【破文作者】学习破解(辉)
【作者邮箱】wxh9833@163.com
【作者主页】wxh9833
【破解工具】PEiD,,OD
【破解平台】Windows 2K&XP
【软件名称】佳宜销售管理软件1.67
【软件大小】3.66M
【原版下载】http://www.newhua.com/soft/39873.htm
【保护方式】无壳
【软件简介】
一、适应对象:
   本软件提供了完备的销售业务管理功能,包括销售管理(销售订单、销售出货、销售退货、收款登记)、基本信息(公司基本资料、客户资料、货品资料、员工档案、其他基础设置)、单据查询(订货单查询、收货单查询、付款单查询)、系统维护(操作权限、数据备份及恢复、数据压缩、数据清理)等功能。
二、软件特点:
   1。导航式的界面
   2。高效强大的查询工具
   3。稳定安全的数据库
   4。完全的网络化操作
   5。开放式的打印设置
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【破解声明】请各位指教!!!:)
------------------------------------------------------------------------
  一、PEID查壳,为Borland Delphi 6.0 - 7.0

  二、运行软件,注册,有错误提示:“系统注册失败,请检查注册是不明有误”OD载入,查找字符串。

  特别提示:(分析程序要来到程序入口的地方)

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
005E093B   .  51            PUSH ECX                                 ;  注册程序的入口,下断在这里!!!!
005E093C   .  53            PUSH EBX
005E093D   .  56            PUSH ESI
005E093E   .  57            PUSH EDI
005E093F   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
005E0942   .  33C0          XOR EAX,EAX
005E0944   .  55            PUSH EBP
005E0945   .  68 AA0B5E00   PUSH saleMan.005E0BAA
005E094A   .  64:FF30       PUSH DWORD PTR FS:[EAX]
005E094D   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
005E0950   .  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
005E0953   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0956   .  8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
005E095C   .  E8 1BE0E6FF   CALL saleMan.0044E97C
005E0961   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
005E0964   .  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]             ;  这里是我们输入的用户名!!!!
005E0967   .  E8 108DE2FF   CALL saleMan.0040967C
005E096C   .  837D F4 00    CMP DWORD PTR SS:[EBP-C],0               ;  这个是用户名的位数与0比较,等于就死了.
005E0970   .  75 22         JNZ SHORT saleMan.005E0994
005E0972   .  6A 00         PUSH 0
005E0974   .  68 B80B5E00   PUSH saleMan.005E0BB8                    ;  请填写用户名称!
005E0979   .  E8 0E00FFFF   CALL <JMP.&PunUnitLib.ShowMess>
005E097E   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0981   .  8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
005E0987   .  8B10          MOV EDX,DWORD PTR DS:[EAX]
005E0989   .  FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
005E098F   .  E9 B1010000   JMP saleMan.005E0B45
005E0994   >  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
005E0997   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E099A   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005E09A0   .  E8 D7DFE6FF   CALL saleMan.0044E97C
005E09A5   .  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]            ;  这是我们输入的假授权号!!!(123456789)
005E09A8   .  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
005E09AB   .  E8 CC8CE2FF   CALL saleMan.0040967C
005E09B0   .  837D EC 00    CMP DWORD PTR SS:[EBP-14],0              ;  授权号与0比较,不等于0就往下走,等于就死。
005E09B4   .  75 22         JNZ SHORT saleMan.005E09D8
005E09B6   .  6A 00         PUSH 0
005E09B8   .  68 CC0B5E00   PUSH saleMan.005E0BCC                    ;  授权号不能为空,请填写授权号!
005E09BD   .  E8 CAFFFEFF   CALL <JMP.&PunUnitLib.ShowMess>
005E09C2   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E09C5   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005E09CB   .  8B10          MOV EDX,DWORD PTR DS:[EAX]
005E09CD   .  FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
005E09D3   .  E9 6D010000   JMP saleMan.005E0B45
005E09D8   >  A1 E8856400   MOV EAX,DWORD PTR DS:[6485E8]
005E09DD   .  8B00          MOV EAX,DWORD PTR DS:[EAX]               ;  看这里是一组预码!!(C26D-Q638)
005E09DF   .  E8 5845E2FF   CALL saleMan.00404F3C
005E09E4   .  50            PUSH EAX
005E09E5   .  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
005E09E8   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  C26D-Q638放EAX中。
005E09EB   .  8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
005E09F1   .  E8 86DFE6FF   CALL saleMan.0044E97C
005E09F6   .  8B45 E4       MOV EAX,DWORD PTR SS:[EBP-1C]            ;  取注册代码号,进行运行
005E09F9   .  E8 3E45E2FF   CALL saleMan.00404F3C
005E09FE   .  50            PUSH EAX
005E09FF   .  E8 B8FFFEFF   CALL <JMP.&PunUnitLib.GetRegPass>        ;  关键算法CALL   要F7跟进!!!
005E0A04   .  8BD0          MOV EDX,EAX                              ;  这里是真的注册码放在EAX中,并传送到EDX中。
005E0A06   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
005E0A09   .  E8 6E42E2FF   CALL saleMan.00404C7C
005E0A0E   .  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
005E0A11   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0A14   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005E0A1A   .  E8 5DDFE6FF   CALL saleMan.0044E97C
005E0A1F   .  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]            ;  这里是我们输入的假注册码!!!!
005E0A22   .  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
005E0A25   .  E8 528CE2FF   CALL saleMan.0040967C
005E0A2A   .  8B45 E0       MOV EAX,DWORD PTR SS:[EBP-20]            ;  这里是我们输入的假注册码!!!!
005E0A2D   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  真码!!
005E0A30   .  E8 5344E2FF   CALL saleMan.00404E88                    ;  比较CALL,不等就结束了。
005E0A35   .  0F85 FE000000 JNZ saleMan.005E0B39                     ;  爆破点。
005E0A3B   .  33C0          XOR EAX,EAX
005E0A3D   .  55            PUSH EBP
005E0A3E   .  68 250B5E00   PUSH saleMan.005E0B25
005E0A43   .  64:FF30       PUSH DWORD PTR FS:[EAX]
005E0A46   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
005E0A49   .  B2 01         MOV DL,1
005E0A4B   .  A1 A0294700   MOV EAX,DWORD PTR DS:[4729A0]
005E0A50   .  E8 B720E9FF   CALL saleMan.00472B0C
005E0A55   .  8BD8          MOV EBX,EAX
005E0A57   .  BA 02000080   MOV EDX,80000002
005E0A5C   .  8BC3          MOV EAX,EBX
005E0A5E   .  E8 8521E9FF   CALL saleMan.00472BE8
005E0A63   .  B1 01         MOV CL,1
005E0A65   .  8B15 70796400 MOV EDX,DWORD PTR DS:[647970]            ;  saleMan.005E088C
005E0A6B   .  8BC3          MOV EAX,EBX
005E0A6D   .  E8 BA22E9FF   CALL saleMan.00472D2C
005E0A72   .  8D55 D8       LEA EDX,DWORD PTR SS:[EBP-28]
005E0A75   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0A78   .  8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
005E0A7E   .  E8 F9DEE6FF   CALL saleMan.0044E97C
005E0A83   .  8B4D D8       MOV ECX,DWORD PTR SS:[EBP-28]
005E0A86   .  BA F40B5E00   MOV EDX,saleMan.005E0BF4                 ;  username
005E0A8B   .  8BC3          MOV EAX,EBX
005E0A8D   .  E8 3624E9FF   CALL saleMan.00472EC8
005E0A92   .  8D55 D0       LEA EDX,DWORD PTR SS:[EBP-30]
005E0A95   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0A98   .  8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
005E0A9E   .  E8 D9DEE6FF   CALL saleMan.0044E97C
005E0AA3   .  8B45 D0       MOV EAX,DWORD PTR SS:[EBP-30]
005E0AA6   .  E8 9144E2FF   CALL saleMan.00404F3C
005E0AAB   .  50            PUSH EAX
005E0AAC   .  E8 03FFFEFF   CALL <JMP.&PunUnitLib.SavePass>
005E0AB1   .  8BD0          MOV EDX,EAX
005E0AB3   .  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
005E0AB6   .  E8 C141E2FF   CALL saleMan.00404C7C
005E0ABB   .  8B4D D4       MOV ECX,DWORD PTR SS:[EBP-2C]
005E0ABE   .  BA 080C5E00   MOV EDX,saleMan.005E0C08                 ;  signcode
005E0AC3   .  8BC3          MOV EAX,EBX
005E0AC5   .  E8 FE23E9FF   CALL saleMan.00472EC8
005E0ACA   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
005E0ACD   .  E8 6A44E2FF   CALL saleMan.00404F3C
005E0AD2   .  50            PUSH EAX
005E0AD3   .  E8 DCFEFEFF   CALL <JMP.&PunUnitLib.SavePass>
005E0AD8   .  8BD0          MOV EDX,EAX
005E0ADA   .  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
005E0ADD   .  E8 9A41E2FF   CALL saleMan.00404C7C
005E0AE2   .  8B4D CC       MOV ECX,DWORD PTR SS:[EBP-34]
005E0AE5   .  BA 1C0C5E00   MOV EDX,saleMan.005E0C1C                 ;  regcode
005E0AEA   .  8BC3          MOV EAX,EBX
005E0AEC   .  E8 D723E9FF   CALL saleMan.00472EC8
005E0AF1   .  8BC3          MOV EAX,EBX
005E0AF3   .  E8 2431E2FF   CALL saleMan.00403C1C
005E0AF8   .  6A 00         PUSH 0
005E0AFA   .  68 240C5E00   PUSH saleMan.005E0C24                    ;  系统注册成功,欢迎你使用本软件!
005E0AFF   .  E8 88FEFEFF   CALL <JMP.&PunUnitLib.ShowMess>
005E0B04   .  A1 E4856400   MOV EAX,DWORD PTR DS:[6485E4]
005E0B09   .  C700 02000000 MOV DWORD PTR DS:[EAX],2
005E0B0F   .  A1 90836400   MOV EAX,DWORD PTR DS:[648390]
005E0B14   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
005E0B16   .  E8 5DFAE8FF   CALL saleMan.00470578
005E0B1B   .  33C0          XOR EAX,EAX
005E0B1D   .  5A            POP EDX
005E0B1E   .  59            POP ECX
005E0B1F   .  59            POP ECX
005E0B20   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
005E0B23   .  EB 20         JMP SHORT saleMan.005E0B45
005E0B25   .^ E9 D235E2FF   JMP saleMan.004040FC
005E0B2A   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
005E0B2D   .  E8 96C1E8FF   CALL saleMan.0046CCC8
005E0B32   .  E8 F139E2FF   CALL saleMan.00404528
005E0B37   .  EB 0C         JMP SHORT saleMan.005E0B45
005E0B39   >  6A 03         PUSH 3
005E0B3B   .  68 480C5E00   PUSH saleMan.005E0C48                    ;  系统注册失败,请检查注册是否有误!
005E0B40   .  E8 47FEFEFF   CALL <JMP.&PunUnitLib.ShowMess>          ;  这里是程序报错的地方!!!
005E0B45   >  33C0          XOR EAX,EAX
005E0B47   .  5A            POP EDX
005E0B48   .  59            POP ECX
005E0B49   .  59            POP ECX
005E0B4A   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
005E0B4D   .  68 B10B5E00   PUSH saleMan.005E0BB1
005E0B52   >  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
005E0B55   .  E8 323FE2FF   CALL saleMan.00404A8C
005E0B5A   .  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
005E0B5D   .  E8 2A3FE2FF   CALL saleMan.00404A8C
005E0B62   .  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
005E0B65   .  E8 223FE2FF   CALL saleMan.00404A8C
005E0B6A   .  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
005E0B6D   .  BA 02000000   MOV EDX,2
005E0B72   .  E8 393FE2FF   CALL saleMan.00404AB0
005E0B77   .  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
005E0B7A   .  E8 0D3FE2FF   CALL saleMan.00404A8C
005E0B7F   .  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
005E0B82   .  BA 02000000   MOV EDX,2
005E0B87   >  E8 243FE2FF   CALL saleMan.00404AB0
005E0B8C   .  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
005E0B8F   .  E8 F83EE2FF   CALL saleMan.00404A8C
005E0B94   .  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
005E0B97   .  E8 F03EE2FF   CALL saleMan.00404A8C
005E0B9C   .  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
005E0B9F   .  BA 02000000   MOV EDX,2
005E0BA4   .  E8 073FE2FF   CALL saleMan.00404AB0
005E0BA9   .  C3            RETN
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

算法CALL部分跟进

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
003E9024 >  55              PUSH EBP
003E9025    8BEC            MOV EBP,ESP
003E9027    B9 06000000     MOV ECX,6
003E902C    6A 00           PUSH 0
003E902E    6A 00           PUSH 0
003E9030    49              DEC ECX
003E9031  ^ 75 F9           JNZ SHORT PunUnitL.003E902C
003E9033    53              PUSH EBX
003E9034    56              PUSH ESI
003E9035    33C0            XOR EAX,EAX
003E9037    55              PUSH EBP
003E9038    68 F2913E00     PUSH PunUnitL.003E91F2
003E903D    64:FF30         PUSH DWORD PTR FS:[EAX]
003E9040    64:8920         MOV DWORD PTR FS:[EAX],ESP
003E9043    8D45 EC         LEA EAX,DWORD PTR SS:[EBP-14]
003E9046    E8 65B5F8FF     CALL PunUnitL.003745B0
003E904B    8D45 F0         LEA EAX,DWORD PTR SS:[EBP-10]
003E904E    8B55 08         MOV EDX,DWORD PTR SS:[EBP+8]             ; 取产品编号放入EDX中。
003E9051    E8 4AB7F8FF     CALL PunUnitL.003747A0
003E9056    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]            ; 取产品编号放入EAX中。
003E9059    E8 0AB8F8FF     CALL PunUnitL.00374868
003E905E    8BF0            MOV ESI,EAX                              ; 取产品编号的位数放入EAX中。
003E9060    85F6            TEST ESI,ESI
003E9062    7E 26           JLE SHORT PunUnitL.003E908A
003E9064    BB 01000000     MOV EBX,1                                ; 这里把EBX设置为1为了下面的运算!!!
003E9069    8D4D E8         LEA ECX,DWORD PTR SS:[EBP-18]
003E906C    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]            ; 产品编号放EAX中!!!!!
003E906F    0FB64418 FF     MOVZX EAX,BYTE PTR DS:[EAX+EBX-1]        ; 逐位产品编号的ASCII码进行并排连接。
003E9074    33D2            XOR EDX,EDX
003E9076    E8 F905F9FF     CALL PunUnitL.00379674
003E907B    8B55 E8         MOV EDX,DWORD PTR SS:[EBP-18]
003E907E    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
003E9081    E8 EAB7F8FF     CALL PunUnitL.00374870
003E9086    43              INC EBX
003E9087    4E              DEC ESI
003E9088  ^ 75 DF           JNZ SHORT PunUnitL.003E9069              ; 如果没有取完就跳回重新取!!!!
003E908A    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; 把取到的产品编号的ASCII并排放入EAX中。
003E908D    E8 D6B7F8FF     CALL PunUnitL.00374868
003E9092    8BF0            MOV ESI,EAX
003E9094    85F6            TEST ESI,ESI
003E9096    7E 2C           JLE SHORT PunUnitL.003E90C4
003E9098    BB 01000000     MOV EBX,1
003E909D    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; 产品编号ASCII放EAX
003E90A0    E8 C3B7F8FF     CALL PunUnitL.00374868
003E90A5    2BC3            SUB EAX,EBX
003E90A7    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]             ; 产品编号ASCII码并连放EDX中。
003E90AA    8A1402          MOV DL,BYTE PTR DS:[EDX+EAX]             ; 逐位取产品编号的ASCII码进行取反操作。
003E90AD    8D45 E4         LEA EAX,DWORD PTR SS:[EBP-1C]
003E90B0    E8 DBB6F8FF     CALL PunUnitL.00374790
003E90B5    8B55 E4         MOV EDX,DWORD PTR SS:[EBP-1C]
003E90B8    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
003E90BB    E8 B0B7F8FF     CALL PunUnitL.00374870
003E90C0    43              INC EBX
003E90C1    4E              DEC ESI
003E90C2  ^ 75 D9           JNZ SHORT PunUnitL.003E909D              ; 如果没有取完就反回重新取!!
003E90C4    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
003E90C7    50              PUSH EAX
003E90C8    B9 04000000     MOV ECX,4
003E90CD    BA 01000000     MOV EDX,1
003E90D2    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]             ; 取反后的ASCII放入EAX中。
003E90D5    E8 E6B9F8FF     CALL PunUnitL.00374AC0
003E90DA    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
003E90DD    50              PUSH EAX
003E90DE    B9 04000000     MOV ECX,4
003E90E3    BA 05000000     MOV EDX,5
003E90E8    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
003E90EB    E8 D0B9F8FF     CALL PunUnitL.00374AC0                   ; 下面说明下,取完值后,把这个值实际上转为字符了。。。
003E90F0    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; 这里是取产品编号ASCII取反后的前四位(十六进制)。放EAX中。
003E90F3    E8 70B7F8FF     CALL PunUnitL.00374868
003E90F8    83F8 04         CMP EAX,4                                ; 与4比较
003E90FB    7D 2F           JGE SHORT PunUnitL.003E912C              ; 等于就跳过了。
003E90FD    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]
003E9100    E8 63B7F8FF     CALL PunUnitL.00374868
003E9105    8BD8            MOV EBX,EAX
003E9107    83FB 03         CMP EBX,3
003E910A    7F 20           JG SHORT PunUnitL.003E912C
003E910C    8D4D E0         LEA ECX,DWORD PTR SS:[EBP-20]
003E910F    8BC3            MOV EAX,EBX
003E9111    C1E0 02         SHL EAX,2
003E9114    33D2            XOR EDX,EDX
003E9116    E8 5905F9FF     CALL PunUnitL.00379674
003E911B    8B55 E0         MOV EDX,DWORD PTR SS:[EBP-20]
003E911E    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
003E9121    E8 4AB7F8FF     CALL PunUnitL.00374870
003E9126    43              INC EBX
003E9127    83FB 04         CMP EBX,4
003E912A  ^ 75 E0           JNZ SHORT PunUnitL.003E910C
003E912C    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]             ; 这里是取产品编号(十六进制)ASCII的第五位到第八位的取反值。
003E912F    E8 34B7F8FF     CALL PunUnitL.00374868
003E9134    83F8 04         CMP EAX,4                                ; 与4比较。/
003E9137    7D 2F           JGE SHORT PunUnitL.003E9168
003E9139    8B45 F8         MOV EAX,DWORD PTR SS:[EBP-8]
003E913C    E8 27B7F8FF     CALL PunUnitL.00374868
003E9141    8BD8            MOV EBX,EAX
003E9143    83FB 03         CMP EBX,3
003E9146    7F 20           JG SHORT PunUnitL.003E9168
003E9148    8D4D DC         LEA ECX,DWORD PTR SS:[EBP-24]
003E914B    8BC3            MOV EAX,EBX
003E914D    C1E0 02         SHL EAX,2
003E9150    33D2            XOR EDX,EDX
003E9152    E8 1D05F9FF     CALL PunUnitL.00379674
003E9157    8B55 DC         MOV EDX,DWORD PTR SS:[EBP-24]
003E915A    8D45 F8         LEA EAX,DWORD PTR SS:[EBP-8]
003E915D    E8 0EB7F8FF     CALL PunUnitL.00374870
003E9162    43              INC EBX
003E9163    83FB 04         CMP EBX,4
003E9166  ^ 75 E0           JNZ SHORT PunUnitL.003E9148
003E9168    8D45 D8         LEA EAX,DWORD PTR SS:[EBP-28]
003E916B    8B55 0C         MOV EDX,DWORD PTR SS:[EBP+C]             ; C26D-Q638又是这个值。呵呵。
003E916E    E8 2DB6F8FF     CALL PunUnitL.003747A0
003E9173    8B45 D8         MOV EAX,DWORD PTR SS:[EBP-28]
003E9176    8D55 F4         LEA EDX,DWORD PTR SS:[EBP-C]
003E9179    E8 DE03F9FF     CALL PunUnitL.0037955C
003E917E    8D45 D4         LEA EAX,DWORD PTR SS:[EBP-2C]
003E9181    50              PUSH EAX
003E9182    B9 04000000     MOV ECX,4
003E9187    BA 01000000     MOV EDX,1
003E918C    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]
003E918F    E8 2CB9F8FF     CALL PunUnitL.00374AC0
003E9194    FF75 D4         PUSH DWORD PTR SS:[EBP-2C]               ; 取出C26D-Q638的前四位。
003E9197    68 0C923E00     PUSH PunUnitL.003E920C
003E919C    FF75 FC         PUSH DWORD PTR SS:[EBP-4]                ; 这里是取产品编号(十六进制)ASCII取反后的前四位。
003E919F    8D45 D0         LEA EAX,DWORD PTR SS:[EBP-30]
003E91A2    50              PUSH EAX
003E91A3    B9 05000000     MOV ECX,5
003E91A8    BA 05000000     MOV EDX,5
003E91AD    8B45 F4         MOV EAX,DWORD PTR SS:[EBP-C]             ; C26D-Q638又是这个值放EAX中。呵呵。
003E91B0    E8 0BB9F8FF     CALL PunUnitL.00374AC0
003E91B5    FF75 D0         PUSH DWORD PTR SS:[EBP-30]               ; C26D-Q638的后四位。
003E91B8    68 0C923E00     PUSH PunUnitL.003E920C
003E91BD    FF75 F8         PUSH DWORD PTR SS:[EBP-8]                ; 这里是取产品编号(十六进制)ASCII取反后的第五位到第八位的取反值。
003E91C0    8D45 EC         LEA EAX,DWORD PTR SS:[EBP-14]
003E91C3    BA 06000000     MOV EDX,6
003E91C8    E8 5BB7F8FF     CALL PunUnitL.00374928
003E91CD    8B45 EC         MOV EAX,DWORD PTR SS:[EBP-14]            ; 真码出现,C26D---前四位取反值---Q638---第五位到第八位取反值。
003E91D0    E8 8BB8F8FF     CALL PunUnitL.00374A60
003E91D5    8BD8            MOV EBX,EAX
003E91D7    33C0            XOR EAX,EAX
003E91D9    5A              POP EDX
003E91DA    59              POP ECX
003E91DB    59              POP ECX
003E91DC    64:8910         MOV DWORD PTR FS:[EAX],EDX
003E91DF    68 F9913E00     PUSH PunUnitL.003E91F9
003E91E4    8D45 D0         LEA EAX,DWORD PTR SS:[EBP-30]
003E91E7    BA 0C000000     MOV EDX,0C
003E91EC    E8 E3B3F8FF     CALL PunUnitL.003745D4
003E91F1    C3              RETN
------------------------------------------------------------------------
1、给一个预字符  C26D-Q638                    (记为A)
2、取产品编号的ASCII值并转化为字符,并且取反。(记为B)
3、把A的前四位(C26D),与B的前四位相连。再连接上一个A的后四位(Q638)再连接上B的5到八位。

小结:注册码的格式为:C26D-(B前四位)-Q638-(B的五至八位)
特别说明:产品编号转为的ASCII都应该是十六进制的值,
------------------------------------------------------------------------
【版权声明】本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
2
真惨的软件,足足被人蹂躏了一年!

2006-8-24 13:32
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
也难怪:

1、给一个预字符  C26D-Q638                    (记为A)
2、取产品编号的ASCII值并转化为字符,并且取反。(记为B)
3、把A的前四位(C26D),与B的前四位相连。再连接上一个A的后四位(Q638)再连接上B的5到八位。

小结:注册码的格式为:C26D-(B前四位)-Q638-(B的五至八位)
特别说明:产品编号转为的ASCII都应该是十六进制的值,
------------------------------------------------------------

简单的加密,谁碰到都高兴
2006-8-24 14:21
0
游客
登录 | 注册 方可回帖
返回
//