破解作者:xsy3660
软件介绍:EasyBoss是中国第一套专为中小型及个人外贸企业量身打造的外贸管理软件,对外贸商务流程提供全面而实用的支持。
北京易商海泰克科技有限公司,携20多年的外贸行业信息化解决方案的经验,全国首家推出针对中小型及个人外贸企业的外贸业务管理软件――EasyBoss外贸业务管理软件,权威使用的外经贸商务流程知道
和实务功能,让您从容应对外贸业务中的各种问题,轻松玩转您的个人外贸商务之旅。
EasyBoss以其设计优秀、体贴用户、使用方便,提供全面而强大的外贸业务处理功能,具有很高的运行效率等特点,赢得了广大用户的青睐。
2004年10月,在广交会活动期间,更是得到了用户的一致好评。
EasyBoss是北京易商海泰克科技有限公司推出的“让商务活动更容易”外贸系列软件之一,通过最具权威的软件评测中心评测。
破解工具:ODFLY修改版
破解过程:pied查看,无壳。OD载入后,查找字符串,找到“注册成功”等字符。
0088BB86 8B10 mov edx,dword ptr ds:[eax]
0088BB88 FF92 EC000000 call dword ptr ds:[edx+EC]
0088BB8E 48 dec eax
0088BB8F 75 4B jnz short ftrade.0088BBDC
0088BB91 E8 2ACCD5FF call ftrade.005E87C0
0088BB96 84C0 test al,al
0088BB98 75 09 jnz short ftrade.0088BBA3
0088BB9A E8 65CDD5FF call ftrade.005E8904//关键call,进入
0088BB9F 84C0 test al,al
0088BBA1 74 21 je short ftrade.0088BBC4//失败跳走
0088BBA3 6A 40 push 40
0088BBA5 B9 E8BB8800 mov ecx,ftrade.0088BBE8
0088BBAA BA F0BB8800 mov edx,ftrade.0088BBF0 //注册成功!上看看
0088BBAF A1 40B18900 mov eax,dword ptr ds:[89B140]
0088BBB4 8B00 mov eax,dword ptr ds:[eax]
005E8904 55 push ebp
005E8905 8BEC mov ebp,esp
005E8907 B9 07000000 mov ecx,7
005E890C 6A 00 push 0
005E890E 6A 00 push 0
005E8910 49 dec ecx
.......... ..........
005E8AAD 8BC6 mov eax,esi
005E8AAF E8 2CC5FFFF call ftrade.005E4FE0
005E8AB4 8B55 CC mov edx,dword ptr ss:[ebp-34]
005E8AB7 58 pop eax
005E8AB8 E8 23C5E1FF call ftrade.00404FE0
005E8ABD 0F94C3 sete bl
005E8AC0 EB 33 jmp short ftrade.005E8AF5
005E8AC2 8D4D C8 lea ecx,dword ptr ss:[ebp-38]
005E8AC5 BA 408B5E00 mov edx,ftrade.005E8B40 ; ASCII "SERVER"
005E8ACA 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 假码,应要30位
005E8ACD E8 F2190000 call ftrade.005EA4C4 ; 取出假码中倒数第6位前的字符
005E8AD2 8B45 C8 mov eax,dword ptr ss:[ebp-38]
005E8AD5 50 push eax
005E8AD6 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005E8AD9 50 push eax
005E8ADA 8B4D F8 mov ecx,dword ptr ss:[ebp-8] ; 机器码
005E8ADD BA BC020000 mov edx,2BC
005E8AE2 8BC6 mov eax,esi
005E8AE4 E8 F7C4FFFF call ftrade.005E4FE0 ; 关键,进入
005E8AE9 8B55 C4 mov edx,dword ptr ss:[ebp-3C]
005E8AEC 58 pop eax
005E8AED E8 EEC4E1FF call ftrade.00404FE0 ; 比较的地方
005E8AF2 0F94C3 sete bl ; 结果是真或假,若假码是30位且前24位与串D等则为真
005E8AF5 8BC6 mov eax,esi
005E8AF7 E8 ACB1E1FF call ftrade.00403CA8
005E8AFC 33C0 xor eax,eax
005E8AFE 5A pop edx
005E8AFF 59 pop ecx
005E8B00 59 pop ecx
005E8B01 64:8910 mov dword ptr fs:[eax],edx
005E8B04 68 1E8B5E00 push ftrade.005E8B1E
005E8B09 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005E8B0C BA 0F000000 mov edx,0F
005E8B11 E8 D2C0E1FF call ftrade.00404BE8
005E8B16 C3 retn
----------------005E8AE4 E8 F7C4FFFF call ftrade.005E4FE0------------------
005E4FE0 55 push ebp
005E4FE1 8BEC mov ebp,esp
005E4FE3 6A 00 push 0
…… ……
005E5005 55 push ebp
005E5006 68 DA505E00 push ftrade.005E50DA
005E500B 64:FF30 push dword ptr fs:[eax]
005E500E 64:8920 mov dword ptr fs:[eax],esp
005E5011 8D4D F0 lea ecx,dword ptr ss:[ebp-10]
005E5014 8B55 F8 mov edx,dword ptr ss:[ebp-8]
005E5017 8BC3 mov eax,ebx
005E5019 E8 32FCFFFF call ftrade.005E4C50 ; 机器码运算,得串A
005E501E 8B45 F0 mov eax,dword ptr ss:[ebp-10]
005E5021 E8 6EFEE1FF call ftrade.00404E94
005E5026 8BF0 mov esi,eax
005E5028 85F6 test esi,esi
005E502A 7E 5F jle short ftrade.005E508B
005E502C BB 01000000 mov ebx,1
005E5031 8B45 F0 mov eax,dword ptr ss:[ebp-10] ; 串A给eax
005E5034 8A5418 FF mov dl,byte ptr ds:[eax+ebx-1] ; 串A中的字符依次给bl
005E5038 8BC2 mov eax,edx
005E503A 3C 20 cmp al,20
005E503C 76 49 jbe short ftrade.005E5087
005E503E 3C 7F cmp al,7F
005E5040 73 45 jnb short ftrade.005E5087
005E5042 33C0 xor eax,eax
005E5044 8AC2 mov al,dl ; bl给al
005E5046 8D53 01 lea edx,dword ptr ds:[ebx+1] ; 循环次数+1
005E5049 33C2 xor eax,edx
005E504B 8B0485 F0638900 mov eax,dword ptr ds:[eax*4+8963F0>; 查表得值
005E5052 0145 F4 add dword ptr ss:[ebp-C],eax ; ebp-c的值加上eax得到串B,ebp-c的初值为0
005E5055 8BC3 mov eax,ebx
005E5057 25 03000080 and eax,80000003 ; 此行用于确定005e5065是否跳
005E505C 79 05 jns short ftrade.005E5063
005E505E 48 dec eax
005E505F 83C8 FC or eax,FFFFFFFC
005E5062 40 inc eax
005E5063 85C0 test eax,eax
005E5065 75 20 jnz short ftrade.005E5087 ; 每循环4倍次数时不跳
005E5067 8D4D E8 lea ecx,dword ptr ss:[ebp-18] ; 串C的地址给ecx
005E506A 8B45 F4 mov eax,dword ptr ss:[ebp-C] ; 串B给eax
005E506D 0345 FC add eax,dword ptr ss:[ebp-4] ; eax加上定值2BC
005E5070 33D2 xor edx,edx
005E5072 E8 0157E2FF call ftrade.0040A778 ; 由串B得串C,进入
005E5077 8B55 E8 mov edx,dword ptr ss:[ebp-18] ; 串C给EDX
005E507A 8D45 EC lea eax,dword ptr ss:[ebp-14] ; 串D的地址给EAX
005E507D E8 1AFEE1FF call ftrade.00404E9C ; 把串D与串C连起来后仍记为串D,串D初值为0
005E5082 33C0 xor eax,eax ; EAX清0
005E5084 8945 F4 mov dword ptr ss:[ebp-C],eax ; [EBP-C]清0
005E5087 43 inc ebx
005E5088 4E dec esi
005E5089 ^ 75 A6 jnz short ftrade.005E5031
005E508B 837D F4 00 cmp dword ptr ss:[ebp-C],0
005E508F 7E 1B jle short ftrade.005E50AC
005E5091 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005E5094 8B45 F4 mov eax,dword ptr ss:[ebp-C]
005E5097 0345 FC add eax,dword ptr ss:[ebp-4]
005E509A 33D2 xor edx,edx
005E509C E8 D756E2FF call ftrade.0040A778
005E50A1 8B55 E4 mov edx,dword ptr ss:[ebp-1C]
005E50A4 8D45 EC lea eax,dword ptr ss:[ebp-14]
005E50A7 E8 F0FDE1FF call ftrade.00404E9C
005E50AC 8B45 08 mov eax,dword ptr ss:[ebp+8] ; 地址12FC18给EAX
005E50AF 8B55 EC mov edx,dword ptr ss:[ebp-14] ; 串D给EDX
005E50B2 E8 61FBE1FF call ftrade.00404C18 ; 串D放入12FC18
005E50B7 33C0 xor eax,eax
005E50B9 5A pop edx
005E50BA 59 pop ecx
005E50BB 59 pop ecx
005E50BC 64:8910 mov dword ptr fs:[eax],edx
005E50BF 68 E1505E00 push ftrade.005E50E1
005E50C4 8D45 E4 lea eax,dword ptr ss:[ebp-1C]
005E50C7 BA 04000000 mov edx,4
005E50CC E8 17FBE1FF call ftrade.00404BE8
005E50D1 8D45 F8 lea eax,dword ptr ss:[ebp-8]
005E50D4 E8 EBFAE1FF call ftrade.00404BC4
005E50D9 C3 retn
-----005E5019 E8 32FCFFFF call ftrade.005E4C50;机器码运算,得串A--------
005E4C50 55 push ebp
005E4C51 8BEC mov ebp,esp
005E4C53 6A 00 push 0
005E4C55 6A 00 push 0
005E4C57 6A 00 push 0
005E4C59 6A 00 push 0
005E4C5B 53 push ebx
005E4C5C 56 push esi
005E4C5D 57 push edi
005E4C5E 8BF9 mov edi,ecx
005E4C60 8955 FC mov dword ptr ss:[ebp-4],edx
005E4C63 8B45 FC mov eax,dword ptr ss:[ebp-4]
005E4C66 E8 1904E2FF call ftrade.00405084
005E4C6B 33C0 xor eax,eax
005E4C6D 55 push ebp
005E4C6E 68 F54C5E00 push ftrade.005E4CF5
005E4C73 64:FF30 push dword ptr fs:[eax]
005E4C76 64:8920 mov dword ptr fs:[eax],esp
005E4C79 8D55 F4 lea edx,dword ptr ss:[ebp-C]
005E4C7C 8B45 FC mov eax,dword ptr ss:[ebp-4]
005E4C7F E8 D053E2FF call ftrade.0040A054
005E4C84 8B55 F4 mov edx,dword ptr ss:[ebp-C]
005E4C87 8D45 FC lea eax,dword ptr ss:[ebp-4]
005E4C8A E8 CDFFE1FF call ftrade.00404C5C
005E4C8F 8B45 FC mov eax,dword ptr ss:[ebp-4]
005E4C92 E8 FD01E2FF call ftrade.00404E94
005E4C97 8BF0 mov esi,eax
005E4C99 85F6 test esi,esi
005E4C9B 7E 33 jle short ftrade.005E4CD0
005E4C9D BB 01000000 mov ebx,1
005E4CA2 8BC3 mov eax,ebx ; ebx为循环次数
005E4CA4 B9 03000000 mov ecx,3
005E4CA9 99 cdq ; EDX清0
005E4CAA F7F9 idiv ecx
005E4CAC 52 push edx ; 余数入栈
005E4CAD 8B45 FC mov eax,dword ptr ss:[ebp-4] ; 机器码给eax
005E4CB0 33D2 xor edx,edx
005E4CB2 8A5418 FF mov dl,byte ptr ds:[eax+ebx-1] ; 机器码的第i位给dl
005E4CB6 58 pop eax ; 弹出余数
005E4CB7 2BD0 sub edx,eax ; 机器码第i位减去余数
005E4CB9 8D45 F0 lea eax,dword ptr ss:[ebp-10]
005E4CBC E8 EB00E2FF call ftrade.00404DAC
005E4CC1 8B55 F0 mov edx,dword ptr ss:[ebp-10]
005E4CC4 8D45 F8 lea eax,dword ptr ss:[ebp-8]
005E4CC7 E8 D001E2FF call ftrade.00404E9C ; 把上面的差值与前i-位所得的差值相连得出一字符串
005E4CCC 43 inc ebx
005E4CCD 4E dec esi
005E4CCE ^ 75 D2 jnz short ftrade.005E4CA2
005E4CD0 8BC7 mov eax,edi
005E4CD2 8B55 F8 mov edx,dword ptr ss:[ebp-8]
005E4CD5 E8 3EFFE1FF call ftrade.00404C18
005E4CDA 33C0 xor eax,eax
005E4CDC 5A pop edx
005E4CDD 59 pop ecx
005E4CDE 59 pop ecx
005E4CDF 64:8910 mov dword ptr fs:[eax],edx
005E4CE2 68 FC4C5E00 push ftrade.005E4CFC
005E4CE7 8D45 F0 lea eax,dword ptr ss:[ebp-10]
005E4CEA BA 04000000 mov edx,4
005E4CEF E8 F4FEE1FF call ftrade.00404BE8
005E4CF4 C3 retn
005E4CF5 ^ E9 4AF7E1FF jmp ftrade.00404444
005E4CFA ^ EB EB jmp short ftrade.005E4CE7
005E4CFC 5F pop edi
005E4CFD 5E pop esi
005E4CFE 5B pop ebx
005E4CFF 8BE5 mov esp,ebp
005E4D01 5D pop ebp
005E4D02 C3 retn
-------005E5072 E8 0157E2FF call ftrade.0040A778 ; 由串B得串C--------
0040A778 83FA 20 cmp edx,20
0040A77B 76 02 jbe short ftrade.0040A77F
0040A77D 31D2 xor edx,edx
0040A77F 56 push esi
0040A780 89E6 mov esi,esp
0040A782 83EC 20 sub esp,20
0040A785 51 push ecx
0040A786 B9 10000000 mov ecx,10
0040A78B E8 88FEFFFF call ftrade.0040A618 ; 关键,进入
0040A790 89F2 mov edx,esi
0040A792 58 pop eax
0040A793 E8 1CA5FFFF call ftrade.00404CB4
0040A798 83C4 20 add esp,20
0040A79B 5E pop esi
0040A79C C3 retn
--------------0040A78B E8 88FEFFFF call ftrade.0040A618-------------
0040A618 08C9 or cl,cl
0040A61A 75 17 jnz short ftrade.0040A633
0040A61C 09C0 or eax,eax
0040A61E 79 0E jns short ftrade.0040A62E
0040A620 F7D8 neg eax
0040A622 E8 07000000 call ftrade.0040A62E
0040A627 B0 2D mov al,2D
0040A629 41 inc ecx
0040A62A 4E dec esi
0040A62B 8806 mov byte ptr ds:[esi],al
0040A62D C3 retn
0040A62E B9 0A000000 mov ecx,0A
0040A633 52 push edx
0040A634 56 push esi
0040A635 31D2 xor edx,edx ; 清0
0040A637 F7F1 div ecx ; eax除定值十进制数16
0040A639 4E dec esi
0040A63A 80C2 30 add dl,30 ; 余数加30
0040A63D 80FA 3A cmp dl,3A ; 是否大于3A(字符:)
0040A640 72 03 jb short ftrade.0040A645
0040A642 80C2 07 add dl,7 ; 若大于3A,则加7,使之为英文字母
0040A645 8816 mov byte ptr ds:[esi],dl ; 对应的结果放到[esi]中
0040A647 09C0 or eax,eax
0040A649 ^ 75 EA jnz short ftrade.0040A635
0040A64B 59 pop ecx
0040A64C 5A pop edx
0040A64D 29F1 sub ecx,esi
0040A64F 29CA sub edx,ecx
0040A651 76 10 jbe short ftrade.0040A663
0040A653 01D1 add ecx,edx
0040A655 B0 30 mov al,30
0040A657 29D6 sub esi,edx
0040A659 EB 03 jmp short ftrade.0040A65E
0040A65B 880432 mov byte ptr ds:[edx+esi],al
0040A65E 4A dec edx
0040A65F ^ 75 FA jnz short ftrade.0040A65B
0040A661 8806 mov byte ptr ds:[esi],al
0040A663 C3 retn
-----------005E8AED E8 EEC4E1FF call ftrade.00404FE0 ; 比较的地方-------
00404FE0 53 push ebx
00404FE1 56 push esi
00404FE2 57 push edi
00404FE3 89C6 mov esi,eax ; 取出的假码
00404FE5 89D7 mov edi,edx ; 串D
00404FE7 39D0 cmp eax,edx ; 取出的假码位数不能大于串D的位数(24位)
00404FE9 0F84 8F000000 je ftrade.0040507E
00404FEF 85F6 test esi,esi
00404FF1 74 68 je short ftrade.0040505B
00404FF3 85FF test edi,edi
00404FF5 74 6B je short ftrade.00405062
00404FF7 8B46 FC mov eax,dword ptr ds:[esi-4] ; 取出的假码位数
00404FFA 8B57 FC mov edx,dword ptr ds:[edi-4] ; 串D位数
00404FFD 29D0 sub eax,edx
00404FFF 77 02 ja short ftrade.00405003
00405001 01C2 add edx,eax
00405003 52 push edx
00405004 C1EA 02 shr edx,2 ; 假码位数逻辑右移2位
00405007 74 26 je short ftrade.0040502F
00405009 8B0E mov ecx,dword ptr ds:[esi]
0040500B 8B1F mov ebx,dword ptr ds:[edi]
0040500D 39D9 cmp ecx,ebx ; 每4位比较,不等则跳走
0040500F 75 58 jnz short ftrade.00405069
00405011 4A dec edx
00405012 74 15 je short ftrade.00405029
00405014 8B4E 04 mov ecx,dword ptr ds:[esi+4]
00405017 8B5F 04 mov ebx,dword ptr ds:[edi+4]
0040501A 39D9 cmp ecx,ebx ; 不等则跳走
0040501C 75 4B jnz short ftrade.00405069
0040501E 83C6 08 add esi,8
00405021 83C7 08 add edi,8
00405024 4A dec edx ; 循环控制
00405025 ^ 75 E2 jnz short ftrade.00405009
00405027 EB 06 jmp short ftrade.0040502F
00405029 83C6 04 add esi,4
0040502C 83C7 04 add edi,4
0040502F 5A pop edx
00405030 83E2 03 and edx,3
00405033 74 22 je short ftrade.00405057
00405035 8B0E mov ecx,dword ptr ds:[esi] ; 以下是不足4位时的比较
00405037 8B1F mov ebx,dword ptr ds:[edi]
00405039 38D9 cmp cl,bl
0040503B 75 41 jnz short ftrade.0040507E
0040503D 4A dec edx
0040503E 74 17 je short ftrade.00405057
00405040 38FD cmp ch,bh
00405042 75 3A jnz short ftrade.0040507E
00405044 4A dec edx
00405045 74 10 je short ftrade.00405057
00405047 81E3 0000FF00 and ebx,0FF0000
0040504D 81E1 0000FF00 and ecx,0FF0000
00405053 39D9 cmp ecx,ebx
00405055 75 27 jnz short ftrade.0040507E
00405057 01C0 add eax,eax ; eax是否为0,取出的假码位数等于串D时为0。
00405059 EB 23 jmp short ftrade.0040507E
0040505B 8B57 FC mov edx,dword ptr ds:[edi-4]
0040505E 29D0 sub eax,edx
00405060 EB 1C jmp short ftrade.0040507E
00405062 8B46 FC mov eax,dword ptr ds:[esi-4]
00405065 29D0 sub eax,edx
00405067 EB 15 jmp short ftrade.0040507E
00405069 5A pop edx
0040506A 38D9 cmp cl,bl
0040506C 75 10 jnz short ftrade.0040507E
0040506E 38FD cmp ch,bh
00405070 75 0C jnz short ftrade.0040507E
00405072 C1E9 10 shr ecx,10
00405075 C1EB 10 shr ebx,10
00405078 38D9 cmp cl,bl
0040507A 75 02 jnz short ftrade.0040507E
0040507C 38FD cmp ch,bh
0040507E 5F pop edi
0040507F 5E pop esi
00405080 5B pop ebx
00405081 C3 retn
小结
1、取假码倒数第6位前的字符
2、机器码经多次运算得一字符串
3、取出的假码与2中的字符串比较,位数相同,且每位相等,则注册成功。
本人的机器码为:1851A212B1A81BBB0124DDF1
注册码:13D217BB1BC0132D55E62D56111111
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!