好友
阅读权限10
听众
最后登录1970-1-1
|
[ 破文标题 ] 里诺服装销售管理软件V2.20追码+算法分析
[ 破文作者 ] Crackers
[ 作者邮箱 ] 860986262@qq.com
[ 作者主页 ] 无
[ 破解工具 ] OD,PEID
[ 破解平台 ] Windows Xp SP3
[ 软件名称 ] 里诺服装销售管理软件V2.20
[ 软件大小 ] 7MB
[ 原版下载 ] http://www.onlinedown.net/soft/69517.htm?jdfwkey=dt5wr3
[ 保护方式 ] 重启验证
[ 软件简介 ] 里诺服装销售管理软件是一款专业的服装管理软件(服装销售软件,服装软件,服装进销存软件)。软件界面设计简洁,美观,其人性化的软件流程,使普通用户不需培训也能快掌握软件操作使用方法,上手极易。强大报表与集成查询功能是本软件的最大特色,所有功能在用户需要使用的地方自然体现。特别适合于各服装专卖店等使用。
[ 破解声明 ] 仅供交流,请勿商业用途
[ 破解过程 ]
追码:
008F78F8 . BA F87C8F00 mov edx, 008F7CF8 ; software\zy\fzjxc
008F78FD . E8 BAD5B0FF call 00404EBC
008F7902 . B1 01 mov cl, 1
008F7904 . 8B55 F0 mov edx, dword ptr [ebp-10]
008F7907 . 8B45 EC mov eax, dword ptr [ebp-14]
008F790A . E8 5550B5FF call 0044C964
008F790F . 84C0 test al, al ; 来到了关键代码段
008F7911 . 0F84 96000000 je 008F79AD
008F7917 . E8 24FDFFFF call <jmp.&HDSerial.HDSerialNumRead>
008F791C . 8BD0 mov edx, eax
008F791E . 8D45 AC lea eax, dword ptr [ebp-54]
008F7921 . E8 06D7B0FF call 0040502C
008F7926 . 8B45 AC mov eax, dword ptr [ebp-54]
008F7929 . 8D55 B0 lea edx, dword ptr [ebp-50]
008F792C . E8 E726B1FF call 0040A018
008F7931 . 8B55 B0 mov edx, dword ptr [ebp-50] ; 读入机器码
008F7934 . A1 04B89000 mov eax, dword ptr [90B804]
008F7939 . 8B00 mov eax, dword ptr [eax]
008F793B . 05 4C050000 add eax, 54C
008F7940 . E8 33D5B0FF call 00404E78
008F7945 . 8D4D A8 lea ecx, dword ptr [ebp-58]
008F7948 . BA 147D8F00 mov edx, 008F7D14 ; pass
008F794D . 8B45 EC mov eax, dword ptr [ebp-14]
008F7950 . E8 8B55B5FF call 0044CEE0 ; 读入注册码
008F7955 . 8B55 A8 mov edx, dword ptr [ebp-58]
008F7958 . A1 04B89000 mov eax, dword ptr [90B804]
008F795D . 8B00 mov eax, dword ptr [eax]
008F795F . 05 50050000 add eax, 550
008F7964 . E8 0FD5B0FF call 00404E78
008F7969 . 33C0 xor eax, eax
008F796B . 55 push ebp
008F796C . 68 90798F00 push 008F7990
008F7971 . 64:FF30 push dword ptr fs:[eax]
008F7974 . 64:8920 mov dword ptr fs:[eax], esp
008F7977 . BA 247D8F00 mov edx, 008F7D24 ; date
008F797C . 8B45 EC mov eax, dword ptr [ebp-14]
008F797F . E8 BC56B5FF call 0044D040
008F7984 . DDD8 fstp st
008F7986 . 33C0 xor eax, eax
008F7988 . 5A pop edx
008F7989 . 59 pop ecx
008F798A . 59 pop ecx
008F798B . 64:8910 mov dword ptr fs:[eax], edx
008F798E . EB 1D jmp short 008F79AD
008F7990 .^ E9 5BCAB0FF jmp 004043F0
008F7995 . FF75 DC push dword ptr [ebp-24]
008F7998 . FF75 D8 push dword ptr [ebp-28]
008F799B . BA 247D8F00 mov edx, 008F7D24 ; date
008F79A0 . 8B45 EC mov eax, dword ptr [ebp-14]
008F79A3 . E8 8456B5FF call 0044D02C
008F79A8 . E8 6FCEB0FF call 0040481C
008F79AD > 8B45 EC mov eax, dword ptr [ebp-14]
008F79B0 . E8 3B4EB5FF call 0044C7F0
008F79B5 . 33C0 xor eax, eax
008F79B7 . 5A pop edx
008F79B8 . 59 pop ecx
008F79B9 . 59 pop ecx
008F79BA . 64:8910 mov dword ptr fs:[eax], edx
008F79BD . 68 D2798F00 push 008F79D2
008F79C2 > 8B45 EC mov eax, dword ptr [ebp-14]
008F79C5 . E8 46C5B0FF call 00403F10
008F79CA . C3 retn
008F79CB .^ E9 D4CCB0FF jmp 004046A4
008F79D0 .^ EB F0 jmp short 008F79C2
008F79D2 . 8B45 FC mov eax, dword ptr [ebp-4]
008F79D5 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F79DB . BA 347D8F00 mov edx, 008F7D34 ; select count(*) from tstocks
008F79E0 . E8 6B370000 call 008FB150
008F79E5 . 8B45 FC mov eax, dword ptr [ebp-4]
008F79E8 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F79EE . 8B40 30 mov eax, dword ptr [eax+30]
008F79F1 . 33D2 xor edx, edx
008F79F3 . E8 387BC2FF call 0051F530
008F79F8 . 8B10 mov edx, dword ptr [eax]
008F79FA . FF52 58 call dword ptr [edx+58]
008F79FD . 8BD8 mov ebx, eax
008F79FF . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A02 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F7A08 . BA 5C7D8F00 mov edx, 008F7D5C ; select count(*) from tsalebill
008F7A0D . E8 3E370000 call 008FB150
008F7A12 . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A15 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F7A1B . 8B40 30 mov eax, dword ptr [eax+30]
008F7A1E . 33D2 xor edx, edx
008F7A20 . E8 0B7BC2FF call 0051F530
008F7A25 . 8B10 mov edx, dword ptr [eax]
008F7A27 . FF52 58 call dword ptr [edx+58]
008F7A2A . 8B55 FC mov edx, dword ptr [ebp-4]
008F7A2D . 8982 A00C0000 mov dword ptr [edx+CA0], eax
008F7A33 . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A36 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F7A3C . BA 847D8F00 mov edx, 008F7D84 ; select count(*) from tsalebilldetail
008F7A41 . E8 0A370000 call 008FB150
008F7A46 . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A49 . 8B80 04030000 mov eax, dword ptr [eax+304]
008F7A4F . 8B40 30 mov eax, dword ptr [eax+30]
008F7A52 . 33D2 xor edx, edx
008F7A54 . E8 D77AC2FF call 0051F530
008F7A59 . 8B10 mov edx, dword ptr [eax]
008F7A5B . FF52 58 call dword ptr [edx+58]
008F7A5E . 8B55 FC mov edx, dword ptr [ebp-4]
008F7A61 . 8982 A40C0000 mov dword ptr [edx+CA4], eax
008F7A67 . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A6A . 8B80 04030000 mov eax, dword ptr [eax+304]
008F7A70 . E8 6729C3FF call 0052A3DC
008F7A75 . 8B45 FC mov eax, dword ptr [ebp-4]
008F7A78 . C680 BD0C0000>mov byte ptr [eax+CBD], 1
008F7A7F . 8D4D A4 lea ecx, dword ptr [ebp-5C]
008F7A82 . A1 04B89000 mov eax, dword ptr [90B804]
008F7A87 . 8B00 mov eax, dword ptr [eax]
008F7A89 . 8B90 4C050000 mov edx, dword ptr [eax+54C] ; 再次读入机器码
008F7A8F . A1 30B19000 mov eax, dword ptr [90B130]
008F7A94 . 8B00 mov eax, dword ptr [eax]
008F7A96 . E8 1DE2FEFF call 008E5CB8 ; 关键Call,在这里下断
008F7A9B . 8B55 A4 mov edx, dword ptr [ebp-5C] ; 追码,成功,算出了注册码,我们试一下
008F7A9E . A1 04B89000 mov eax, dword ptr [90B804]
008F7AA3 . 8B00 mov eax, dword ptr [eax]
算法分析:
008E5CB8 /$ 55 push ebp
008E5CB9 |. 8BEC mov ebp, esp ; 读入机器码
008E5CBB |. 51 push ecx
008E5CBC |. B9 04000000 mov ecx, 4
008E5CC1 |> 6A 00 /push 0
008E5CC3 |. 6A 00 |push 0
008E5CC5 |. 49 |dec ecx
008E5CC6 |.^ 75 F9 \jnz short 008E5CC1
008E5CC8 |. 51 push ecx
008E5CC9 |. 874D FC xchg dword ptr [ebp-4], ecx
008E5CCC |. 53 push ebx
008E5CCD |. 56 push esi
008E5CCE |. 57 push edi
008E5CCF |. 8BF9 mov edi, ecx
008E5CD1 |. 8955 FC mov dword ptr [ebp-4], edx
008E5CD4 |. 8B45 FC mov eax, dword ptr [ebp-4]
008E5CD7 |. E8 08F6B1FF call 004052E4
008E5CDC |. 33C0 xor eax, eax
008E5CDE |. 55 push ebp
008E5CDF |. 68 795E8E00 push 008E5E79
008E5CE4 |. 64:FF30 push dword ptr fs:[eax]
008E5CE7 |. 64:8920 mov dword ptr fs:[eax], esp
008E5CEA |. 8BC7 mov eax, edi
008E5CEC |. E8 33F1B1FF call 00404E24
008E5CF1 |. 8B45 FC mov eax, dword ptr [ebp-4]
008E5CF4 |. E8 FBF3B1FF call 004050F4
008E5CF9 |. 8BF0 mov esi, eax
008E5CFB |. 85F6 test esi, esi
008E5CFD |. 7E 26 jle short 008E5D25
008E5CFF |. BB 01000000 mov ebx, 1
008E5D04 |> 8D4D EC /lea ecx, dword ptr [ebp-14]
008E5D07 |. 8B45 FC |mov eax, dword ptr [ebp-4]
008E5D0A |. 0FB64418 FF |movzx eax, byte ptr [eax+ebx-1]
008E5D0F |. 33D2 |xor edx, edx
008E5D11 |. E8 BA49B2FF |call 0040A6D0
008E5D16 |. 8B55 EC |mov edx, dword ptr [ebp-14]
008E5D19 |. 8D45 F8 |lea eax, dword ptr [ebp-8]
008E5D1C |. E8 DBF3B1FF |call 004050FC
008E5D21 |. 43 |inc ebx
008E5D22 |. 4E |dec esi
008E5D23 |.^ 75 DF \jnz short 008E5D04
008E5D25 |> 8B45 F8 mov eax, dword ptr [ebp-8] ; 这个循环是将机器码转换为ASCII码
008E5D28 |. E8 C7F3B1FF call 004050F4
008E5D2D |. 8BF0 mov esi, eax
008E5D2F |. 85F6 test esi, esi
008E5D31 |. 7E 2C jle short 008E5D5F
008E5D33 |. BB 01000000 mov ebx, 1
008E5D38 |> 8B45 F8 /mov eax, dword ptr [ebp-8] ; 读入ASCII码
008E5D3B |. E8 B4F3B1FF |call 004050F4
008E5D40 |. 2BC3 |sub eax, ebx
008E5D42 |. 8B55 F8 |mov edx, dword ptr [ebp-8]
008E5D45 |. 8A1402 |mov dl, byte ptr [edx+eax]
008E5D48 |. 8D45 E8 |lea eax, dword ptr [ebp-18]
008E5D4B |. E8 BCF2B1FF |call 0040500C
008E5D50 |. 8B55 E8 |mov edx, dword ptr [ebp-18]
008E5D53 |. 8D45 F4 |lea eax, dword ptr [ebp-C]
008E5D56 |. E8 A1F3B1FF |call 004050FC
008E5D5B |. 43 |inc ebx
008E5D5C |. 4E |dec esi
008E5D5D |.^ 75 D9 \jnz short 008E5D38
008E5D5F |> 8D45 F8 lea eax, dword ptr [ebp-8]
008E5D62 |. 50 push eax
008E5D63 |. B9 04000000 mov ecx, 4
008E5D68 |. BA 01000000 mov edx, 1
008E5D6D |. 8B45 F4 mov eax, dword ptr [ebp-C] ; 这个循环将ASCII码颠倒
008E5D70 |. E8 DFF5B1FF call 00405354
008E5D75 |. 8D45 F4 lea eax, dword ptr [ebp-C]
008E5D78 |. 50 push eax
008E5D79 |. B9 04000000 mov ecx, 4
008E5D7E |. BA 05000000 mov edx, 5
008E5D83 |. 8B45 F4 mov eax, dword ptr [ebp-C]
008E5D86 |. E8 C9F5B1FF call 00405354
008E5D8B |. 8B45 F8 mov eax, dword ptr [ebp-8] ; 读出前4位
008E5D8E |. E8 61F3B1FF call 004050F4
008E5D93 |. 83F8 04 cmp eax, 4 ; 判断是否为4位
008E5D96 |. 7D 2F jge short 008E5DC7
008E5D98 |. 8B45 F8 mov eax, dword ptr [ebp-8]
008E5D9B |. E8 54F3B1FF call 004050F4
008E5DA0 |. 8BD8 mov ebx, eax
008E5DA2 |. 83FB 03 cmp ebx, 3
008E5DA5 |. 7F 20 jg short 008E5DC7
008E5DA7 |> 8D4D E4 /lea ecx, dword ptr [ebp-1C]
008E5DAA |. 8BC3 |mov eax, ebx
008E5DAC |. C1E0 02 |shl eax, 2
008E5DAF |. 33D2 |xor edx, edx
008E5DB1 |. E8 1A49B2FF |call 0040A6D0
008E5DB6 |. 8B55 E4 |mov edx, dword ptr [ebp-1C]
008E5DB9 |. 8D45 F8 |lea eax, dword ptr [ebp-8]
008E5DBC |. E8 3BF3B1FF |call 004050FC
008E5DC1 |. 43 |inc ebx
008E5DC2 |. 83FB 04 |cmp ebx, 4
008E5DC5 |.^ 75 E0 \jnz short 008E5DA7
008E5DC7 |> 8B45 F4 mov eax, dword ptr [ebp-C] ; 读入7576
008E5DCA |. E8 25F3B1FF call 004050F4
008E5DCF |. 83F8 04 cmp eax, 4 ; 判断是否为4位
008E5DD2 |. 7D 2F jge short 008E5E03
008E5DD4 |. 8B45 F4 mov eax, dword ptr [ebp-C]
008E5DD7 |. E8 18F3B1FF call 004050F4
008E5DDC |. 8BD8 mov ebx, eax
008E5DDE |. 83FB 03 cmp ebx, 3
008E5DE1 |. 7F 20 jg short 008E5E03
008E5DE3 |> 8D4D E0 /lea ecx, dword ptr [ebp-20]
008E5DE6 |. 8BC3 |mov eax, ebx
008E5DE8 |. C1E0 02 |shl eax, 2
008E5DEB |. 33D2 |xor edx, edx
008E5DED |. E8 DE48B2FF |call 0040A6D0
008E5DF2 |. 8B55 E0 |mov edx, dword ptr [ebp-20]
008E5DF5 |. 8D45 F4 |lea eax, dword ptr [ebp-C]
008E5DF8 |. E8 FFF2B1FF |call 004050FC
008E5DFD |. 43 |inc ebx
008E5DFE |. 83FB 04 |cmp ebx, 4
008E5E01 |.^ 75 E0 \jnz short 008E5DE3
008E5E03 |> 8D45 F0 lea eax, dword ptr [ebp-10]
008E5E06 |. BA 905E8E00 mov edx, 008E5E90 ; 读入csale45yr87
008E5E0B |. E8 ACF0B1FF call 00404EBC
008E5E10 |. 8D45 DC lea eax, dword ptr [ebp-24]
008E5E13 |. 50 push eax
008E5E14 |. B9 04000000 mov ecx, 4
008E5E19 |. BA 01000000 mov edx, 1
008E5E1E |. 8B45 F0 mov eax, dword ptr [ebp-10]
008E5E21 |. E8 2EF5B1FF call 00405354
008E5E26 |. FF75 DC push dword ptr [ebp-24] ; 读取csale45yr87的前4位,即CSal
008E5E29 |. 68 A45E8E00 push 008E5EA4 ; -
008E5E2E |. FF75 F8 push dword ptr [ebp-8] ; 读出ASCII码的前四位
008E5E31 |. 8D45 D8 lea eax, dword ptr [ebp-28]
008E5E34 |. 50 push eax
008E5E35 |. B9 05000000 mov ecx, 5
008E5E3A |. BA 05000000 mov edx, 5
008E5E3F |. 8B45 F0 mov eax, dword ptr [ebp-10]
008E5E42 |. E8 0DF5B1FF call 00405354
008E5E47 |. FF75 D8 push dword ptr [ebp-28] ; 读入e45yr
008E5E4A |. 68 A45E8E00 push 008E5EA4 ; -
008E5E4F |. FF75 F4 push dword ptr [ebp-C] ; 读入ASCII码的第4位到第8位
008E5E52 |. 8BC7 mov eax, edi
008E5E54 |. BA 06000000 mov edx, 6
008E5E59 |. E8 56F3B1FF call 004051B4
008E5E5E |. 33C0 xor eax, eax
008E5E60 |. 5A pop edx
008E5E61 |. 59 pop ecx
008E5E62 |. 59 pop ecx
008E5E63 |. 64:8910 mov dword ptr fs:[eax], edx
008E5E66 |. 68 805E8E00 push 008E5E80
008E5E6B |> 8D45 D8 lea eax, dword ptr [ebp-28]
008E5E6E |. BA 0A000000 mov edx, 0A
008E5E73 |. E8 D0EFB1FF call 00404E48
008E5E78 \. C3 retn
008E5E79 .^ E9 26E8B1FF jmp 004046A4
008E5E7E .^ EB EB jmp short 008E5E6B
008E5E80 . 5F pop edi
008E5E81 . 5E pop esi
008E5E82 . 5B pop ebx
008E5E83 . 8BE5 mov esp, ebp
008E5E85 . 5D pop ebp ; 算出注册码
[ 破解总结 ]
这个算法大体就是这样的结构
1.读入机器码
2.将机器码转换为ASCII码
3.将ASCII码颠倒
4.读入CSale45yr
5.读入ASCII码的前四位放在CSal和e45yr的中间,并在加上CSal后面加上-
6.读入ASCII码的第4位到第8位,放在e45yr后面,并加上-
OK,今天的教程就结束啦,谢谢观看哈,希望多多支持
[ 版权声明 ]
转载请注明作者,谢谢 |
|