- UID
- 5592
注册时间2005-12-21
阅读权限40
最后登录1970-1-1
独步武林
TA的每日心情 | 慵懒 2019-1-18 17:27 |
---|
签到天数: 30 天 [LV.5]常住居民I
|
【破文标题】黄金屋业务管理软件 1.0 寻码记
【破文作者】lzq1973[PYG][CZG][OCN][DFCG]
【作者邮箱】[email protected]
【作者主页】http://my.winzheng.com/?455397
【破解工具】OD、PEiD
【破解平台】WinXP
【软件名称】黄金屋业务管理软件 1.0
【软件大小】2337KB
【原版下载】http://www.newhua.com/soft/8430.htm
【保护方式】SN
【软件简介】 黄金屋业务管理软件是针对国内中小型企业的业务管理需求所开发的企业管理软件,业务管理软件的包括了财务管理,业务员管理,客户管理,业务业绩分析,
业务收款管理等功能,软件中为用户划分了独立的管理空间,企业的业务员可以独立管理自己的业务信息,客户信息,互不干扰,而企业的财务主管可以掌握整个企业的财务信息
,企业的总经理能够总揽整个企业的一切运作状况。
【破解声明】俺是只小小鸟,纯为学习,愿与大家分享!
------------------------------------------------------------------------
【破解过程】
1、PEiD侦之“Borland Delphi 6.0 - 7.0”,无壳,心中暗喜;
2、运行程序,来到注册界面,试着注册,有提示“注册码错误,请重新操作”,属直接比较型;
3、OD载入,用其插件找字相关字符串(上面已说了的),双击后来到565DD4这里,向上找子程序的开始处为565CB0,在这里下断,就来到了...
00565CB0 /. 55 push ebp
00565CB1 |. 8BEC mov ebp, esp
00565CB3 |. 6A 00 push 0
00565CB5 |. 6A 00 push 0
00565CB7 |. 6A 00 push 0
00565CB9 |. 33C0 xor eax, eax
00565CBB |. 55 push ebp
00565CBC |. 68 F95D5600 push 00565DF9
00565CC1 |. 64:FF30 push dword ptr fs:[eax]
00565CC4 |. 64:8920 mov fs:[eax], esp
00565CC7 |. A1 E4605B00 mov eax, [5B60E4]
00565CCC |. 8B00 mov eax, [eax]
00565CCE |. 50 push eax
00565CCF |. 8D45 F8 lea eax, [ebp-8]
00565CD2 |. 50 push eax
00565CD3 |. B9 0C5E5600 mov ecx, 00565E0C ; urv
00565CD8 |. BA 185E5600 mov edx, 00565E18 ; sv
00565CDD |. B8 245E5600 mov eax, 00565E24 ; superaffair
00565CE2 |. E8 31AEFFFF call 00560B18
00565CE7 |. 8B45 F8 mov eax, [ebp-8]
00565CEA |. BA 385E5600 mov edx, 00565E38 ; regver
00565CEF |. E8 1CEAE9FF call 00404710
00565CF4 |. 75 0F jnz short 00565D05
00565CF6 |. B8 485E5600 mov eax, 00565E48 ; 软件注册已经成功,谢谢您的支持!
00565CFB |. E8 4C4EEDFF call 0043AB4C
00565D00 |. E9 D9000000 jmp 00565DDE
00565D05 |> E8 AEB3FFFF call 005610B8
00565D0A |. 8D55 FC lea edx, [ebp-4]
00565D0D |. E8 D240EAFF call 00409DE4
00565D12 |. A1 7C615B00 mov eax, [5B617C]
00565D17 |. 8B00 mov eax, [eax]
00565D19 |. 05 10030000 add eax, 310
00565D1E |. BA 745E5600 mov edx, 00565E74 ; 软件注册
00565D23 |. E8 30E6E9FF call 00404358
00565D28 |. 68 885E5600 push 00565E88 ; 序列号为:
00565D2D |. FF75 FC push dword ptr [ebp-4]
00565D30 |. 68 9C5E5600 push 00565E9C ; ,请输入注册码
00565D35 |. A1 7C615B00 mov eax, [5B617C]
00565D3A |. 8B00 mov eax, [eax]
00565D3C |. 05 14030000 add eax, 314
00565D41 |. BA 03000000 mov edx, 3
00565D46 |. E8 39E9E9FF call 00404684
00565D4B |. A1 7C615B00 mov eax, [5B617C]
00565D50 |. 8B00 mov eax, [eax]
00565D52 |. 05 18030000 add eax, 318
00565D57 |. E8 A8E5E9FF call 00404304
00565D5C |. A1 7C615B00 mov eax, [5B617C]
00565D61 |. 8B00 mov eax, [eax]
00565D63 |. 8B10 mov edx, [eax]
00565D65 |. FF92 EC000000 call [edx+EC]
00565D6B |. 48 dec eax
00565D6C |. 75 70 jnz short 00565DDE
00565D6E |. 8D55 F4 lea edx, [ebp-C]
00565D71 |. 8B45 FC mov eax, [ebp-4]
00565D74 |. E8 EBB1FFFF call 00560F64 ; 关键处(注册算法)
00565D79 |. 8B55 F4 mov edx, [ebp-C] ; (ASCII "CC753362")
00565D7C |. A1 7C615B00 mov eax, [5B617C]
00565D81 |. 8B00 mov eax, [eax]
00565D83 |. 8B80 18030000 mov eax, [eax+318] ; 假码
00565D89 |. E8 82E9E9FF call 00404710
00565D8E |. 75 44 jnz short 00565DD4
00565D90 |. A1 E4605B00 mov eax, [5B60E4]
00565D95 |. 8B00 mov eax, [eax] ; 注册信息保存处 (ASCII "C:\WINDOWS\UnderWork.ini")
00565D97 |. 50 push eax
00565D98 |. B9 385E5600 mov ecx, 00565E38 ; 注册标志 regver
00565D9D |. BA 185E5600 mov edx, 00565E18 ; sv
00565DA2 |. B8 245E5600 mov eax, 00565E24 ; superaffair
00565DA7 |. E8 80AEFFFF call 00560C2C
00565DAC |. A1 E4605B00 mov eax, [5B60E4]
00565DB1 |. 8B00 mov eax, [eax]
00565DB3 |. 50 push eax
00565DB4 |. B9 B45E5600 mov ecx, 00565EB4 ; alive
00565DB9 |. BA C45E5600 mov edx, 00565EC4 ; systemstate
00565DBE |. B8 245E5600 mov eax, 00565E24 ; superaffair
00565DC3 |. E8 64AEFFFF call 00560C2C
00565DC8 |. B8 D85E5600 mov eax, 00565ED8 ; 软件注册成功,谢谢您的支持!
00565DCD |. E8 7A4DEDFF call 0043AB4C
00565DD2 |. EB 0A jmp short 00565DDE
00565DD4 |> B8 005F5600 mov eax, 00565F00 ; 注册码错误,请重新操作
00565DD9 |. E8 6E4DEDFF call 0043AB4C
00565DDE |> 33C0 xor eax, eax
00565DE0 |. 5A pop edx
00565DE1 |. 59 pop ecx
00565DE2 |. 59 pop ecx
00565DE3 |. 64:8910 mov fs:[eax], edx
00565DE6 |. 68 005E5600 push 00565E00
00565DEB |> 8D45 F4 lea eax, [ebp-C]
00565DEE |. BA 03000000 mov edx, 3
00565DF3 |. E8 30E5E9FF call 00404328
00565DF8 \. C3 retn
00565DF9 .^ E9 2ADEE9FF jmp 00403C28
00565DFE .^ EB EB jmp short 00565DEB
00565E00 . 8BE5 mov esp, ebp
00565E02 . 5D pop ebp
00565E03 . C3 retn
====== 这里F7 00565D74 |. E8 EBB1FFFF call 00560F64 ============
00560F64 /$ 55 push ebp ; 来到这里
00560F65 |. 8BEC mov ebp, esp
00560F67 |. 33C9 xor ecx, ecx
00560F69 |. 51 push ecx
00560F6A |. 51 push ecx
00560F6B |. 51 push ecx
00560F6C |. 51 push ecx
00560F6D |. 51 push ecx
00560F6E |. 51 push ecx
00560F6F |. 51 push ecx
00560F70 |. 53 push ebx
00560F71 |. 56 push esi
00560F72 |. 57 push edi
00560F73 |. 8955 F8 mov [ebp-8], edx
00560F76 |. 8945 FC mov [ebp-4], eax ; 机器码A (ASCII " PF2B27K2119S5A")
00560F79 |. 8B45 FC mov eax, [ebp-4]
00560F7C |. E8 3338EAFF call 004047B4
00560F81 |. 33C0 xor eax, eax
00560F83 |. 55 push ebp
00560F84 |. 68 7C105600 push 0056107C
00560F89 |. 64:FF30 push dword ptr fs:[eax]
00560F8C |. 64:8920 mov fs:[eax], esp
00560F8F |. 8B45 FC mov eax, [ebp-4]
00560F92 |. E8 2D36EAFF call 004045C4
00560F97 |. 8BF8 mov edi, eax
00560F99 |. 85FF test edi, edi
00560F9B |. 7E 2F jle short 00560FCC
00560F9D |. BE 01000000 mov esi, 1
00560FA2 |> 8B45 FC /mov eax, [ebp-4] ; / 取数字
00560FA5 |. 8A5C30 FF |mov bl, [eax+esi-1] ; |
00560FA9 |. 80FB 31 |cmp bl, 31 ; | 大于等于1
00560FAC |. 72 1A |jb short 00560FC8 ; |
00560FAE |. 80FB 39 |cmp bl, 39 ; | 小于等于9
00560FB1 |. 77 15 |ja short 00560FC8 ; |
00560FB3 |. 8D45 F0 |lea eax, [ebp-10] ; |
00560FB6 |. 8BD3 |mov edx, ebx ; |
00560FB8 |. E8 2F35EAFF |call 004044EC ; |
00560FBD |. 8B55 F0 |mov edx, [ebp-10] ; |
00560FC0 |. 8D45 F4 |lea eax, [ebp-C] ; |
00560FC3 |. E8 0436EAFF |call 004045CC ; |
00560FC8 |> 46 |inc esi ; |
00560FC9 |. 4F |dec edi ; |
00560FCA |.^ 75 D6 \jnz short 00560FA2 ; \ 循环
00560FCC |> 837D F4 00 cmp dword ptr [ebp-C], 0 ; (ASCII "22721195")
00560FD0 |. 75 0D jnz short 00560FDF
00560FD2 |. 8D45 F4 lea eax, [ebp-C]
00560FD5 |. BA 94105600 mov edx, 00561094
00560FDA |. E8 BD33EAFF call 0040439C
00560FDF |> 8B45 F4 mov eax, [ebp-C] ; 取硬盘ID的数字从左至右,这里为10进制,假定为B (ASCII "22721195")
00560FE2 |. E8 1584EAFF call 004093FC
00560FE7 |. 05 A77D0000 add eax, 7DA7 ; B+32167
00560FEC |. 83D2 00 adc edx, 0
00560FEF |. 52 push edx ; /Arg2
00560FF0 |. 50 push eax ; |Arg1
00560FF1 |. 8D45 EC lea eax, [ebp-14] ; |
00560FF4 |. E8 3F83EAFF call 00409338 ; \SuperAff.00409338
00560FF9 |. 8B55 EC mov edx, [ebp-14] ; 和为C (ASCII "22753362")
00560FFC |. 8D45 F4 lea eax, [ebp-C]
00560FFF |. E8 9833EAFF call 0040439C
00561004 |. 8D45 E8 lea eax, [ebp-18]
00561007 |. 8B55 F4 mov edx, [ebp-C] ; 赋值给EDX(ASCII "22753362")
0056100A |. 8A12 mov dl, [edx] ; 取第一位,(从左至右)
0056100C |. E8 DB34EAFF call 004044EC
00561011 |. 8B45 E8 mov eax, [ebp-18]
00561014 |. E8 6F83EAFF call 00409388
00561019 |. 8BD8 mov ebx, eax
0056101B |. 80C3 41 add bl, 41 ; 这里是16进制相加 (2+41)=43
0056101E |. 8D45 F4 lea eax, [ebp-C]
00561021 |. E8 F637EAFF call 0040481C
00561026 |. 8818 mov [eax], bl ; 转为字符 bl=43 ('C')
00561028 |. 8D45 E4 lea eax, [ebp-1C]
0056102B |. 8B55 F4 mov edx, [ebp-C] ; 替换C的第一字符 (ASCII "C2753362")
0056102E |. 8A52 01 mov dl, [edx+1] ; 取第二位,(从左至右)
00561031 |. E8 B634EAFF call 004044EC
00561036 |. 8B45 E4 mov eax, [ebp-1C]
00561039 |. E8 4A83EAFF call 00409388
0056103E |. 8BD8 mov ebx, eax
00561040 |. 80C3 41 add bl, 41 ; 这里是16进制相加 (2+41)=43
00561043 |. 8D45 F4 lea eax, [ebp-C]
00561046 |. E8 D137EAFF call 0040481C
0056104B |. 8858 01 mov [eax+1], bl ; 转为字符 bl=43 ('C')
0056104E |. 8B45 F8 mov eax, [ebp-8]
00561051 |. 8B55 F4 mov edx, [ebp-C] ; 替换C的第二字符 (ASCII "C2753362")
00561054 |. E8 FF32EAFF call 00404358
00561059 |. 33C0 xor eax, eax
0056105B |. 5A pop edx
0056105C |. 59 pop ecx
0056105D |. 59 pop ecx
0056105E |. 64:8910 mov fs:[eax], edx
00561061 |. 68 83105600 push 00561083
00561066 |> 8D45 E4 lea eax, [ebp-1C]
00561069 |. BA 05000000 mov edx, 5
0056106E |. E8 B532EAFF call 00404328
00561073 |. 8D45 FC lea eax, [ebp-4]
00561076 |. E8 8932EAFF call 00404304
0056107B \. C3 retn
0056107C .^ E9 A72BEAFF jmp 00403C28
00561081 .^ EB E3 jmp short 00561066
00561083 . 5F pop edi
00561084 . 5E pop esi
00561085 . 5B pop ebx
00561086 . 8BE5 mov esp, ebp
00561088 . 5D pop ebp
00561089 . C3 retn
------------------------------------------------------------------------
【破解总结】
典型的明码比较,其算法也简单,但还是总结一下的好。
1、取其机器码A的数字组成另一字串B;
2、B+32167的和组成另一字串C,这里为十进制运算;
3、字串C的第一字符和第二字符分别加上41(这里为16进制运算),分别将其和转为字符,再连接后面的数字。
4、注册信息保存处 (ASCII "C:\WINDOWS\UnderWork.ini"),删除可重来
如:机器码为PF2B27K2119S5A;其数字就是22721195,加上32167后和为22753362;第一、二为分别为2、2,其算式分别为2+41=43、2+41=43,bl=43 ('C'),转换后就是CC753362,这就是注册码。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!
[ 本帖最后由 lzq1973 于 2007-3-21 08:13 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入我们
x
|