飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3260|回复: 4

[原创] 冷袖残影破解系列之三

[复制链接]
  • TA的每日心情
    开心
    2024-5-4 22:08
  • 签到天数: 114 天

    [LV.6]常住居民II

    发表于 2007-5-31 14:47:30 | 显示全部楼层 |阅读模式
    【破文标题】冷袖残影破解系列之三
    【破文作者】冷袖残影
    【作者邮箱】
    【作者主页】
    【破解工具】OD PEID
    【破解平台】WindowsXP
    【软件名称】职工档案管理系统2.1.1
    【软件大小】2.76MB
    【原版下载】http://www.skycn.com/soft/7792.html
    【保护方式】注册码
    【软件简介】本软件是由吴泽勋为你开发设计的,主要涉及中小型企事业计算机自动化管理,办公自动化管理及其他信息管理系统。
    钩子软件最大的特点就是为你量身定制,根据你的特殊需要制定特定的解决方案,解决你使用通用软件不便,庞杂的缺点。

    【破解声明】没有任何目的,纯属练手
    ------------------------------------------------------------------------
    【破解过程】第一步:查壳.Microsoft Visual Basic 5.0 / 6.0,没有加壳,我们启动软件后注册看看.启动后出现注册对话框,输入假码试试看,发现系统提示"注册信息不对,请联系作者"

    第二步:OD载入,查找字符串,发现没有什么可用信息.于是下断点.bp rtcMsgBox.F9运行程序.输入假码,点注册,程序被断.
    005145A9   .  52                        PUSH EDX                      程序被断在这里.
    005145AA   .  50                        PUSH EAX
    005145AB   .  895D C8                   MOV DWORD PTR SS:[EBP-38],EBX
    005145AE   .  C785 6CFFFFFF 08000000    MOV DWORD PTR SS:[EBP-94],8

    第三步:ALT+F9.返回程序主领空,点注册,程序返回到这个地方
    00514DCC   .  FF15 A4104000 CALL DWORD PTR DS:[<&MSVBVM60.#595>]     ;  MSVBVM60.rtcMsgBox  我们下断                                                                                            点的地方
    00514DD2   .  8D85 7CFFFFFF LEA EAX,DWORD PTR SS:[EBP-84]                 程序返回到这里.
    00514DD8   .  8D4D 8C       LEA ECX,DWORD PTR SS:[EBP-74]
    00514DDB   .  50            PUSH EAX
    00514DDC   .  8D55 9C       LEA EDX,DWORD PTR SS:[EBP-64]
    00514DDF   .  51            PUSH ECX
    00514DE0   .  8D45 AC       LEA EAX,DWORD PTR SS:[EBP-54]
    00514DE3   .  52            PUSH EDX
    00514DE4   .  50            PUSH EAX


    我们向上看,找这是从那里跳过来的

    00514D44   .  56            PUSH ESI
    00514D45   .  50            PUSH EAX
    00514D46   .  FF15 68104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
    00514D4C   >  8D4D C4       LEA ECX,DWORD PTR SS:[EBP-3C]
    00514D4F   .  FF15 6C124000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
    00514D55   .  E9 9F000000   JMP zgdagl.00514DF9
    00514D5A   >  8B35 00124000 MOV ESI,DWORD PTR DS:[<&MSVBVM60.__vbaVa>;  MSVBVM60.__vbaVarDup 有个跳                                                                 转跳到这里.我们看看是从那里跳到这的
    00514D60   .  B9 04000280   MOV ECX,80020004
    00514D65   .  894D 84       MOV DWORD PTR SS:[EBP-7C],ECX
    00514D68   .  B8 0A000000   MOV EAX,0A
    00514D6D   .  894D 94       MOV DWORD PTR SS:[EBP-6C],ECX
    00514D70   .  8D95 18FFFFFF LEA EDX,DWORD PTR SS:[EBP-E8]
    00514D76   .  8D4D 9C       LEA ECX,DWORD PTR SS:[EBP-64]
    00514D79   .  8985 7CFFFFFF MOV DWORD PTR SS:[EBP-84],EAX

    我们向上看到00514D5A处有个跳转,注意看他是从那里跳到这里的
    DS:[00401200]=661006CA (MSVBVM60.__vbaVarDup)
    跳转来自 0051465D                     看到没有,是从0051465D跳过来的.

    我们来到0051465D处看看

    0051464E   .  50            PUSH EAX
    0051464F   .  6A 05         PUSH 5
    00514651   .  FF15 38104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
    00514657   .  83C4 28       ADD ESP,28
    0051465A   .  66:3BF3       CMP SI,BX
    0051465D   .  0F84 F7060000 JE zgdagl.00514D5A                 关键跳,暴破的地方.把JE改成JNE就暴掉了
    00514663   .  68 C4F14100   PUSH zgdagl.0041F1C4

    我们想追踪注册码,就由些向上看,找地方下断,
    005145A9   .  52            PUSH EDX                          下断点
    005145AA   .  50            PUSH EAX
    005145AB   .  895D C8       MOV DWORD PTR SS:[EBP-38],EBX
    005145AE   .  C785 6CFFFFFF>MOV DWORD PTR SS:[EBP-94],8
    005145B8   .  FF15 C0104000 CALL DWORD PTR DS:[<&MSVBVM60.#520>]     ;  MSVBVM60.rtcTrimVar
    005145BE   .  8B35 E0114000 MOV ESI,DWORD PTR DS:[<&MSVBVM60.__vbaVa>;  MSVBVM60.__vbaVarCmpEq
    005145C4   .  8D4D 8C       LEA ECX,DWORD PTR SS:[EBP-74]
    005145C7   .  8D55 9C       LEA EDX,DWORD PTR SS:[EBP-64]
    005145CA   .  51            PUSH ECX
    005145CB   .  8D85 7CFFFFFF LEA EAX,DWORD PTR SS:[EBP-84]
    005145D1   .  52            PUSH EDX
    005145D2   .  50            PUSH EAX
    005145D3   .  C785 30FFFFFF>MOV DWORD PTR SS:[EBP-D0],zgdagl.0042687>;  UNICODE "3BJWD-L9FIJ-ILYUX-IPVFP-OLTOB"                                               其实真的注册码出来了
    005145DD   .  C785 28FFFFFF>MOV DWORD PTR SS:[EBP-D8],8008
    005145E7   .  FFD6          CALL ESI                                 ;  <&MSVBVM60.__vbaVarCmpEq>
    005145E9   .  8D8D 5CFFFFFF LEA ECX,DWORD PTR SS:[EBP-A4]
    005145EF   .  50            PUSH EAX
    005145F0   .  8D95 28FFFFFF LEA EDX,DWORD PTR SS:[EBP-D8]
    005145F6   .  51            PUSH ECX
    005145F7   .  8D85 4CFFFFFF LEA EAX,DWORD PTR SS:[EBP-B4]
    005145FD   .  52            PUSH EDX
    005145FE   .  50            PUSH EAX
    005145FF   .  FFD6          CALL ESI
    00514601   .  8D8D 3CFFFFFF LEA ECX,DWORD PTR SS:[EBP-C4]
    00514607   .  50            PUSH EAX
    00514608   .  51            PUSH ECX
    00514609   .  FF15 10114000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarOr>;  MSVBVM60.__vbaVarOr
    0051460F   .  50            PUSH EAX
    00514610   .  FF15 C4104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaBoolV>;  MSVBVM60.__vbaBoolVarNull
    00514616   .  8D4D D0       LEA ECX,DWORD PTR SS:[EBP-30]
    00514619   .  8BF0          MOV ESI,EAX
    0051461B   .  FF15 68124000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;  MSVBVM60.__vbaFreeStr
    00514621   .  8D55 BC       LEA EDX,DWORD PTR SS:[EBP-44]
    00514624   .  8D45 C0       LEA EAX,DWORD PTR SS:[EBP-40]
    00514627   .  52            PUSH EDX
    00514628   .  8D4D C4       LEA ECX,DWORD PTR SS:[EBP-3C]
    0051462B   .  50            PUSH EAX
    0051462C   .  51            PUSH ECX
    0051462D   .  6A 03         PUSH 3
    0051462F   .  FF15 40104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObjList
    00514635   .  8D95 5CFFFFFF LEA EDX,DWORD PTR SS:[EBP-A4]
    0051463B   .  8D85 6CFFFFFF LEA EAX,DWORD PTR SS:[EBP-94]
    00514641   .  52            PUSH EDX
    00514642   .  8D4D 9C       LEA ECX,DWORD PTR SS:[EBP-64]
    00514645   .  50            PUSH EAX
    00514646   .  8D55 8C       LEA EDX,DWORD PTR SS:[EBP-74]
    00514649   .  51            PUSH ECX
    0051464A   .  8D45 AC       LEA EAX,DWORD PTR SS:[EBP-54]
    0051464D   .  52            PUSH EDX
    0051464E   .  50            PUSH EAX
    0051464F   .  6A 05         PUSH 5
    00514651   .  FF15 38104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeV>;  MSVBVM60.__vbaFreeVarList
    00514657   .  83C4 28       ADD ESP,28
    0051465A   .  66:3BF3       CMP SI,BX
    0051465D   .  0F84 F7060000 JE zgdagl.00514D5A
    00514663   .  68 C4F14100   PUSH zgdagl.0041F1C4


    下面就不要我说了吧.你想怎么做就怎么做了,听你摆布啊


    ------------------------------------------------------------------------
    【破解总结】VB程序,关键还是要下好断点,能达事半功倍的效果,这个函数rtcMsgBox  显示一信息对话框.就能让我们轻松找到注册码.
    ------------------------------------------------------------------------
    【版权声明】

    评分

    参与人数 1威望 +20 收起 理由
    tigerisme + 20 鼓励

    查看全部评分

    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-5-31 15:44:35 | 显示全部楼层
    消息断点的利用,Good~!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-4 22:08
  • 签到天数: 114 天

    [LV.6]常住居民II

     楼主| 发表于 2007-5-31 16:43:51 | 显示全部楼层
    楼上的你天天在线啊,
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-6-1 11:23:41 | 显示全部楼层
    向楼主学习。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-4-28 00:30
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2007-8-26 15:44:32 | 显示全部楼层
    楼主厉害,象楼主看齐
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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