破解目标:速度天下浏览器
下载地址:http://www6.skycn.com/soft/28555.html
所用工具:P32Dasm,ollydbg
正文:
一、首先介绍一下软件的注册方法:
注册方法很简单,点帮助菜单,选“软件注册”,机器码不可更改,用户输入注册码后点确定即可。
二、用p32dasm打开“速度天下浏览器”,显示信息如下:
------------------------------------------------------------
File: D:\Program Files\速度天下浏览器\速度天下浏览器h.exe
P32Dasm v2.3
VB6 Application detected ... NCode
In DB doesn't exist: Web1
Form1
004082F0 1.1 Command1.Click()
00408560 1.2 Form.Load()
004085D0 1.3 Form.Resize()
004088C0 1.4 Text1.KeyDown(KeyCode As Integer, Shift As Integer)
00408950 1.5 Timer1.Timer()
00408A20 1.6 Toolbar1.ButtonClick(Button As Button)
00408B80 1.7 Web1.Unknown
00408D70 1.8 Web1.Unknown
00409090 1.9 Web1.Unknown
MDIForm1
00409210 2.1 a2.Click()
00409310 2.2 a5.Click()
00409380 2.3 b2.Click()
00409470 2.4 b3.Click()
00409520 2.5 b4.Click()
004095D0 2.6 MDIForm.Load()
frmLogin
00409750 3.1 cmdCancel.Click()
00409820 3.2 cmdOK.Click()<---这里就是“注册”对话框中“确定”按钮被点击时的地址!
00409AC0 3.3 Form.Load()
00409BC0 3.4
00409D20 3.5
File processed OK.
------------------------------------------------------------------
将上面我做标记的地方的地址复制下来,并用OLLYDBG(我用的是野猪力量的)打开程序,Ctrl+G,粘贴刚才复制下来的地址,转到00409820处下断点,F9运行。
输入注册码后,F8若干次后来到这里:
004098A7 . /7D 12 JGE SHORT 速度天下.004098BB
004098A9 . |68 A0000000 PUSH 0A0
004098AE . |68 D4384000 PUSH 速度天下.004038D4
004098B3 . |57 PUSH EDI
004098B4 . |50 PUSH EAX
004098B5 . |FF15 3C104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaHresu>; MSVBVM60.__vbaHresultCheckObj
004098BB > \8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
004098BE . 50 PUSH EAX
004098BF . 68 B43E4000 PUSH 速度天下.00403EB4 ; h
004098C4 . FF15 68104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaStrCm>; MSVBVM60.__vbaStrCmp<---顾名思义,这个函数是个比较函数!!
004098CA . 8BF8 MOV EDI,EAX
004098CC . 8D4D E8 LEA ECX,DWORD PTR SS:[EBP-18]
004098CF . F7DF NEG EDI
004098D1 . 1BFF SBB EDI,EDI
004098D3 . 47 INC EDI
004098D4 . F7DF NEG EDI
004098D6 . FF15 F0104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeS>; MSVBVM60.__vbaFreeStr
004098DC . 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24]
004098DF . FF15 F4104000 CALL DWORD PTR DS:[<&MSVBVM60.__vbaFreeO>; MSVBVM60.__vbaFreeObj
004098E5 . 66:3BFB CMP DI,BX
004098E8 . 0F84 F9000000 JE 速度天下.004099E7
004098EE . 8B3D B8104000 MOV EDI,DWORD PTR DS:[<&MSVBVM60.__vbaSt>; MSVBVM60.__vbaStrCopy
004098F4 . BA E83E4000 MOV EDX,速度天下.00403EE8 ; l
004098F9 . 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
004098FC . FFD7 CALL EDI
004098FE . BA DC3E4000 MOV EDX,速度天下.00403EDC ; r
00409903 . 8D4D E4 LEA ECX,DWORD PTR SS:[EBP-1C]
00409906 . FFD7 CALL EDI
当F8到我做标记的地方时,载堆栈窗口中已经有注册码了!(你那里可能和我的不一样),我这里显示的是:
0012FB58 00403EB4 UNICODE "hge5768ghdg"<---这是真正的注册码。
0012FB5C 0014D54C UNICODE "zhangqiang" <---这是我输入的注册码。
0012FB60 0012FC30
0012FB64 0012FD00
0012FB68 00000001
好了,大功告成!!!
输入注册码注册吧!
这是我的地一篇文章,好激动啊!呵呵。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!