【破解作者】 王者之剑
【作者邮箱】 hj2008mt@163.com
【作者主页】 bbs.7softs.com
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 XXXX娱乐管理系统 V3.55
【下载地址】
http://www.skycn.com/soft/2180.html
【软件简介】 飞天餐饮娱乐管理系统是一套功能强大而又简便实用的餐饮娱乐管理软件,包括前台营业、营业设置、营业分 析、财务查询、库存管理、辅助管理、系统管理、帮助信息等八大功能模块,实现了餐饮娱乐企业日常营运的 全面自动管理,可广泛适用于各种规模、各种类型的餐饮娱乐企业,如:餐厅、酒楼、歌舞厅、夜总会、桑拿 、酒吧、咖啡厅、快餐店、综合娱乐场所等等。
飞天餐饮娱乐管理系统总结了多年的应用实践经验,并参考了大量国内同类软件的优点,以真正产品化的方式 进行了精心设计,功能模块清晰,界面美观友好,操作简便快捷,并提供完善的在线帮助和使用说明,是餐饮 娱乐企业进行电脑信息化管理的理想选择。
【软件大小】 10087 KB
【加壳方式】 upx
【破解声明】 我是一只小菜鸟,看了一下前辈闪电狼的破文,首先膜拜一下:),应该是之前最高版本也只有网络版,现在增加到了KTV版,相对来说增加了一些功能,之前闪电狼是用W32破解的,一起改了四处,就成网络版,相对来说偶的就多点点了,呵呵!!偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
我们先查下壳,一看是个UPX的壳,这不等于和不加壳一样,哈!
脱壳机搞定,发现是个Borland Delphi 4.0 - 5.0写的程序,我这里就只用到了OD,其他的我没用到.
我们先注册看下有什么提示没,确定我们发现有"注册失败"的信息,那我们就找他了,哈!!
先提示一下,这地方一共有三处,但我们一起要完全破解要改七处,只有慢慢的改了,呵呵!!
第一处:
004EF554 /75 7B jnz short 004EF5D1 这里不跳就失败,如果我们改这里的跳那我们就会单机版注册成功,也就是会到004EF5D1
004EF556 |C705 A4B56200>mov dword ptr [62B5A4], 0A
004EF560 . |B8 A8B56200 mov eax, 0062B5A8
004EF565 . |B9 90054F00 mov ecx, 004F0590 ; 演示版
004EF56A . |8B15 E4B56200 mov edx, dword ptr [62B5E4]
004EF570 . |E8 474CF1FF call 004041BC
004EF575 . |A1 14B66200 mov eax, dword ptr [62B614]
004EF57A . |A3 9CB56200 mov dword ptr [62B59C], eax
004EF57F . |C705 ACB56200>mov dword ptr [62B5AC], 1
004EF589 . |33C0 xor eax, eax
004EF58B . |A3 B0B56200 mov dword ptr [62B5B0], eax
004EF590 . |BE 98054F00 mov esi, 004F0598
004EF595 . |BF B4B56200 mov edi, 0062B5B4
004EF59A . |B9 04000000 mov ecx, 4
004EF59F . |F3:A5 rep movs dword ptr es:[edi], dword p>
004EF5A1 . |A4 movs byte ptr es:[edi], byte ptr [esi>
004EF5A2 . |B8 D4B56200 mov eax, 0062B5D4
004EF5A7 . |BA B4054F00 mov edx, 004F05B4 ; 注册失败!
004EF5AC . |E8 9349F1FF call 00403F44
004EF5B1 . |B8 D8B56200 mov eax, 0062B5D8
004EF5B6 . |E8 3549F1FF call 00403EF0
004EF5BB . |B8 DCB56200 mov eax, 0062B5DC
004EF5C0 . |E8 2B49F1FF call 00403EF0
004EF5C5 . |C605 98B56200>mov byte ptr [62B598], 0
004EF5CC . |E9 020E0000 jmp 004F03D3
004EF5D1 > \80FB 0B cmp bl, 0B
004EF5D4 0F85 8D000000 jnz 004EF667
看到这时后我们要一直向下找,找到他的最高版本是什么版本,发现是KTV版,我看过介绍要多点点功能,呵呵!!
我们一直要找到KTV版注册成功在哪里.我们向下找可看到这里:
004F0204 . /E9 CA010000 jmp 004F03D3 我们要到这里才会是KTV版,那我们就将004EF554 jnz short 004EF5D1改成jmp 004F0209
004F0209 > |80FB 27 cmp bl, 27 上面有一个比较,这里就一定要NOP掉
004F020C |0F85 8B000000 jnz 004F029D
004F0212 . |C705 A4B56200>mov dword ptr [62B5A4], 27 ; Case 27 of switch 004EF552
004F021C . |B8 A8B56200 mov eax, 0062B5A8
004F0221 . |B9 AC074F00 mov ecx, 004F07AC ; ktv版
004F0226 . |8B15 E4B56200 mov edx, dword ptr [62B5E4]
004F022C . |E8 8B3FF1FF call 004041BC
004F0231 . |8B45 F8 mov eax, dword ptr [ebp-8]
004F0234 . |A3 ACB56200 mov dword ptr [62B5AC], eax
004F0239 . |A1 18B66200 mov eax, dword ptr [62B618]
004F023E . |A3 9CB56200 mov dword ptr [62B59C], eax
004F0243 . |8D85 BCFEFFFF lea eax, dword ptr [ebp-144]
004F0249 . |8B55 EC mov edx, dword ptr [ebp-14]
004F024C . |B9 FF000000 mov ecx, 0FF
004F0251 . |E8 F63EF1FF call 0040414C
004F0256 . |8D95 BCFEFFFF lea edx, dword ptr [ebp-144]
004F025C . |B8 B4B56200 mov eax, 0062B5B4
004F0261 . |B1 1E mov cl, 1E
004F0263 . |E8 6C2AF1FF call 00402CD4
004F0268 . |B8 D4B56200 mov eax, 0062B5D4
004F026D . |BA BC074F00 mov edx, 004F07BC ; ktv版注册成功!
004F0272 . |E8 CD3CF1FF call 00403F44
004F0277 . |B8 D8B56200 mov eax, 0062B5D8
004F027C . |8B55 E4 mov edx, dword ptr [ebp-1C]
004F027F . |E8 C03CF1FF call 00403F44
004F0284 . |B8 DCB56200 mov eax, 0062B5DC
004F0289 . |8B55 E0 mov edx, dword ptr [ebp-20]
004F028C . |E8 B33CF1FF call 00403F44
004F0291 . |C605 98B56200>mov byte ptr [62B598], 1
004F0298 |E9 36010000 jmp 004F03D3
004F029D > |80FB 64 cmp bl, 64
好了,我们找第二处了
005B438D /0F85 8D000000 jnz 005B4420 这里和上面一样改成JMP 005B5189
005B4393 . |A1 70756200 mov eax, dword ptr [627570] ; Case 0 of switch 005B438B
005B4398 . |C700 0A000000 mov dword ptr [eax], 0A
005B439E . |8B15 547B6200 mov edx, dword ptr [627B54] ; fantfore.0062B5E4
005B43A4 . |8B12 mov edx, dword ptr [edx]
005B43A6 . |A1 9C766200 mov eax, dword ptr [62769C]
005B43AB . |B9 6C565B00 mov ecx, 005B566C ; 演示版
005B43B0 . |E8 07FEE4FF call 004041BC
005B43B5 . |A1 3C746200 mov eax, dword ptr [62743C]
005B43BA . |8B00 mov eax, dword ptr [eax]
005B43BC . |8B15 20746200 mov edx, dword ptr [627420] ; fantfore.0062B59C
005B43C2 . |8902 mov dword ptr [edx], eax
005B43C4 . |A1 2C756200 mov eax, dword ptr [62752C]
005B43C9 . |C700 01000000 mov dword ptr [eax], 1
005B43CF . |A1 8C7E6200 mov eax, dword ptr [627E8C]
005B43D4 . |33D2 xor edx, edx
005B43D6 . |8910 mov dword ptr [eax], edx
005B43D8 . |A1 6C7E6200 mov eax, dword ptr [627E6C]
005B43DD . |8BF8 mov edi, eax
005B43DF . |BE 74565B00 mov esi, 005B5674
005B43E4 . |B9 04000000 mov ecx, 4
005B43E9 . |F3:A5 rep movs dword ptr es:[edi], dword p>
005B43EB . |A4 movs byte ptr es:[edi], byte ptr [esi>
005B43EC . |A1 A0756200 mov eax, dword ptr [6275A0]
005B43F1 . |BA 90565B00 mov edx, 005B5690 ; 注册失败!
005B43F6 . |E8 49FBE4FF call 00403F44
005B43FB . |A1 D0726200 mov eax, dword ptr [6272D0]
005B4400 . |E8 EBFAE4FF call 00403EF0
005B4405 . |A1 8C736200 mov eax, dword ptr [62738C]
005B440A . |E8 E1FAE4FF call 00403EF0
005B440F . |A1 D0736200 mov eax, dword ptr [6273D0]
005B4414 . |C600 00 mov byte ptr [eax], 0
005B4417 . |C645 FB 01 mov byte ptr [ebp-5], 1
005B441B . |E9 620F0000 jmp 005B5382
005B5184 . /E9 F9010000 jmp 005B5382
005B5189 > |80FB 27 cmp bl, 27 也就是在这里
005B518C |0F85 9A000000 jnz 005B522C 记得NOP掉
005B5192 . |A1 70756200 mov eax, dword ptr [627570] ; Case 27 of switch 005B438B
005B5197 . |C700 27000000 mov dword ptr [eax], 27
005B519D . |8B15 547B6200 mov edx, dword ptr [627B54] ; fantfore.0062B5E4
005B51A3 . |8B12 mov edx, dword ptr [edx]
005B51A5 . |A1 9C766200 mov eax, dword ptr [62769C]
005B51AA . |B9 88585B00 mov ecx, 005B5888 ; ktv版
005B51AF . |E8 08F0E4FF call 004041BC
005B51B4 . |A1 2C756200 mov eax, dword ptr [62752C]
005B51B9 . |8B55 F0 mov edx, dword ptr [ebp-10]
005B51BC . |8910 mov dword ptr [eax], edx
005B51BE . |A1 4C7B6200 mov eax, dword ptr [627B4C]
005B51C3 . |8B00 mov eax, dword ptr [eax]
005B51C5 . |8B15 20746200 mov edx, dword ptr [627420] ; fantfore.0062B59C
005B51CB . |8902 mov dword ptr [edx], eax
005B51CD . |8D85 B4FEFFFF lea eax, dword ptr [ebp-14C]
005B51D3 . |8B55 E4 mov edx, dword ptr [ebp-1C]
005B51D6 . |B9 FF000000 mov ecx, 0FF
005B51DB . |E8 6CEFE4FF call 0040414C
005B51E0 . |8D95 B4FEFFFF lea edx, dword ptr [ebp-14C]
005B51E6 . |A1 6C7E6200 mov eax, dword ptr [627E6C]
005B51EB . |B1 1E mov cl, 1E
005B51ED . |E8 E2DAE4FF call 00402CD4
005B51F2 . |A1 A0756200 mov eax, dword ptr [6275A0]
005B51F7 . |BA 98585B00 mov edx, 005B5898 ; ktv版注册成功!
005B51FC . |E8 43EDE4FF call 00403F44
005B5201 . |A1 D0726200 mov eax, dword ptr [6272D0]
现在到第三处:
0061F3C9 /0F85 8D000000 jnz 0061F45C 这里改成JMP 06201C5
0061F3CF . |A1 70756200 mov eax, dword ptr [627570] ; Case 0 of switch 0061F3C7
0061F3D4 . |C700 0A000000 mov dword ptr [eax], 0A
0061F3DA . |8B15 547B6200 mov edx, dword ptr [627B54] ; fantfore.0062B5E4
0061F3E0 . |8B12 mov edx, dword ptr [edx]
0061F3E2 . |A1 9C766200 mov eax, dword ptr [62769C]
0061F3E7 . |B9 A0056200 mov ecx, 006205A0 ; 演示版
0061F3EC . |E8 CB4DDEFF call 004041BC
0061F3F1 . |A1 3C746200 mov eax, dword ptr [62743C]
0061F3F6 . |8B00 mov eax, dword ptr [eax]
0061F3F8 . |8B15 20746200 mov edx, dword ptr [627420] ; fantfore.0062B59C
0061F3FE . |8902 mov dword ptr [edx], eax
0061F400 . |A1 2C756200 mov eax, dword ptr [62752C]
0061F405 . |C700 01000000 mov dword ptr [eax], 1
0061F40B . |A1 8C7E6200 mov eax, dword ptr [627E8C]
0061F410 . |33D2 xor edx, edx
0061F412 . |8910 mov dword ptr [eax], edx
0061F414 . |A1 6C7E6200 mov eax, dword ptr [627E6C]
0061F419 . |8BF8 mov edi, eax
0061F41B . |BE A8056200 mov esi, 006205A8
0061F420 . |B9 04000000 mov ecx, 4
0061F425 . |F3:A5 rep movs dword ptr es:[edi], dword p>
0061F427 . |A4 movs byte ptr es:[edi], byte ptr [esi>
0061F428 . |A1 A0756200 mov eax, dword ptr [6275A0]
0061F42D . |BA C4056200 mov edx, 006205C4 ; 注册失败!
0061F432 . |E8 0D4BDEFF call 00403F44
0061F437 . |A1 D0726200 mov eax, dword ptr [6272D0]
0061F43C . |E8 AF4ADEFF call 00403EF0
0061F441 . |A1 8C736200 mov eax, dword ptr [62738C]
0061F446 . |E8 A54ADEFF call 00403EF0
0061F44B . |A1 D0736200 mov eax, dword ptr [6273D0]
0061F450 . |C600 00 mov byte ptr [eax], 0
0061F453 . |C645 FB 01 mov byte ptr [ebp-5], 1
0061F457 . |E9 620F0000 jmp 006203BE
0061F45C > \80FB 0B cmp bl, 0B
006201C0 . /E9 F9010000 jmp 006203BE
006201C5 > |80FB 27 cmp bl, 27 也就是这里
006201C8 |0F85 9A000000 jnz 00620268 记得要NOP掉
006201CE . |A1 70756200 mov eax, dword ptr [627570] ; Case 27 of switch 0061F3C7
006201D3 . |C700 27000000 mov dword ptr [eax], 27
006201D9 . |8B15 547B6200 mov edx, dword ptr [627B54] ; fantfore.0062B5E4
006201DF . |8B12 mov edx, dword ptr [edx]
006201E1 . |A1 9C766200 mov eax, dword ptr [62769C]
006201E6 . |B9 BC076200 mov ecx, 006207BC ; ktv版
006201EB . |E8 CC3FDEFF call 004041BC
006201F0 . |A1 2C756200 mov eax, dword ptr [62752C]
006201F5 . |8B55 F0 mov edx, dword ptr [ebp-10]
006201F8 . |8910 mov dword ptr [eax], edx
006201FA . |A1 4C7B6200 mov eax, dword ptr [627B4C]
006201FF . |8B00 mov eax, dword ptr [eax]
00620201 . |8B15 20746200 mov edx, dword ptr [627420] ; fantfore.0062B59C
00620207 . |8902 mov dword ptr [edx], eax
00620209 . |8D85 B4FEFFFF lea eax, dword ptr [ebp-14C]
0062020F . |8B55 E4 mov edx, dword ptr [ebp-1C]
00620212 . |B9 FF000000 mov ecx, 0FF
00620217 . |E8 303FDEFF call 0040414C
0062021C . |8D95 B4FEFFFF lea edx, dword ptr [ebp-14C]
00620222 . |A1 6C7E6200 mov eax, dword ptr [627E6C]
00620227 . |B1 1E mov cl, 1E
00620229 . |E8 A62ADEFF call 00402CD4
0062022E . |A1 A0756200 mov eax, dword ptr [6275A0]
00620233 . |BA CC076200 mov edx, 006207CC ; ktv版注册成功!
00620238 . |E8 073DDEFF call 00403F44
0062023D . |A1 D0726200 mov eax, dword ptr [6272D0]
到了这里我们三处都改完了,一起改了六个地方,但是我在查找时发现还有这里:
004EF296 /74 05 je short 004EF29D
004EF298 |. |C603 00 mov byte ptr [ebx], 0
004EF29B |. |EB 4B jmp short 004EF2E8
004EF29D |> \33C0 xor eax, eax
004EF29F |. A3 8CB76200 mov dword ptr [62B78C], eax
004EF2A4 |. C705 90B76200>mov dword ptr [62B790], 1
004EF2AE |. 8BC4 mov eax, esp
004EF2B0 |. A3 94B76200 mov dword ptr [62B794], eax
004EF2B5 |. E8 C50A0100 call 004FFD7F
004EF2BA |. 85C0 test eax, eax
004EF2BC 74 0F je short 004EF2CD
004EF2BE |. B8 04F34E00 mov eax, 004EF304 ; 读加密狗错误,注册失败!
004EF2C3 |. E8 207CFFFF call 004E6EE8
004EF2C8 |. C603 00 mov byte ptr [ebx], 0
004EF2CB |. EB 1B jmp short 004EF2E8
004EF2CD |> 8A0424 mov al, byte ptr [esp]
004EF2D0 |. 8803 mov byte ptr [ebx], al
读加密狗错误,注册失败!
我怕这里会有影响,所以我把004EF2BC 74 0F je short 004EF2CD改成了JMP
到这里运行注册成为了KTV版
--------------------------------------------------------------------------------
【破解总结】
一起改了七处,详细如下:
004EF554 /75 7B jnz short 004EF5D1
改成 jmp 004F0209
005B438D /0F85 8D000000 jnz 005B4420
改成 JMP JMP 005B5189
0061F3C9 /0F85 8D000000 jnz 0061F45C
改成 JMP 06201C5
NOP掉三处:
004F020C |0F85 8B000000 jnz 004F029D NOP掉JNZ
005B518C |0F85 9A000000 jnz 005B522C NOP掉JNZ
006201C8 |0F85 9A000000 jnz 00620268 NOP掉JNZ
最后一处
004EF2BC 74 0F je short 004EF2CD改成了JMP
--------------------------------------------------------------------------------
【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整,欢迎大家来到七彩联盟论坛 谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课