冷袖残影破解系列之三
【破文标题】冷袖残影破解系列之三【破文作者】冷袖残影
【作者邮箱】
【作者主页】
【破解工具】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:,EBX
005145AE .C785 6CFFFFFF 08000000 MOV DWORD PTR SS:,8
第三步:ALT+F9.返回程序主领空,点注册,程序返回到这个地方
00514DCC .FF15 A4104000 CALL DWORD PTR DS:[<&MSVBVM60.#595>] ;MSVBVM60.rtcMsgBox我们下断 点的地方
00514DD2 .8D85 7CFFFFFF LEA EAX,DWORD PTR SS: 程序返回到这里.
00514DD8 .8D4D 8C LEA ECX,DWORD PTR SS:
00514DDB .50 PUSH EAX
00514DDC .8D55 9C LEA EDX,DWORD PTR SS:
00514DDF .51 PUSH ECX
00514DE0 .8D45 AC LEA EAX,DWORD PTR SS:
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:
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:,ECX
00514D68 .B8 0A000000 MOV EAX,0A
00514D6D .894D 94 MOV DWORD PTR SS:,ECX
00514D70 .8D95 18FFFFFF LEA EDX,DWORD PTR SS:
00514D76 .8D4D 9C LEA ECX,DWORD PTR SS:
00514D79 .8985 7CFFFFFF MOV DWORD PTR SS:,EAX
我们向上看到00514D5A处有个跳转,注意看他是从那里跳到这里的
DS:=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:,EBX
005145AE .C785 6CFFFFFF>MOV DWORD PTR SS:,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:
005145C7 .8D55 9C LEA EDX,DWORD PTR SS:
005145CA .51 PUSH ECX
005145CB .8D85 7CFFFFFF LEA EAX,DWORD PTR SS:
005145D1 .52 PUSH EDX
005145D2 .50 PUSH EAX
005145D3 .C785 30FFFFFF>MOV DWORD PTR SS:,zgdagl.0042687>;UNICODE "3BJWD-L9FIJ-ILYUX-IPVFP-OLTOB" 其实真的注册码出来了
005145DD .C785 28FFFFFF>MOV DWORD PTR SS:,8008
005145E7 .FFD6 CALL ESI ;<&MSVBVM60.__vbaVarCmpEq>
005145E9 .8D8D 5CFFFFFF LEA ECX,DWORD PTR SS:
005145EF .50 PUSH EAX
005145F0 .8D95 28FFFFFF LEA EDX,DWORD PTR SS:
005145F6 .51 PUSH ECX
005145F7 .8D85 4CFFFFFF LEA EAX,DWORD PTR SS:
005145FD .52 PUSH EDX
005145FE .50 PUSH EAX
005145FF .FFD6 CALL ESI
00514601 .8D8D 3CFFFFFF LEA ECX,DWORD PTR SS:
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:
00514619 .8BF0 MOV ESI,EAX
0051461B .FF15 68124000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>;MSVBVM60.__vbaFreeStr
00514621 .8D55 BC LEA EDX,DWORD PTR SS:
00514624 .8D45 C0 LEA EAX,DWORD PTR SS:
00514627 .52 PUSH EDX
00514628 .8D4D C4 LEA ECX,DWORD PTR SS:
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:
0051463B .8D85 6CFFFFFF LEA EAX,DWORD PTR SS:
00514641 .52 PUSH EDX
00514642 .8D4D 9C LEA ECX,DWORD PTR SS:
00514645 .50 PUSH EAX
00514646 .8D55 8C LEA EDX,DWORD PTR SS:
00514649 .51 PUSH ECX
0051464A .8D45 AC LEA EAX,DWORD PTR SS:
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显示一信息对话框.就能让我们轻松找到注册码.
------------------------------------------------------------------------
【版权声明】 消息断点的利用,Good~! 楼上的你天天在线啊, 向楼主学习。 楼主厉害,象楼主看齐
页:
[1]