飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 6123|回复: 6

[原创] 佳宜仓库管理软件 V3.30 企业版算法分析

[复制链接]
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-6 23:23:29 | 显示全部楼层 |阅读模式
    【破文标题】佳宜仓库管理软件 V3.30 企业版
    【破文作者】tianxj
    【作者邮箱】[email protected]
    【作者主页】www.chinapyg.com
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】佳宜仓库管理软件 V3.30 企业版(2008-04-03版)
    【软件大小】3765 KB
    【原版下载】天空软件站
    【保护方式】注册码
    【软件简介】
      一、适应对象:
    本软件适用于大中小型企业、商畅?生产厂等物资供销、商品流通部门进行物资(商品)的采购、销售、库存的管理。主要功能包括进采购、采购退货、采购付款、销售、销售退货、物料领用、领料退回、库存盘点、仓库调拨、借入、借出、借入还出、借出还入,供方客户资料管理,供方供货汇总、明细报表,明细报表,客户供货汇总、明细报表,明细报表,部门领用汇总、明细报表、仓库汇总、明细报表。销售毛利汇总、明细报表,销售年报表等多种报表,使公司业务情况一目了然。
      二、软件特点:
    1。导航式的界面:
    所想即所见,所见即所想,这就是导航式操作的优点。众多功能的巧妙安排,缩短了数据传输的流程;帐务的错综复杂体现在系统内部,你的操作依然那么简单,省时又省心。 全能的报表查询;所有的报表和基本资料均可导入EXCEL中进行分析加工,以满足用户的更高的要求。
    2。高效强大的查询工具:
    系统提供多种查询方式来帮助您快速找到所需要的资料。无论是使用预制条件还是临时的高级...

    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "系统注册失败,请检查注册是否有误!"
    **************************************************************
    二、用PEiD对这个软件查壳,为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、运行OD,打开UN_XXXXX,右键—超级字串参考—查找ASCII.
    发现"系统注册失败,请检查注册是否有误!"
    005F1EF0   .  55            PUSH EBP
    005F1EF1   .  8BEC          MOV EBP,ESP
    005F1EF3   .  B9 06000000   MOV ECX,6
    005F1EF8   >  6A 00         PUSH 0
    005F1EFA   .  6A 00         PUSH 0
    005F1EFC   .  49            DEC ECX
    005F1EFD   .^ 75 F9         JNZ SHORT DepotMan.005F1EF8
    005F1EFF   .  51            PUSH ECX
    005F1F00   .  53            PUSH EBX
    005F1F01   .  56            PUSH ESI
    005F1F02   .  57            PUSH EDI
    005F1F03   .  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    005F1F06   .  33C0          XOR EAX,EAX
    005F1F08   .  55            PUSH EBP
    005F1F09   .  68 6E215F00   PUSH DepotMan.005F216E
    005F1F0E   .  64:FF30       PUSH DWORD PTR FS:[EAX]
    005F1F11   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
    005F1F14   .  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
    005F1F17   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1F1A   .  8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
    005F1F20   .  E8 B7D0E5FF   CALL DepotMan.0044EFDC
    005F1F25   .  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  //EAX=[EBP-10]=用户名称
    005F1F28   .  8D55 F4       LEA EDX,DWORD PTR SS:[EBP-C]
    005F1F2B   .  E8 F877E1FF   CALL DepotMan.00409728
    005F1F30   .  837D F4 00    CMP DWORD PTR SS:[EBP-C],0               ;  //用户名称与0比较
    005F1F34   .  75 22         JNZ SHORT DepotMan.005F1F58              ;  //若用户名称不为空则跳
    005F1F36   .  6A 00         PUSH 0
    005F1F38   .  68 7C215F00   PUSH DepotMan.005F217C                   ;  请填写用户名称!
    005F1F3D   .  E8 2A03FFFF   CALL <JMP.&PunUnitLib.ShowMess>
    005F1F42   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1F45   .  8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
    005F1F4B   .  8B10          MOV EDX,DWORD PTR DS:[EAX]
    005F1F4D   .  FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
    005F1F53   .  E9 B1010000   JMP DepotMan.005F2109
    005F1F58   >  8D55 E8       LEA EDX,DWORD PTR SS:[EBP-18]
    005F1F5B   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1F5E   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
    005F1F64   .  E8 73D0E5FF   CALL DepotMan.0044EFDC
    005F1F69   .  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]            ;  //EAX=[EBP-18]=授权编号
    005F1F6C   .  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    005F1F6F   .  E8 B477E1FF   CALL DepotMan.00409728
    005F1F74   .  837D EC 00    CMP DWORD PTR SS:[EBP-14],0              ;  //授权编号与0比较
    005F1F78   .  75 22         JNZ SHORT DepotMan.005F1F9C              ;  //若授权编号不为空则跳
    005F1F7A   .  6A 00         PUSH 0
    005F1F7C   .  68 90215F00   PUSH DepotMan.005F2190                   ;  授权号不能为空,请填写授权号!
    005F1F81   .  E8 E602FFFF   CALL <JMP.&PunUnitLib.ShowMess>
    005F1F86   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1F89   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
    005F1F8F   .  8B10          MOV EDX,DWORD PTR DS:[EAX]
    005F1F91   .  FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
    005F1F97   .  E9 6D010000   JMP DepotMan.005F2109
    005F1F9C   >  A1 68D76A00   MOV EAX,DWORD PTR DS:[6AD768]
    005F1FA1   .  8B00          MOV EAX,DWORD PTR DS:[EAX]               ;  //EAX=[EAX]=字符串"CA9D-36Q8"
    005F1FA3   .  E8 2830E1FF   CALL DepotMan.00404FD0
    005F1FA8   .  50            PUSH EAX
    005F1FA9   .  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]
    005F1FAC   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1FAF   .  8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
    005F1FB5   .  E8 22D0E5FF   CALL DepotMan.0044EFDC
    005F1FBA   .  8B45 E4       MOV EAX,DWORD PTR SS:[EBP-1C]            ;  //EAX=[EBP-1C]=产品编号
    005F1FBD   .  E8 0E30E1FF   CALL DepotMan.00404FD0
    005F1FC2   .  50            PUSH EAX
    005F1FC3   .  E8 D402FFFF   CALL <JMP.&PunUnitLib.GetRegPass>
    005F1FC8   .  8BD0          MOV EDX,EAX
    005F1FCA   .  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    005F1FCD   .  E8 3E2DE1FF   CALL DepotMan.00404D10
    005F1FD2   .  8D55 DC       LEA EDX,DWORD PTR SS:[EBP-24]
    005F1FD5   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F1FD8   .  8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
    005F1FDE   .  E8 F9CFE5FF   CALL DepotMan.0044EFDC
    005F1FE3   .  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]            ;  //EAX=[EBP-24]=授权编码
    005F1FE6   .  8D55 E0       LEA EDX,DWORD PTR SS:[EBP-20]
    005F1FE9   .  E8 3A77E1FF   CALL DepotMan.00409728
    005F1FEE   .  8B45 E0       MOV EAX,DWORD PTR SS:[EBP-20]            ;  //EAX=[EBP-20]=授权编码
    005F1FF1   .  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  //EDX=[EBP-8]=真码
    005F1FF4   .  E8 232FE1FF   CALL DepotMan.00404F1C                   ;  //比较CALL
    005F1FF9   .  0F85 FE000000 JNZ DepotMan.005F20FD                    ;  //关键跳转
    005F1FFF   .  33C0          XOR EAX,EAX
    005F2001   .  55            PUSH EBP
    005F2002   .  68 E9205F00   PUSH DepotMan.005F20E9
    005F2007   .  64:FF30       PUSH DWORD PTR FS:[EAX]
    005F200A   .  64:8920       MOV DWORD PTR FS:[EAX],ESP
    005F200D   .  B2 01         MOV DL,1
    005F200F   .  A1 00304700   MOV EAX,DWORD PTR DS:[473000]
    005F2014   .  E8 5311E8FF   CALL DepotMan.0047316C
    005F2019   .  8BD8          MOV EBX,EAX
    005F201B   .  BA 02000080   MOV EDX,80000002
    005F2020   .  8BC3          MOV EAX,EBX
    005F2022   .  E8 2112E8FF   CALL DepotMan.00473248
    005F2027   .  B1 01         MOV CL,1
    005F2029   .  8B15 70CA6A00 MOV EDX,DWORD PTR DS:[6ACA70]            ;  DepotMan.005F1E0C
    005F202F   .  8BC3          MOV EAX,EBX
    005F2031   .  E8 5613E8FF   CALL DepotMan.0047338C
    005F2036   .  8D55 D8       LEA EDX,DWORD PTR SS:[EBP-28]
    005F2039   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F203C   .  8B80 0C030000 MOV EAX,DWORD PTR DS:[EAX+30C]
    005F2042   .  E8 95CFE5FF   CALL DepotMan.0044EFDC
    005F2047   .  8B4D D8       MOV ECX,DWORD PTR SS:[EBP-28]
    005F204A   .  BA B8215F00   MOV EDX,DepotMan.005F21B8                ;  username
    005F204F   .  8BC3          MOV EAX,EBX
    005F2051   .  E8 D214E8FF   CALL DepotMan.00473528
    005F2056   .  8D55 D0       LEA EDX,DWORD PTR SS:[EBP-30]
    005F2059   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F205C   .  8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
    005F2062   .  E8 75CFE5FF   CALL DepotMan.0044EFDC
    005F2067   .  8B45 D0       MOV EAX,DWORD PTR SS:[EBP-30]
    005F206A   .  E8 612FE1FF   CALL DepotMan.00404FD0
    005F206F   .  50            PUSH EAX
    005F2070   .  E8 1F02FFFF   CALL <JMP.&PunUnitLib.SavePass>
    005F2075   .  8BD0          MOV EDX,EAX
    005F2077   .  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
    005F207A   .  E8 912CE1FF   CALL DepotMan.00404D10
    005F207F   .  8B4D D4       MOV ECX,DWORD PTR SS:[EBP-2C]
    005F2082   .  BA CC215F00   MOV EDX,DepotMan.005F21CC                ;  signcode
    005F2087   .  8BC3          MOV EAX,EBX
    005F2089   .  E8 9A14E8FF   CALL DepotMan.00473528
    005F208E   .  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    005F2091   .  E8 3A2FE1FF   CALL DepotMan.00404FD0
    005F2096   .  50            PUSH EAX
    005F2097   .  E8 F801FFFF   CALL <JMP.&PunUnitLib.SavePass>
    005F209C   .  8BD0          MOV EDX,EAX
    005F209E   .  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
    005F20A1   .  E8 6A2CE1FF   CALL DepotMan.00404D10
    005F20A6   .  8B4D CC       MOV ECX,DWORD PTR SS:[EBP-34]
    005F20A9   .  BA E0215F00   MOV EDX,DepotMan.005F21E0                ;  regcode
    005F20AE   .  8BC3          MOV EAX,EBX
    005F20B0   .  E8 7314E8FF   CALL DepotMan.00473528
    005F20B5   .  8BC3          MOV EAX,EBX
    005F20B7   .  E8 701BE1FF   CALL DepotMan.00403C2C
    005F20BC   .  6A 00         PUSH 0
    005F20BE   .  68 E8215F00   PUSH DepotMan.005F21E8                   ;  系统注册成功,欢迎你使用本软件!
    005F20C3   .  E8 A401FFFF   CALL <JMP.&PunUnitLib.ShowMess>
    005F20C8   .  A1 64D76A00   MOV EAX,DWORD PTR DS:[6AD764]
    005F20CD   .  C700 02000000 MOV DWORD PTR DS:[EAX],2
    005F20D3   .  A1 F8D46A00   MOV EAX,DWORD PTR DS:[6AD4F8]
    005F20D8   .  8B00          MOV EAX,DWORD PTR DS:[EAX]
    005F20DA   .  E8 F9EAE7FF   CALL DepotMan.00470BD8
    005F20DF   .  33C0          XOR EAX,EAX
    005F20E1   .  5A            POP EDX
    005F20E2   .  59            POP ECX
    005F20E3   .  59            POP ECX
    005F20E4   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
    005F20E7   .  EB 20         JMP SHORT DepotMan.005F2109
    005F20E9   .^ E9 1E20E1FF   JMP DepotMan.0040410C
    005F20EE   .  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    005F20F1   .  E8 32B2E7FF   CALL DepotMan.0046D328
    005F20F6   .  E8 3D24E1FF   CALL DepotMan.00404538
    005F20FB   .  EB 0C         JMP SHORT DepotMan.005F2109
    005F20FD   >  6A 03         PUSH 3
    005F20FF   .  68 0C225F00   PUSH DepotMan.005F220C                   ;  系统注册失败,请检查注册是否有误!
    005F2104   .  E8 6301FFFF   CALL <JMP.&PunUnitLib.ShowMess>
    005F2109   >  33C0          XOR EAX,EAX
    005F210B   .  5A            POP EDX
    005F210C   .  59            POP ECX
    005F210D   .  59            POP ECX
    005F210E   .  64:8910       MOV DWORD PTR FS:[EAX],EDX
    005F2111   .  68 75215F00   PUSH DepotMan.005F2175
    005F2116   >  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
    005F2119   .  E8 022AE1FF   CALL DepotMan.00404B20
    005F211E   .  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
    005F2121   .  E8 FA29E1FF   CALL DepotMan.00404B20
    005F2126   .  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
    005F2129   .  E8 F229E1FF   CALL DepotMan.00404B20
    005F212E   .  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
    005F2131   .  BA 02000000   MOV EDX,2
    005F2136   .  E8 092AE1FF   CALL DepotMan.00404B44
    005F213B   .  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    005F213E   .  E8 DD29E1FF   CALL DepotMan.00404B20
    005F2143   .  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    005F2146   .  BA 02000000   MOV EDX,2
    005F214B   >  E8 F429E1FF   CALL DepotMan.00404B44
    005F2150   .  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    005F2153   .  E8 C829E1FF   CALL DepotMan.00404B20
    005F2158   .  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    005F215B   .  E8 C029E1FF   CALL DepotMan.00404B20
    005F2160   .  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    005F2163   .  BA 02000000   MOV EDX,2
    005F2168   .  E8 D729E1FF   CALL DepotMan.00404B44
    005F216D   .  C3            RETN
    005F216E   .^ E9 4D22E1FF   JMP DepotMan.004043C0
    005F2173   .^ EB A1         JMP SHORT DepotMan.005F2116
    005F2175   .  5F            POP EDI
    005F2176   .  5E            POP ESI
    005F2177   .  5B            POP EBX
    005F2178   .  8BE5          MOV ESP,EBP
    005F217A   .  5D            POP EBP
    005F217B   .  C3            RETN
    ==============================================================
    005E229C   $- FF25 641B6B00 JMP DWORD PTR DS:[<&PunUnitLib.GetRegPas>;  PunUnitL.GetRegPass
    ==============================================================
    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=[EBP+8]=产品编号
    003E9051    E8 4AB7F8FF     CALL PunUnitL.003747A0
    003E9056    8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]            ; //EAX=[EBP-10]=产品编号
    003E9059    E8 0AB8F8FF     CALL PunUnitL.00374868                   ; //EAX=产品编号长度
    003E905E    8BF0            MOV ESI,EAX                              ; //ESI=EAX
    003E9060    85F6            TEST ESI,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=[EBP-10]=产品编号
    003E906F    0FB64418 FF     MOVZX EAX,BYTE PTR DS:[EAX+EBX-1]        ; //依次取产品编号ASC值
    003E9074    33D2            XOR EDX,EDX                              ; //EDX=0
    003E9076    E8 F905F9FF     CALL PunUnitL.00379674                   ; //将ASC值转字符形式
    003E907B    8B55 E8         MOV EDX,DWORD PTR SS:[EBP-18]            ; //EDX=[EBP-18]=ASC值字符形式
    003E907E    8D45 FC         LEA EAX,DWORD PTR SS:[EBP-4]
    003E9081    E8 EAB7F8FF     CALL PunUnitL.00374870                   ; //将字符相连
    003E9086    43              INC EBX                                  ; //EBX=EBX+1
    003E9087    4E              DEC ESI                                  ; //ESI=ESI-1
    003E9088  ^ 75 DF           JNZ SHORT PunUnitL.003E9069              ; //若不相等则跳,以上为产品编号的ASC值以字符形式相连形成新字符串
    003E908A    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; //将新字符串送入EAX
    003E908D    E8 D6B7F8FF     CALL PunUnitL.00374868                   ; //EAX=新字符串的长度
    003E9092    8BF0            MOV ESI,EAX                              ; //ESI=EAX
    003E9094    85F6            TEST ESI,ESI                             ; //比较ESI
    003E9096    7E 2C           JLE SHORT PunUnitL.003E90C4              ; //若小于等于则跳
    003E9098    BB 01000000     MOV EBX,1                                ; //EBX=1
    003E909D    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; //EAX=[EBP-4]=新字符串
    003E90A0    E8 C3B7F8FF     CALL PunUnitL.00374868                   ; //EAX=新字符串的长度
    003E90A5    2BC3            SUB EAX,EBX                              ; //EAX=EBX
    003E90A7    8B55 FC         MOV EDX,DWORD PTR SS:[EBP-4]             ; //EDX=[EBP-4]=新字符串
    003E90AA    8A1402          MOV DL,BYTE PTR DS:[EDX+EAX]             ; //依次倒取新字符串ASC值
    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                                  ; //EBX=EBX+1
    003E90C1    4E              DEC ESI                                  ; //ESI=ESI-1
    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]             ; //EAX=[EBP-8]=倒转新字符串
    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                   ; //取倒转新字符串1-4位
    003E90F0    8B45 FC         MOV EAX,DWORD PTR SS:[EBP-4]             ; //EAX=[EBP-4]=倒转新字符串1-4位
    003E90F3    E8 70B7F8FF     CALL PunUnitL.00374868                   ; //取倒转新字符串1-4位长度
    003E90F8    83F8 04         CMP EAX,4                                ; //倒转新字符串1-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]             ; //EAX=[EBP-8]=倒转新字符串5-8位
    003E912F    E8 34B7F8FF     CALL PunUnitL.00374868                   ; //取倒转新字符串5-8位长度
    003E9134    83F8 04         CMP EAX,4                                ; //倒转新字符串5-8位长度与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]             ; //EDX=[EBP+C]=固定字符串"CA9D-36Q8"
    003E916E    E8 2DB6F8FF     CALL PunUnitL.003747A0
    003E9173    8B45 D8         MOV EAX,DWORD PTR SS:[EBP-28]            ; //EAX=[EBP-28]=固定字符串"CA9D-36Q8"
    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]             ; //EAX=[EBP-C]=固定字符串"CA9D-36Q8"
    003E918F    E8 2CB9F8FF     CALL PunUnitL.00374AC0
    003E9194    FF75 D4         PUSH DWORD PTR SS:[EBP-2C]               ; //取固定字符串1-4位
    003E9197    68 0C923E00     PUSH PunUnitL.003E920C
    003E919C    FF75 FC         PUSH DWORD PTR SS:[EBP-4]                ; //取倒转新字符串1-4位
    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]             ; //EAX=[EBP-C]=固定字符串"CA9D-36Q8"
    003E91B0    E8 0BB9F8FF     CALL PunUnitL.00374AC0
    003E91B5    FF75 D0         PUSH DWORD PTR SS:[EBP-30]               ; //取固定字符串5-8位
    003E91B8    68 0C923E00     PUSH PunUnitL.003E920C
    003E91BD    FF75 F8         PUSH DWORD PTR SS:[EBP-8]                ; //取倒转新字符串5-8位
    003E91C0    8D45 EC         LEA EAX,DWORD PTR SS:[EBP-14]
    003E91C3    BA 06000000     MOV EDX,6
    003E91C8    E8 5BB7F8FF     CALL PunUnitL.00374928                   ; //将4组字符串相连
    003E91CD    8B45 EC         MOV EAX,DWORD PTR SS:[EBP-14]            ; //EAX=[EBP-14]=真码
    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
    003E91F2  ^ E9 1DADF8FF     JMP PunUnitL.00373F14
    003E91F7  ^ EB EB           JMP SHORT PunUnitL.003E91E4
    003E91F9    8BC3            MOV EAX,EBX
    003E91FB    5E              POP ESI
    003E91FC    5B              POP EBX
    003E91FD    8BE5            MOV ESP,EBP
    003E91FF    5D              POP EBP
    003E9200    C2 0800         RETN 8
    **************************************************************  
    【破解总结】
    --------------------------------------------------------------
    【算法总结】
    1、算法与用户名称无关
    2、产品编号以ASC码16进制字符形式相连,然后倒转字符串;固定字符串"CA9D-36Q8"
    设授权编号的形式为A-B-C-D
    A:CA9D
    B:取倒转字符串1-4位
    C:36Q8
    D:取倒转字符串5-8位
    --------------------------------------------------------------
    【算法注册机
    (略)
    https://www.chinapyg.com/viewthr ... &extra=page%3D1
    --------------------------------------------------------------
    【内存注册机】
    中断地址 005F1FF4
    中断次数 1
    第一字节 E8
    指令长度 5

    内存方式-寄存器-EDX
    --------------------------------------------------------------
    【爆破地址】
    005F1FF9   .  0F85 FE000000 JNZ DepotMan.005F20FD
    将JNZ改为JE
    --------------------------------------------------------------
    【注册信息】
    保存在
    [HKEY_LOCAL_MACHINE\SOFTWARE\xajy\mdDepot]
    --------------------------------------------------------------
    希望以后可以在猫老大和PYG 5.4Cracker学习小组的帮助下进一步提高自己。
    感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
    --------------------------------------------------------------
    【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

    [ 本帖最后由 tianxj 于 2008-4-7 07:33 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-6 23:25:40 | 显示全部楼层
    GG好谦虚呀,谢谢这么好的教材/:09
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-6 23:25:45 | 显示全部楼层
    /:001   很强。。慢慢看
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2008-4-6 23:27:01 | 显示全部楼层
    请飘云老大指点
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-7 21:59:57 | 显示全部楼层
    /:good 跟着学习
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-3-1 22:33:49 | 显示全部楼层
    不愧是超级版,果然厉害,写的很细,谢谢你的分析思路!
    PYG19周年生日快乐!
  • TA的每日心情
    奋斗
    2017-6-1 20:17
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2016-7-6 20:20:46 | 显示全部楼层
    路过必顶,谢谢分享。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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