里诺服装销售管理软件V2.20追码+算法分析
[ 破文标题 ] 里诺服装销售管理软件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
008F7907 .8B45 EC mov eax, dword ptr
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
008F7921 .E8 06D7B0FF call 0040502C
008F7926 .8B45 AC mov eax, dword ptr
008F7929 .8D55 B0 lea edx, dword ptr
008F792C .E8 E726B1FF call 0040A018
008F7931 .8B55 B0 mov edx, dword ptr ;读入机器码
008F7934 .A1 04B89000 mov eax, dword ptr
008F7939 .8B00 mov eax, dword ptr
008F793B .05 4C050000 add eax, 54C
008F7940 .E8 33D5B0FF call 00404E78
008F7945 .8D4D A8 lea ecx, dword ptr
008F7948 .BA 147D8F00 mov edx, 008F7D14 ;pass
008F794D .8B45 EC mov eax, dword ptr
008F7950 .E8 8B55B5FF call 0044CEE0 ;读入注册码
008F7955 .8B55 A8 mov edx, dword ptr
008F7958 .A1 04B89000 mov eax, dword ptr
008F795D .8B00 mov eax, dword ptr
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:
008F7974 .64:8920 mov dword ptr fs:, esp
008F7977 .BA 247D8F00 mov edx, 008F7D24 ;date
008F797C .8B45 EC mov eax, dword ptr
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:, edx
008F798E .EB 1D jmp short 008F79AD
008F7990 .^ E9 5BCAB0FF jmp 004043F0
008F7995 .FF75 DC push dword ptr
008F7998 .FF75 D8 push dword ptr
008F799B .BA 247D8F00 mov edx, 008F7D24 ;date
008F79A0 .8B45 EC mov eax, dword ptr
008F79A3 .E8 8456B5FF call 0044D02C
008F79A8 .E8 6FCEB0FF call 0040481C
008F79AD >8B45 EC mov eax, dword ptr
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:, edx
008F79BD .68 D2798F00 push 008F79D2
008F79C2 >8B45 EC mov eax, dword ptr
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
008F79D5 .8B80 04030000 mov eax, dword ptr
008F79DB .BA 347D8F00 mov edx, 008F7D34 ;select count(*) from tstocks
008F79E0 .E8 6B370000 call 008FB150
008F79E5 .8B45 FC mov eax, dword ptr
008F79E8 .8B80 04030000 mov eax, dword ptr
008F79EE .8B40 30 mov eax, dword ptr
008F79F1 .33D2 xor edx, edx
008F79F3 .E8 387BC2FF call 0051F530
008F79F8 .8B10 mov edx, dword ptr
008F79FA .FF52 58 call dword ptr
008F79FD .8BD8 mov ebx, eax
008F79FF .8B45 FC mov eax, dword ptr
008F7A02 .8B80 04030000 mov eax, dword ptr
008F7A08 .BA 5C7D8F00 mov edx, 008F7D5C ;select count(*) from tsalebill
008F7A0D .E8 3E370000 call 008FB150
008F7A12 .8B45 FC mov eax, dword ptr
008F7A15 .8B80 04030000 mov eax, dword ptr
008F7A1B .8B40 30 mov eax, dword ptr
008F7A1E .33D2 xor edx, edx
008F7A20 .E8 0B7BC2FF call 0051F530
008F7A25 .8B10 mov edx, dword ptr
008F7A27 .FF52 58 call dword ptr
008F7A2A .8B55 FC mov edx, dword ptr
008F7A2D .8982 A00C0000 mov dword ptr , eax
008F7A33 .8B45 FC mov eax, dword ptr
008F7A36 .8B80 04030000 mov eax, dword ptr
008F7A3C .BA 847D8F00 mov edx, 008F7D84 ;select count(*) from tsalebilldetail
008F7A41 .E8 0A370000 call 008FB150
008F7A46 .8B45 FC mov eax, dword ptr
008F7A49 .8B80 04030000 mov eax, dword ptr
008F7A4F .8B40 30 mov eax, dword ptr
008F7A52 .33D2 xor edx, edx
008F7A54 .E8 D77AC2FF call 0051F530
008F7A59 .8B10 mov edx, dword ptr
008F7A5B .FF52 58 call dword ptr
008F7A5E .8B55 FC mov edx, dword ptr
008F7A61 .8982 A40C0000 mov dword ptr , eax
008F7A67 .8B45 FC mov eax, dword ptr
008F7A6A .8B80 04030000 mov eax, dword ptr
008F7A70 .E8 6729C3FF call 0052A3DC
008F7A75 .8B45 FC mov eax, dword ptr
008F7A78 .C680 BD0C0000>mov byte ptr , 1
008F7A7F .8D4D A4 lea ecx, dword ptr
008F7A82 .A1 04B89000 mov eax, dword ptr
008F7A87 .8B00 mov eax, dword ptr
008F7A89 .8B90 4C050000 mov edx, dword ptr ;再次读入机器码
008F7A8F .A1 30B19000 mov eax, dword ptr
008F7A94 .8B00 mov eax, dword ptr
008F7A96 .E8 1DE2FEFF call 008E5CB8 ;关键Call,在这里下断
008F7A9B .8B55 A4 mov edx, dword ptr ;追码,成功,算出了注册码,我们试一下
008F7A9E .A1 04B89000 mov eax, dword ptr
008F7AA3 .8B00 mov eax, dword ptr
算法分析:
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 , ecx
008E5CCC|.53 push ebx
008E5CCD|.56 push esi
008E5CCE|.57 push edi
008E5CCF|.8BF9 mov edi, ecx
008E5CD1|.8955 FC mov dword ptr , edx
008E5CD4|.8B45 FC mov eax, dword ptr
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:
008E5CE7|.64:8920 mov dword ptr fs:, esp
008E5CEA|.8BC7 mov eax, edi
008E5CEC|.E8 33F1B1FF call 00404E24
008E5CF1|.8B45 FC mov eax, dword ptr
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
008E5D07|.8B45 FC |mov eax, dword ptr
008E5D0A|.0FB64418 FF |movzx eax, byte ptr
008E5D0F|.33D2 |xor edx, edx
008E5D11|.E8 BA49B2FF |call 0040A6D0
008E5D16|.8B55 EC |mov edx, dword ptr
008E5D19|.8D45 F8 |lea eax, dword ptr
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 ;这个循环是将机器码转换为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 ;读入ASCII码
008E5D3B|.E8 B4F3B1FF |call 004050F4
008E5D40|.2BC3 |sub eax, ebx
008E5D42|.8B55 F8 |mov edx, dword ptr
008E5D45|.8A1402 |mov dl, byte ptr
008E5D48|.8D45 E8 |lea eax, dword ptr
008E5D4B|.E8 BCF2B1FF |call 0040500C
008E5D50|.8B55 E8 |mov edx, dword ptr
008E5D53|.8D45 F4 |lea eax, dword ptr
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
008E5D62|.50 push eax
008E5D63|.B9 04000000 mov ecx, 4
008E5D68|.BA 01000000 mov edx, 1
008E5D6D|.8B45 F4 mov eax, dword ptr ;这个循环将ASCII码颠倒
008E5D70|.E8 DFF5B1FF call 00405354
008E5D75|.8D45 F4 lea eax, dword ptr
008E5D78|.50 push eax
008E5D79|.B9 04000000 mov ecx, 4
008E5D7E|.BA 05000000 mov edx, 5
008E5D83|.8B45 F4 mov eax, dword ptr
008E5D86|.E8 C9F5B1FF call 00405354
008E5D8B|.8B45 F8 mov eax, dword ptr ;读出前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
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
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
008E5DB9|.8D45 F8 |lea eax, dword ptr
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 ;读入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
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
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
008E5DF5|.8D45 F4 |lea eax, dword ptr
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
008E5E06|.BA 905E8E00 mov edx, 008E5E90 ;读入csale45yr87
008E5E0B|.E8 ACF0B1FF call 00404EBC
008E5E10|.8D45 DC lea eax, dword ptr
008E5E13|.50 push eax
008E5E14|.B9 04000000 mov ecx, 4
008E5E19|.BA 01000000 mov edx, 1
008E5E1E|.8B45 F0 mov eax, dword ptr
008E5E21|.E8 2EF5B1FF call 00405354
008E5E26|.FF75 DC push dword ptr ;读取csale45yr87的前4位,即CSal
008E5E29|.68 A45E8E00 push 008E5EA4 ;-
008E5E2E|.FF75 F8 push dword ptr ;读出ASCII码的前四位
008E5E31|.8D45 D8 lea eax, dword ptr
008E5E34|.50 push eax
008E5E35|.B9 05000000 mov ecx, 5
008E5E3A|.BA 05000000 mov edx, 5
008E5E3F|.8B45 F0 mov eax, dword ptr
008E5E42|.E8 0DF5B1FF call 00405354
008E5E47|.FF75 D8 push dword ptr ;读入e45yr
008E5E4A|.68 A45E8E00 push 008E5EA4 ;-
008E5E4F|.FF75 F4 push dword ptr ;读入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:, edx
008E5E66|.68 805E8E00 push 008E5E80
008E5E6B|>8D45 D8 lea eax, dword ptr
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,今天的教程就结束啦,谢谢观看哈,希望多多支持
[ 版权声明 ]
转载请注明作者,谢谢 做沙发`` 来学习学习~~~~~ 希望加个精 着是什么啊`看不懂哦` O(∩_∩)O谢谢。。。。。。。。。。 唉,埋没了 回复 6# oumaizi
我是来支持的,你猜我是谁?哈哈 学习学习~~~~~ 楼主能做个语音的吗, 写的很详细,谢谢,学习一下