tianxj 发表于 2008-4-6 23:23:29

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

【破文标题】佳宜仓库管理软件 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:,EAX
005F1F06   .33C0          XOR EAX,EAX
005F1F08   .55            PUSH EBP
005F1F09   .68 6E215F00   PUSH DepotMan.005F216E
005F1F0E   .64:FF30       PUSH DWORD PTR FS:
005F1F11   .64:8920       MOV DWORD PTR FS:,ESP
005F1F14   .8D55 F0       LEA EDX,DWORD PTR SS:
005F1F17   .8B45 FC       MOV EAX,DWORD PTR SS:
005F1F1A   .8B80 0C030000 MOV EAX,DWORD PTR DS:
005F1F20   .E8 B7D0E5FF   CALL DepotMan.0044EFDC
005F1F25   .8B45 F0       MOV EAX,DWORD PTR SS:            ;//EAX==用户名称
005F1F28   .8D55 F4       LEA EDX,DWORD PTR SS:
005F1F2B   .E8 F877E1FF   CALL DepotMan.00409728
005F1F30   .837D F4 00    CMP DWORD PTR SS:,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:
005F1F45   .8B80 0C030000 MOV EAX,DWORD PTR DS:
005F1F4B   .8B10          MOV EDX,DWORD PTR DS:
005F1F4D   .FF92 C0000000 CALL DWORD PTR DS:
005F1F53   .E9 B1010000   JMP DepotMan.005F2109
005F1F58   >8D55 E8       LEA EDX,DWORD PTR SS:
005F1F5B   .8B45 FC       MOV EAX,DWORD PTR SS:
005F1F5E   .8B80 FC020000 MOV EAX,DWORD PTR DS:
005F1F64   .E8 73D0E5FF   CALL DepotMan.0044EFDC
005F1F69   .8B45 E8       MOV EAX,DWORD PTR SS:            ;//EAX==授权编号
005F1F6C   .8D55 EC       LEA EDX,DWORD PTR SS:
005F1F6F   .E8 B477E1FF   CALL DepotMan.00409728
005F1F74   .837D EC 00    CMP DWORD PTR SS:,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:
005F1F89   .8B80 FC020000 MOV EAX,DWORD PTR DS:
005F1F8F   .8B10          MOV EDX,DWORD PTR DS:
005F1F91   .FF92 C0000000 CALL DWORD PTR DS:
005F1F97   .E9 6D010000   JMP DepotMan.005F2109
005F1F9C   >A1 68D76A00   MOV EAX,DWORD PTR DS:
005F1FA1   .8B00          MOV EAX,DWORD PTR DS:               ;//EAX==字符串"CA9D-36Q8"
005F1FA3   .E8 2830E1FF   CALL DepotMan.00404FD0
005F1FA8   .50            PUSH EAX
005F1FA9   .8D55 E4       LEA EDX,DWORD PTR SS:
005F1FAC   .8B45 FC       MOV EAX,DWORD PTR SS:
005F1FAF   .8B80 F4020000 MOV EAX,DWORD PTR DS:
005F1FB5   .E8 22D0E5FF   CALL DepotMan.0044EFDC
005F1FBA   .8B45 E4       MOV EAX,DWORD PTR SS:            ;//EAX==产品编号
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:
005F1FCD   .E8 3E2DE1FF   CALL DepotMan.00404D10
005F1FD2   .8D55 DC       LEA EDX,DWORD PTR SS:
005F1FD5   .8B45 FC       MOV EAX,DWORD PTR SS:
005F1FD8   .8B80 FC020000 MOV EAX,DWORD PTR DS:
005F1FDE   .E8 F9CFE5FF   CALL DepotMan.0044EFDC
005F1FE3   .8B45 DC       MOV EAX,DWORD PTR SS:            ;//EAX==授权编码
005F1FE6   .8D55 E0       LEA EDX,DWORD PTR SS:
005F1FE9   .E8 3A77E1FF   CALL DepotMan.00409728
005F1FEE   .8B45 E0       MOV EAX,DWORD PTR SS:            ;//EAX==授权编码
005F1FF1   .8B55 F8       MOV EDX,DWORD PTR SS:             ;//EDX==真码
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:
005F200A   .64:8920       MOV DWORD PTR FS:,ESP
005F200D   .B2 01         MOV DL,1
005F200F   .A1 00304700   MOV EAX,DWORD PTR DS:
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:            ;DepotMan.005F1E0C
005F202F   .8BC3          MOV EAX,EBX
005F2031   .E8 5613E8FF   CALL DepotMan.0047338C
005F2036   .8D55 D8       LEA EDX,DWORD PTR SS:
005F2039   .8B45 FC       MOV EAX,DWORD PTR SS:
005F203C   .8B80 0C030000 MOV EAX,DWORD PTR DS:
005F2042   .E8 95CFE5FF   CALL DepotMan.0044EFDC
005F2047   .8B4D D8       MOV ECX,DWORD PTR SS:
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:
005F2059   .8B45 FC       MOV EAX,DWORD PTR SS:
005F205C   .8B80 F4020000 MOV EAX,DWORD PTR DS:
005F2062   .E8 75CFE5FF   CALL DepotMan.0044EFDC
005F2067   .8B45 D0       MOV EAX,DWORD PTR SS:
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:
005F207A   .E8 912CE1FF   CALL DepotMan.00404D10
005F207F   .8B4D D4       MOV ECX,DWORD PTR SS:
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:
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:
005F20A1   .E8 6A2CE1FF   CALL DepotMan.00404D10
005F20A6   .8B4D CC       MOV ECX,DWORD PTR SS:
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:
005F20CD   .C700 02000000 MOV DWORD PTR DS:,2
005F20D3   .A1 F8D46A00   MOV EAX,DWORD PTR DS:
005F20D8   .8B00          MOV EAX,DWORD PTR DS:
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:,EDX
005F20E7   .EB 20         JMP SHORT DepotMan.005F2109
005F20E9   .^ E9 1E20E1FF   JMP DepotMan.0040410C
005F20EE   .8B45 FC       MOV EAX,DWORD PTR SS:
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:,EDX
005F2111   .68 75215F00   PUSH DepotMan.005F2175
005F2116   >8D45 CC       LEA EAX,DWORD PTR SS:
005F2119   .E8 022AE1FF   CALL DepotMan.00404B20
005F211E   .8D45 D0       LEA EAX,DWORD PTR SS:
005F2121   .E8 FA29E1FF   CALL DepotMan.00404B20
005F2126   .8D45 D4       LEA EAX,DWORD PTR SS:
005F2129   .E8 F229E1FF   CALL DepotMan.00404B20
005F212E   .8D45 D8       LEA EAX,DWORD PTR SS:
005F2131   .BA 02000000   MOV EDX,2
005F2136   .E8 092AE1FF   CALL DepotMan.00404B44
005F213B   .8D45 E0       LEA EAX,DWORD PTR SS:
005F213E   .E8 DD29E1FF   CALL DepotMan.00404B20
005F2143   .8D45 E4       LEA EAX,DWORD PTR SS:
005F2146   .BA 02000000   MOV EDX,2
005F214B   >E8 F429E1FF   CALL DepotMan.00404B44
005F2150   .8D45 EC       LEA EAX,DWORD PTR SS:
005F2153   .E8 C829E1FF   CALL DepotMan.00404B20
005F2158   .8D45 F0       LEA EAX,DWORD PTR SS:
005F215B   .E8 C029E1FF   CALL DepotMan.00404B20
005F2160   .8D45 F4       LEA EAX,DWORD PTR SS:
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:
003E9040    64:8920         MOV DWORD PTR FS:,ESP
003E9043    8D45 EC         LEA EAX,DWORD PTR SS:
003E9046    E8 65B5F8FF   CALL PunUnitL.003745B0
003E904B    8D45 F0         LEA EAX,DWORD PTR SS:
003E904E    8B55 08         MOV EDX,DWORD PTR SS:             ; //EDX==产品编号
003E9051    E8 4AB7F8FF   CALL PunUnitL.003747A0
003E9056    8B45 F0         MOV EAX,DWORD PTR SS:            ; //EAX==产品编号
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:
003E906C    8B45 F0         MOV EAX,DWORD PTR SS:            ; //EAX==产品编号
003E906F    0FB64418 FF   MOVZX EAX,BYTE PTR DS:      ; //依次取产品编号ASC值
003E9074    33D2            XOR EDX,EDX                              ; //EDX=0
003E9076    E8 F905F9FF   CALL PunUnitL.00379674                   ; //将ASC值转字符形式
003E907B    8B55 E8         MOV EDX,DWORD PTR SS:            ; //EDX==ASC值字符形式
003E907E    8D45 FC         LEA EAX,DWORD PTR SS:
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:             ; //将新字符串送入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:             ; //EAX==新字符串
003E90A0    E8 C3B7F8FF   CALL PunUnitL.00374868                   ; //EAX=新字符串的长度
003E90A5    2BC3            SUB EAX,EBX                              ; //EAX=EBX
003E90A7    8B55 FC         MOV EDX,DWORD PTR SS:             ; //EDX==新字符串
003E90AA    8A1402          MOV DL,BYTE PTR DS:             ; //依次倒取新字符串ASC值
003E90AD    8D45 E4         LEA EAX,DWORD PTR SS:
003E90B0    E8 DBB6F8FF   CALL PunUnitL.00374790
003E90B5    8B55 E4         MOV EDX,DWORD PTR SS:
003E90B8    8D45 F8         LEA EAX,DWORD PTR SS:
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:
003E90C7    50            PUSH EAX
003E90C8    B9 04000000   MOV ECX,4
003E90CD    BA 01000000   MOV EDX,1
003E90D2    8B45 F8         MOV EAX,DWORD PTR SS:             ; //EAX==倒转新字符串
003E90D5    E8 E6B9F8FF   CALL PunUnitL.00374AC0
003E90DA    8D45 F8         LEA EAX,DWORD PTR SS:
003E90DD    50            PUSH EAX
003E90DE    B9 04000000   MOV ECX,4
003E90E3    BA 05000000   MOV EDX,5
003E90E8    8B45 F8         MOV EAX,DWORD PTR SS:
003E90EB    E8 D0B9F8FF   CALL PunUnitL.00374AC0                   ; //取倒转新字符串1-4位
003E90F0    8B45 FC         MOV EAX,DWORD PTR SS:             ; //EAX==倒转新字符串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:
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:
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:
003E911E    8D45 FC         LEA EAX,DWORD PTR SS:
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:             ; //EAX==倒转新字符串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:
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:
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:
003E915A    8D45 F8         LEA EAX,DWORD PTR SS:
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:
003E916B    8B55 0C         MOV EDX,DWORD PTR SS:             ; //EDX==固定字符串"CA9D-36Q8"
003E916E    E8 2DB6F8FF   CALL PunUnitL.003747A0
003E9173    8B45 D8         MOV EAX,DWORD PTR SS:            ; //EAX==固定字符串"CA9D-36Q8"
003E9176    8D55 F4         LEA EDX,DWORD PTR SS:
003E9179    E8 DE03F9FF   CALL PunUnitL.0037955C
003E917E    8D45 D4         LEA EAX,DWORD PTR SS:
003E9181    50            PUSH EAX
003E9182    B9 04000000   MOV ECX,4
003E9187    BA 01000000   MOV EDX,1
003E918C    8B45 F4         MOV EAX,DWORD PTR SS:             ; //EAX==固定字符串"CA9D-36Q8"
003E918F    E8 2CB9F8FF   CALL PunUnitL.00374AC0
003E9194    FF75 D4         PUSH DWORD PTR SS:               ; //取固定字符串1-4位
003E9197    68 0C923E00   PUSH PunUnitL.003E920C
003E919C    FF75 FC         PUSH DWORD PTR SS:                ; //取倒转新字符串1-4位
003E919F    8D45 D0         LEA EAX,DWORD PTR SS:
003E91A2    50            PUSH EAX
003E91A3    B9 05000000   MOV ECX,5
003E91A8    BA 05000000   MOV EDX,5
003E91AD    8B45 F4         MOV EAX,DWORD PTR SS:             ; //EAX==固定字符串"CA9D-36Q8"
003E91B0    E8 0BB9F8FF   CALL PunUnitL.00374AC0
003E91B5    FF75 D0         PUSH DWORD PTR SS:               ; //取固定字符串5-8位
003E91B8    68 0C923E00   PUSH PunUnitL.003E920C
003E91BD    FF75 F8         PUSH DWORD PTR SS:                ; //取倒转新字符串5-8位
003E91C0    8D45 EC         LEA EAX,DWORD PTR SS:
003E91C3    BA 06000000   MOV EDX,6
003E91C8    E8 5BB7F8FF   CALL PunUnitL.00374928                   ; //将4组字符串相连
003E91CD    8B45 EC         MOV EAX,DWORD PTR SS:            ; //EAX==真码
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:,EDX
003E91DF    68 F9913E00   PUSH PunUnitL.003E91F9
003E91E4    8D45 D0         LEA EAX,DWORD PTR SS:
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/viewthread.php?tid=29587&page=1&extra=page%3D1
--------------------------------------------------------------
【内存注册机】
中断地址 005F1FF4
中断次数 1
第一字节 E8
指令长度 5

内存方式-寄存器-EDX
--------------------------------------------------------------
【爆破地址】
005F1FF9   .0F85 FE000000 JNZ DepotMan.005F20FD
将JNZ改为JE
--------------------------------------------------------------
【注册信息】
保存在

--------------------------------------------------------------
希望以后可以在猫老大和PYG 5.4Cracker学习小组的帮助下进一步提高自己。
感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
--------------------------------------------------------------
【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

[ 本帖最后由 tianxj 于 2008-4-7 07:33 编辑 ]

蓝星星 发表于 2008-4-6 23:25:40

GG好谦虚呀,谢谢这么好的教材/:09

magic659117852 发表于 2008-4-6 23:25:45

/:001   很强。。慢慢看

tianxj 发表于 2008-4-6 23:27:01

请飘云老大指点

新手求教 发表于 2008-4-7 21:59:57

/:good 跟着学习

[Spirit] 发表于 2015-3-1 22:33:49

不愧是超级版,果然厉害,写的很细,谢谢你的分析思路!

xinbinchi 发表于 2016-7-6 20:20:46

路过必顶,谢谢分享。
页: [1]
查看完整版本: 佳宜仓库管理软件 V3.30 企业版算法分析