- UID
- 5592
注册时间2005-12-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 慵懒 2019-1-18 17:27 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【破解作者】 lzq1973
【作者邮箱】 [email protected]
【使用工具】 PEiD V0.93、C32Asm、OllyDBG1.1
【破解平台】 Win9x/NT/2000/XP
【软件名称】 佳宜进销存管理软件 V3.45
【下载地址】 http://www3.skycn.com/soft/14336.html
【软件大小】 3814 KB
【加壳方式】 无
【软件简介】 易用商品进销存管理软件参考了各类进销存管理软件精华,溶入了各自的优点并采纳众多用户的宝贵意见,真正地从用户的需要出发,为客户需要而设计。
本软件适用于大中小型企业、商畅?生产厂等物资供销、商品流通部门进行物资(商品)的采购、销售、库存的管理。主要功能包括进采购、采购退货、销售、销售退货、物料领用、领料退回、库存盘点、仓库调拨、借入、借出、借入还出、借出还入,供方客户资料管理,供方供货汇总、明细报表,客户供货汇总、明细报表,部门领用汇总、明细报表、仓库汇总、明细报表。销售毛利汇总
明细报表,销售年报表等多种报表,使公司业务情况一目了然。
本系统采用安全稳定的数据库管理系统设计而成,介面友好,所见即所得,操作简便,多级密码设置及备份功能,数据安全可靠,全真模拟显示功能,经营业务管理成熟,汇集了许多优秀企业的成功管理经验。
现已广泛应用于:大中小型企业集团、工厂、进出口公司`、五交化公司、商畅?购物中心、酒店、连锁店、专卖店、批发部;化工、建材、五金水电、医药、汽配、食品、服装、电子、电脑、图书、仓储、化装品等行业。
软件修改:
1.增加库存多种计价方式(加权平均法、平均成本法、固定成本法),库存金额的计算更加准确;
2.增加了数量、单价、金额小数位数的设置;
3.增加了是否自动货品编号、允许出现负库存;
4.增加了库存库存计价方式的设置;
5.增加了自动备份,恢复的设置。
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
首先是侦壳,用PEID看看,无。又是一个没壳的,看来有戏,此等软体正适合我。
运行程序,来到注册界面,随便输些什么点注册看看有什么提示,记下来。我的的产品编号为7EF1VKA4,还要输入用户名,这些相关的都要记住,后面会有用的。
用C32Asm打开JxcAccessMan.exe,找有关字符串(就是刚才记下的那些),这样可方便的找到断点(用OD查字符串,字太小,看的不爽)。
OD载入程序,在005EBF08处下断,来到
005EBF08 . E8 4B30E6FF CALL JxcAcces.0044EF58
005EBF0D . 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 用户名传给EAX
005EBF10 . 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
005EBF13 . E8 00D8E1FF CALL JxcAcces.00409718
005EBF18 . 837D F4 00 CMP DWORD PTR SS:[EBP-C],0 ; 比较用户名长度是否为0
005EBF1C . 75 22 JNZ SHORT JxcAcces.005EBF40 ; 如不为零就跳走
005EBF1E . 6A 00 PUSH 0
005EBF20 . 68 64C15E00 PUSH JxcAcces.005EC164 ; 请填写用户名称
005EBF25 . E8 C207FFFF CALL <JMP.&PunUnitLib.ShowMess>
005EBF2A . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EBF2D . 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
005EBF33 . 8B10 MOV EDX,DWORD PTR DS:[EAX]
005EBF35 . FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
005EBF3B . E9 B1010000 JMP JxcAcces.005EC0F1
005EBF40 > 8D55 E8 LEA EDX,DWORD PTR SS:[EBP-18]
005EBF43 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EBF46 . 8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005EBF4C . E8 0730E6FF CALL JxcAcces.0044EF58
005EBF51 . 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
005EBF54 . 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
005EBF57 . E8 BCD7E1FF CALL JxcAcces.00409718
005EBF5C . 837D EC 00 CMP DWORD PTR SS:[EBP-14],0 ; 比较假码是否为0
005EBF60 . 75 22 JNZ SHORT JxcAcces.005EBF84 ; 如不为零就跳
005EBF62 . 6A 00 PUSH 0
005EBF64 . 68 78C15E00 PUSH JxcAcces.005EC178 ; 授权号不能为空,请填写授权号!
005EBF69 . E8 7E07FFFF CALL <JMP.&PunUnitLib.ShowMess>
005EBF6E . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EBF71 . 8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005EBF77 . 8B10 MOV EDX,DWORD PTR DS:[EAX]
005EBF79 . FF92 C0000000 CALL DWORD PTR DS:[EDX+C0]
005EBF7F . E9 6D010000 JMP JxcAcces.005EC0F1
005EBF84 > A1 F8966B00 MOV EAX,DWORD PTR DS:[6B96F8]
005EBF89 . 8B00 MOV EAX,DWORD PTR DS:[EAX] ; 两个ASCII "C26P-Q618",用来拼接注册码用的
005EBF8B . E8 4090E1FF CALL JxcAcces.00404FD0
005EBF90 . 50 PUSH EAX ; 把"C26P-Q618"压入堆栈
005EBF91 . 8D55 E4 LEA EDX,DWORD PTR SS:[EBP-1C]
005EBF94 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EBF97 . 8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
005EBF9D . E8 B62FE6FF CALL JxcAcces.0044EF58
005EBFA2 . 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C] ; 硬盘ID
005EBFA5 . E8 2690E1FF CALL JxcAcces.00404FD0
005EBFAA . 50 PUSH EAX ; 把硬盘ID压入堆栈
005EBFAB . E8 6C07FFFF CALL <JMP.&PunUnitLib.GetRegPass> ; 计算注册码的
005EBFB0 . 8BD0 MOV EDX,EAX ; 真的注册码送到EDX
005EBFB2 . 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] ; 真码传到EAX
005EBFB5 . E8 568DE1FF CALL JxcAcces.00404D10
005EBFBA . 8D55 DC LEA EDX,DWORD PTR SS:[EBP-24]
005EBFBD . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EBFC0 . 8B80 FC020000 MOV EAX,DWORD PTR DS:[EAX+2FC]
005EBFC6 . E8 8D2FE6FF CALL JxcAcces.0044EF58
005EBFCB . 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] ; 假码到EAX
005EBFCE . 8D55 E0 LEA EDX,DWORD PTR SS:[EBP-20]
005EBFD1 . E8 42D7E1FF CALL JxcAcces.00409718
005EBFD6 . 8B45 E0 MOV EAX,DWORD PTR SS:[EBP-20] ; 假码
005EBFD9 . 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] ; 真码
005EBFDC . E8 3B8FE1FF CALL JxcAcces.00404F1C ; 比较是否相等
005EBFE1 . 0F85 FE000000 JNZ JxcAcces.005EC0E5 ; 不等就跳走
005EBFE7 . 33C0 XOR EAX,EAX
005EBFE9 . 55 PUSH EBP
005EBFEA . 68 D1C05E00 PUSH JxcAcces.005EC0D1
005EBFEF . 64:FF30 PUSH DWORD PTR FS:[EAX]
005EBFF2 . 64:8920 MOV DWORD PTR FS:[EAX],ESP
005EBFF5 . B2 01 MOV DL,1
005EBFF7 . A1 7C2F4700 MOV EAX,DWORD PTR DS:[472F7C]
005EBFFC . E8 E770E8FF CALL JxcAcces.004730E8
005EC001 . 8BD8 MOV EBX,EAX
005EC003 . BA 02000080 MOV EDX,80000002
005EC008 . 8BC3 MOV EAX,EBX
005EC00A . E8 B571E8FF CALL JxcAcces.004731C4
005EC00F . B1 01 MOV CL,1
005EC011 . 8B15 748A6B00 MOV EDX,DWORD PTR DS:[6B8A74] ; JxcAcces.005EBE34
005EC017 . 8BC3 MOV EAX,EBX
005EC019 . E8 EA72E8FF CALL JxcAcces.00473308
005EC01E . 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28]
005EC021 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EC024 . 8B80 04030000 MOV EAX,DWORD PTR DS:[EAX+304]
005EC02A . E8 292FE6FF CALL JxcAcces.0044EF58
005EC02F . 8B4D D8 MOV ECX,DWORD PTR SS:[EBP-28]
005EC032 . BA A0C15E00 MOV EDX,JxcAcces.005EC1A0 ; ASCII "UserName"
005EC037 . 8BC3 MOV EAX,EBX
005EC039 . E8 6674E8FF CALL JxcAcces.004734A4
005EC03E . 8D55 D0 LEA EDX,DWORD PTR SS:[EBP-30]
005EC041 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EC044 . 8B80 F4020000 MOV EAX,DWORD PTR DS:[EAX+2F4]
005EC04A . E8 092FE6FF CALL JxcAcces.0044EF58
005EC04F . 8B45 D0 MOV EAX,DWORD PTR SS:[EBP-30]
005EC052 . E8 798FE1FF CALL JxcAcces.00404FD0
005EC057 . 50 PUSH EAX
005EC058 . E8 B706FFFF CALL <JMP.&PunUnitLib.SavePass>
005EC05D . 8BD0 MOV EDX,EAX
005EC05F . 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
005EC062 . E8 A98CE1FF CALL JxcAcces.00404D10
005EC067 . 8B4D D4 MOV ECX,DWORD PTR SS:[EBP-2C]
005EC06A . BA B4C15E00 MOV EDX,JxcAcces.005EC1B4 ; ASCII "SignCode"
005EC06F . 8BC3 MOV EAX,EBX
005EC071 . E8 2E74E8FF CALL JxcAcces.004734A4
005EC076 . 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
005EC079 . E8 528FE1FF CALL JxcAcces.00404FD0
005EC07E . 50 PUSH EAX
005EC07F . E8 9006FFFF CALL <JMP.&PunUnitLib.SavePass>
005EC084 . 8BD0 MOV EDX,EAX
005EC086 . 8D45 CC LEA EAX,DWORD PTR SS:[EBP-34]
005EC089 . E8 828CE1FF CALL JxcAcces.00404D10
005EC08E . 8B4D CC MOV ECX,DWORD PTR SS:[EBP-34]
005EC091 . BA C8C15E00 MOV EDX,JxcAcces.005EC1C8 ; ASCII "RegCode"
005EC096 . 8BC3 MOV EAX,EBX
005EC098 . E8 0774E8FF CALL JxcAcces.004734A4
005EC09D . 8BC3 MOV EAX,EBX
005EC09F . E8 887BE1FF CALL JxcAcces.00403C2C
005EC0A4 . 6A 00 PUSH 0
005EC0A6 . 68 D0C15E00 PUSH JxcAcces.005EC1D0 ; 系统注册成功,欢迎你使用本软件!
005EC0AB . E8 3C06FFFF CALL <JMP.&PunUnitLib.ShowMess>
005EC0B0 . A1 F4966B00 MOV EAX,DWORD PTR DS:[6B96F4]
005EC0B5 . C700 02000000 MOV DWORD PTR DS:[EAX],2
005EC0BB . A1 8C946B00 MOV EAX,DWORD PTR DS:[6B948C]
005EC0C0 . 8B00 MOV EAX,DWORD PTR DS:[EAX]
005EC0C2 . E8 8D4AE8FF CALL JxcAcces.00470B54
005EC0C7 . 33C0 XOR EAX,EAX
005EC0C9 . 5A POP EDX
005EC0CA . 59 POP ECX
005EC0CB . 59 POP ECX
005EC0CC . 64:8910 MOV DWORD PTR FS:[EAX],EDX
005EC0CF . EB 20 JMP SHORT JxcAcces.005EC0F1
005EC0D1 .^ E9 3680E1FF JMP JxcAcces.0040410C
005EC0D6 . 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
005EC0D9 . E8 C611E8FF CALL JxcAcces.0046D2A4
005EC0DE . E8 5584E1FF CALL JxcAcces.00404538
005EC0E3 . EB 0C JMP SHORT JxcAcces.005EC0F1
005EC0E5 > 6A 03 PUSH 3
005EC0E7 . 68 F4C15E00 PUSH JxcAcces.005EC1F4 ; 系统注册失败,请检查注册是否有误!
005EC0EC . E8 FB05FFFF CALL <JMP.&PunUnitLib.ShowMess>
005EC0F1 > 33C0 XOR EAX,EAX
005EC0F3 . 5A POP EDX
005EC0F4 . 59 POP ECX
005EC0F5 . 59 POP ECX
很明显005EBFAB处是计算注册码的地,那就跟进去
来到这里,
005DC71C - FF25 3CDB6B00 jmp dword ptr ds:[<&PunUnitLib.GetRegPass>] ; F7跟进
来到这里
002A9024 > 55 PUSH EBP
002A9025 8BEC MOV EBP,ESP
002A9027 B9 06000000 MOV ECX,6 ; 看看硬件号的长度,
002A902C 6A 00 PUSH 0
002A902E 6A 00 PUSH 0
002A9030 49 DEC ECX ; 递减
002A9031 ^ 75 F9 JNZ SHORT PunUnitL.002A902C
002A9033 53 PUSH EBX
002A9034 56 PUSH ESI
002A9035 33C0 XOR EAX,EAX
002A9037 55 PUSH EBP
002A9038 68 F2912A00 PUSH PunUnitL.002A91F2
002A903D 64:FF30 PUSH DWORD PTR FS:[EAX]
002A9040 64:8920 MOV DWORD PTR FS:[EAX],ESP
002A9043 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
002A9046 E8 65B5F8FF CALL PunUnitL.002345B0
002A904B 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
002A904E 8B55 08 MOV EDX,DWORD PTR SS:[EBP+8] ; 硬件号传给EAX
002A9051 E8 4AB7F8FF CALL PunUnitL.002347A0
002A9056 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; 硬件号传给EAX
002A9059 E8 0AB8F8FF CALL PunUnitL.00234868
002A905E 8BF0 MOV ESI,EAX
002A9060 85F6 TEST ESI,ESI
002A9062 7E 26 JLE SHORT PunUnitL.002A908A
002A9064 BB 01000000 MOV EBX,1
002A9069 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18] ; |硬件号ASCII转为16进制
002A906C 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] ; |硬件号传给EAX
002A906F 0FB64418 FF MOVZX EAX,BYTE PTR DS:[EAX+EBX-1] ; |依次取
002A9074 33D2 XOR EDX,EDX ; |
002A9076 E8 F905F9FF CALL PunUnitL.00239674 ; |
002A907B 8B55 E8 MOV EDX,DWORD PTR SS:[EBP-18] ; |
002A907E 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] ; |
002A9081 E8 EAB7F8FF CALL PunUnitL.00234870 ; |
002A9086 43 INC EBX ; |
002A9087 4E DEC ESI ; |
002A9088 ^ 75 DF JNZ SHORT PunUnitL.002A9069 ; |循环
002A908A 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 转换好的ASCII字串地址传递给EAX
002A908D E8 D6B7F8FF CALL PunUnitL.00234868
002A9092 8BF0 MOV ESI,EAX
002A9094 85F6 TEST ESI,ESI
002A9096 7E 2C JLE SHORT PunUnitL.002A90C4
002A9098 BB 01000000 MOV EBX,1
002A909D 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; |将转换好的ASCII字串翻转
002A90A0 E8 C3B7F8FF CALL PunUnitL.00234868 ; |
002A90A5 2BC3 SUB EAX,EBX ; |
002A90A7 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4] ; |
002A90AA 8A1402 MOV DL,BYTE PTR DS:[EDX+EAX] ; |
002A90AD 8D45 E4 LEA EAX,DWORD PTR SS:[EBP-1C] ; |
002A90B0 E8 DBB6F8FF CALL PunUnitL.00234790 ; |
002A90B5 8B55 E4 MOV EDX,DWORD PTR SS:[EBP-1C] ; |
002A90B8 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8] ; |
002A90BB E8 B0B7F8FF CALL PunUnitL.00234870 ; |
002A90C0 43 INC EBX ; |
002A90C1 4E DEC ESI ; |
002A90C2 ^ 75 D9 JNZ SHORT PunUnitL.002A909D ; |循环
002A90C4 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
002A90C7 50 PUSH EAX
002A90C8 B9 04000000 MOV ECX,4 ; 取4位
002A90CD BA 01000000 MOV EDX,1 ; 从第一位开始
002A90D2 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 将翻转后的ASCII字串地址传入EAX
002A90D5 E8 E6B9F8FF CALL PunUnitL.00234AC0 ; 将翻转后的ASCII字串的前4位取出
002A90DA 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
002A90DD 50 PUSH EAX
002A90DE B9 04000000 MOV ECX,4 ; 取4位
002A90E3 BA 05000000 MOV EDX,5 ; 从第五位开始
002A90E8 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 将翻转后的ASCII字串地址传入EAX
002A90EB E8 D0B9F8FF CALL PunUnitL.00234AC0
002A90F0 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 将前4位传入EAX
002A90F3 E8 70B7F8FF CALL PunUnitL.00234868
002A90F8 83F8 04 CMP EAX,4 ; 比较长度是否为4
002A90FB 7D 2F JGE SHORT PunUnitL.002A912C ; 为4就跳
002A90FD 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
002A9100 E8 63B7F8FF CALL PunUnitL.00234868
002A9105 8BD8 MOV EBX,EAX
002A9107 83FB 03 CMP EBX,3
002A910A 7F 20 JG SHORT PunUnitL.002A912C
002A910C 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
002A910F 8BC3 MOV EAX,EBX
002A9111 C1E0 02 SHL EAX,2
002A9114 33D2 XOR EDX,EDX
002A9116 E8 5905F9FF CALL PunUnitL.00239674
002A911B 8B55 E0 MOV EDX,DWORD PTR SS:[EBP-20]
002A911E 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
002A9121 E8 4AB7F8FF CALL PunUnitL.00234870
002A9126 43 INC EBX
002A9127 83FB 04 CMP EBX,4
002A912A ^ 75 E0 JNZ SHORT PunUnitL.002A910C
002A912C 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ; 将5~8位传入EAX
002A912F E8 34B7F8FF CALL PunUnitL.00234868
002A9134 83F8 04 CMP EAX,4 ; 比较长度是否为4
002A9137 7D 2F JGE SHORT PunUnitL.002A9168 ; 为4就跳
002A9139 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
002A913C E8 27B7F8FF CALL PunUnitL.00234868
002A9141 8BD8 MOV EBX,EAX
002A9143 83FB 03 CMP EBX,3
002A9146 7F 20 JG SHORT PunUnitL.002A9168
002A9148 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24]
002A914B 8BC3 MOV EAX,EBX
002A914D C1E0 02 SHL EAX,2
002A9150 33D2 XOR EDX,EDX
002A9152 E8 1D05F9FF CALL PunUnitL.00239674
002A9157 8B55 DC MOV EDX,DWORD PTR SS:[EBP-24]
002A915A 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
002A915D E8 0EB7F8FF CALL PunUnitL.00234870
002A9162 43 INC EBX
002A9163 83FB 04 CMP EBX,4
002A9166 ^ 75 E0 JNZ SHORT PunUnitL.002A9148
002A9168 8D45 D8 LEA EAX,DWORD PTR SS:[EBP-28]
002A916B 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C] ; "C26P-Q618"的地址传入EAX
002A916E E8 2DB6F8FF CALL PunUnitL.002347A0 ; 开始拼接正确的注册码
002A9173 8B45 D8 MOV EAX,DWORD PTR SS:[EBP-28]
002A9176 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
002A9179 E8 DE03F9FF CALL PunUnitL.0023955C
002A917E 8D45 D4 LEA EAX,DWORD PTR SS:[EBP-2C]
002A9181 50 PUSH EAX
002A9182 B9 04000000 MOV ECX,4
002A9187 BA 01000000 MOV EDX,1
002A918C 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
002A918F E8 2CB9F8FF CALL PunUnitL.00234AC0
002A9194 FF75 D4 PUSH DWORD PTR SS:[EBP-2C] ; 第一部分(固定的)[C26P-]压入堆栈
002A9197 68 0C922A00 PUSH PunUnitL.002A920C
002A919C FF75 FC PUSH DWORD PTR SS:[EBP-4] ; 第二部分(前4位)压入堆栈
002A919F 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
002A91A2 50 PUSH EAX
002A91A3 B9 05000000 MOV ECX,5
002A91A8 BA 05000000 MOV EDX,5
002A91AD 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
002A91B0 E8 0BB9F8FF CALL PunUnitL.00234AC0
002A91B5 FF75 D0 PUSH DWORD PTR SS:[EBP-30] ; 第三部分[-Q618]压入堆栈
002A91B8 68 0C922A00 PUSH PunUnitL.002A920C
002A91BD FF75 F8 PUSH DWORD PTR SS:[EBP-8] ; 第四部分(5~8位)压入堆栈
002A91C0 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
002A91C3 BA 06000000 MOV EDX,6
002A91C8 E8 5BB7F8FF CALL PunUnitL.00234928 ; 拼接完成
002A91CD 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; 拼接后完整的注册码传给EAX
002A91D0 E8 8BB8F8FF CALL PunUnitL.00234A60
002A91D5 8BD8 MOV EBX,EAX
002A91D7 33C0 XOR EAX,EAX
002A91D9 5A POP EDX
002A91DA 59 POP ECX
002A91DB 59 POP ECX
002A91DC 64:8910 MOV DWORD PTR FS:[EAX],EDX
002A91DF 68 F9912A00 PUSH PunUnitL.002A91F9
002A91E4 8D45 D0 LEA EAX,DWORD PTR SS:[EBP-30]
002A91E7 BA 0C000000 MOV EDX,0C
002A91EC E8 E3B3F8FF CALL PunUnitL.002345D4
002A91F1 C3 RETN
002A91F2 ^ E9 1DADF8FF JMP PunUnitL.00233F14
002A91F7 ^ EB EB JMP SHORT PunUnitL.002A91E4
002A91F9 8BC3 MOV EAX,EBX
002A91FB 5E POP ESI
002A91FC 5B POP EBX
002A91FD 8BE5 MOV ESP,EBP
002A91FF 5D POP EBP
002A9200 C2 0800 RETN 8
至此算法分析完毕。原来是把硬件号ASCII转成16进制后再取反(即倒过来),分别取前4位、5~8位为注册码的第二部分和四部分,至于第一部分与第三部分则是固定的(即作者提供的C26P-Q618),各部分之间用"-"分开。
注册机就懒的写了(其实是不会写),找个ASCII转16进制工具就行了。
算了还是做个内存注册器吧!
--------------------------------------------------------------------------------
【破解总结】
总的来说,还是很顺利的,其实在写这篇破文时,有好多前辈门已做出了算法注册机。此软还有好多暗桩,如单据不能超过200张,不能进行设置等,这通过注册都不能解决,那就只有爆破了。爆破的地方就不说了,没有细数,有近50处,我做了个破解补丁配合注册器使用。
顺便说一下,佳宜系列算法好象都一样,只是作者给的那两个固定的不同(即C26P-Q618)。
--------------------------------------------------------------------------------
【内存注册机】
中断地址:5EBFB2
中断次数:1
第一字节:8D
子令长度:3
内存方式->寄存器->EAX
其实做内存注册器有好多中断地址可做的,此次写破文做的就与上次破解时的地址不同。
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢! |
|