飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3056|回复: 3

[原创] 飞天餐饮娱乐管理系统 V3.55爆破

[复制链接]
  • TA的每日心情
    无聊
    2015-9-5 20:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-8-4 15:47:02 | 显示全部楼层 |阅读模式
    破解作者】 王者之剑
    【作者邮箱】 hj2008mt@163.com
    【作者主页】 bbs.7softs.com
    【使用工具】 OD
    【破解平台】 Win9x/NT/2000/XP
    【软件名称】 飞天餐饮娱乐管理系统 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
       
    --------------------------------------------------------------------------------
    【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整,欢迎大家来到七彩联盟论坛 谢谢!


    评分

    参与人数 1威望 +20 飘云币 +80 收起 理由
    tianxj + 20 + 80 您的贴子很精彩,希望能再次分享!

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-8-9 12:20:11 | 显示全部楼层
    破解过程很详细,谢谢分享。不过,飞天的暗桩不知解决了没有,这个软件据闻破解后使用一般超过3个月都要出问题的。
    按楼主说的去修改过了,应该是没能破掉。
    表面上,注册成功的标志是1)启动画面由飞天logo变成双猫图2)主界面中间广告栏完全显示为“飞天餐饮娱乐管理系统x.xx版”并且不再闪烁(否则只出现“飞天餐饮娱乐管理系统”并且与飞天网站图片交替闪烁)3)再次查看注册信息,注册码会完全隐去成为一串星号等等。而且,这还只是说表面上破解了,至于真的成功与否,还要看使用3个月后还能否正常使用。实际上,我用过多个版本的算法注册机都没用,更何况是如此简单的破解了:(
    以下附上我用注册机算出的注册码注册后情况
    ft01.gif
    ft02.gif

    [ 本帖最后由 netcab 于 2008-8-9 14:11 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-8-10 17:53:29 | 显示全部楼层
    谢谢太好了 谢谢分享
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-9-5 20:32
  • 签到天数: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2008-8-14 23:46:46 | 显示全部楼层
    要知道爆是最徹底的破解,而是不是算法,算法是分析作者的思路,爆才是完美!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表