菜鸟破解录(九)之 CDSpace 1.95
软件名称:CDSpace
版 本:1.95
简 介:一个相当不错的虚拟光驱程序,操作简单,最大可同时使用23个虚拟光驱。
作 者:xiA Qin
等 级:很菜....很菜....
破解日期:2000年7月22日
破解工具:Trw2000 1.22
破解目的:学习注册码的破解(简单)
说 明:
本文是在我的软件破解记录上整理出来的。所以在文中没有任何的注册码,只作技术交流。如若有纰漏,请各位大侠多指教!
运行程序,输入注册信息。
name: xiA Qin &任意输入
code: 1234567890123456 必须是16位,为什么?程序会检查注册码位数。下面会讲到
下指令bpx hmemcpy //下中断点
按F5回到程序,按确定,这时会被Trw2000拦截到。
下指令bd * //屏障中断点
下指令pmodule //直接跳到程序的领空
按F10来到下面的代码。
...................
015F:00409570 CALL 0040FB9E
015F:00409575 LEA ECX,[ESP+10]
015F:00409579 CALL 0040FB1A
015F:0040957E XOR ESI,ESI
015F:00409580 LEA ECX,[ESP+14]
015F:00409584 MOV [ESP+2C],ESI
015F:00409588 CALL 0040FB1A
015F:0040958D MOV EAX,[EDI+60]
015F:00409590 LEA EBP,[EDI+60]
015F:00409593 MOV BYTE PTR [ESP+2C],01
015F:00409598 CMP DWORD PTR [EAX-08],06
015F:0040959C JGE 004095AA
015F:0040959E PUSH ESI
015F:0040959F PUSH ESI
015F:004095A0 PUSH 00418810
015F:004095A5 JMP 004096AC
把16进制的10换算成10进制=16,表示注册码
015F:004095AA MOV EDX,[EDI+64]
┍──────────── 是16位
015F:004095AD LEA EBX,[EDI+64]
↓
015F:004095B0 CMP DWORD PTR [EDX-08],10 //检查注册码的位数是不是16位。
015F:004095B4 JZ 004095C2
//是16位就跳到004095C2继续检查注册码是否正确,
015F:004095B6 PUSH ESI
不然死给你看。当然我们可以把它改成无条件
015F:004095B7 PUSH ESI
跳转 JMP 。
015F:004095B8 PUSH 004187FC
015F:004095BD JMP 004096AC
015F:004095C2 XOR ECX,ECX
015F:004095C4 MOV AL,[ECX+EDX]
015F:004095C7 CMP AL,30
015F:004095C9 JL 004095CF
015F:004095CB CMP AL,39
015F:004095CD JLE 004095DF
015F:004095CF CMP AL,41
015F:004095D1 JL 0040969E
015F:004095D7 CMP AL,46
015F:004095D9 JG 0040969E
015F:004095DF INC ECX
015F:004095E0 CMP ECX,08
015F:004095E3 JL 004095C4
015F:004095E5 LEA ECX,[ESP+1C]
015F:004095E9 PUSH ECX
015F:004095EA PUSH ECX
015F:004095EB MOV ECX,ESP
015F:004095ED MOV [ESP+20],ESP
015F:004095F1 PUSH EBP
015F:004095F2 CALL 0040FC0A
015F:004095F7 MOV ECX,EDI
015F:004095F9 CALL 004096F0
015F:004095FE LEA ECX,[ESP+10]
015F:00409602 CALL 0040FCE2
015F:00409607 XOR EDX,EDX
<--|
015F:00409609 LEA EAX,[ESP+14]
|
015F:0040960D MOV DL,[ESI+ESP+1C]
|计
015F:00409611 PUSH EDX
|算
015F:00409612 PUSH 004187F4
|正
015F:00409617 PUSH EAX
|确
015F:00409618 CALL 0040FB98
|的
015F:0040961D ADD ESP,0C
|注
015F:00409620 LEA ECX,[ESP+14]
|册
015F:00409624 PUSH ECX
|码
015F:00409625 LEA ECX,[ESP+14]
|.
015F:00409629 CALL 0040FBEC
|注意 EDX 的变化。
015F:0040962E INC ESI
|
015F:0040962F CMP ESI,08
|
015F:00409632 JL 00409607
<--|
015F:00409634 LEA ECX,[ESP+10]
015F:00409638 CALL 0040FBC8
015F:0040963D MOV ECX,EBX
//正确的注册码 D EAX.
015F:0040963F CALL 0040FBC8
015F:00409644 MOV EAX,[EBX]
015F:00409646 MOV EDX,[ESP+10]
015F:0040964A PUSH EAX
015F:0040964B PUSH EDX
015F:0040964C CALL [0041268C]
015F:00409652 ADD ESP,08
015F:00409655 TEST EAX,EAX
015F:00409657 PUSH 00
015F:00409659 PUSH 00
015F:0040965B JNZ 004096A7
//比较注册码是否相等。
015F:0040965D PUSH 004187D4
015F:00409662 CALL 0040FB92
//注册成功对话框。
015F:00409667 CALL 0040FB68
015F:0040966C MOV ESI,[EAX+04]
015F:0040966F MOV EAX,[EBP+00]
015F:00409672 PUSH EAX
015F:00409673 PUSH 004187CC
015F:00409678 MOV ECX,ESI
015F:0040967A CALL 0040BD70
//注册失败对话框。
015F:0040967F MOV EAX,[EBX]
015F:00409681 MOV ECX,ESI
015F:00409683 PUSH EAX
015F:00409684 PUSH 004187C0
015F:00409689 CALL 0040BD70
015F:0040968E MOV ECX,EDI
015F:00409690 MOV BYTE PTR [ESI+000000C4],00
.........................
- 标 题:菜鸟破解录(九)之 CDSpace 1.95 (4千字)
- 作 者:xiA Qin
- 时 间:2000-7-22 8:56:30
- 链 接:http://bbs.pediy.com