软件名称:
广电节目管理系统
最新版本: v0.01
适用平台: Win9x, WinME, WinNT, 其它
软件作者: 常 征
联系邮箱: Liyueqi@etang.com
作者主页: http://Liyueqi.myetang.com/
注册价格: 588 元/套
软件大小: 232 KB
软件语言: 简体中文
加入时间:
2003-04-21
【软件简介】:广电节目管理系统用于电视台、广播电台、影剧院、电影院或录像厅的各类节目分类、记录、管理、编排、查询
这是价值不菲的菜鸟级软件!(原因后面说明)
【软件限制】:不明
【作者声明】:初学Crack,只是感兴趣,目的是找出算法!
【破解工具】:Ollydbg1.09、W32Dasm 9.0白金版
—————————————————————————————————
【过 程】:
VB的东东,没有加任何壳!!第一次就碰上这东西 哭啊~~~
用户号:550887224
注册号:987456321
—————————————————————————————————
经小跟踪发现这个东东居然用明码做比较!!!!我晕
588元的软件居然用明码比较,狂吐血中~~~~~~~
吐哇吐哇就吐习惯了 :) 应该说我运气好吧~~~~~~
我们还是来简单研究研究该软件的算法吧 另说明一下,
用户号:550887224
注册号:300230879————————————>这就是真正的注册码!!
在66024710下断点:可以来到这里 66024744
66024710
> FF7424 08 PUSH DWORD PTR SS:[ESP+8] //这里放的是假注册码:987456321
66024714
FF7424 08 PUSH DWORD PTR SS:[ESP+8] //这里放的是真注册码:300230879
66024718
6A 00 PUSH 0
6602471A
E8 03000000 CALL MSVBVM60.__vbaStrComp
6602471F
C2 0800 RETN 8
66024722 > 837C24
04 02 CMP DWORD PTR SS:[ESP+4],2
66024727 0F84 B3290200
JE MSVBVM60.660470E0
6602472D 68 01000300
PUSH 30001
66024732 FF7424 08 PUSH
DWORD PTR SS:[ESP+8]
66024736 FF7424 10 PUSH
DWORD PTR SS:[ESP+10] //这里放的是真注册码:300230879
6602473A FF7424 18
PUSH DWORD PTR SS:[ESP+18] //这里放的是假注册码:987456321
6602473E
FF15 74FE1066 CALL DWORD PTR DS:[6610FE74]
; OLEAUT32.VarBstrCmp
//调用比较程序对真假注册码进行逐位比较,
66024746
0F8C 9B290200 JL MSVBVM60.660470E7
6602474C 48
DEC EAX
6602474D C2 0C00
RETN 0C
66024750 > 8B4424 08
MOV EAX,DWORD PTR SS:[ESP+8]
66024754 03C0
ADD EAX,EAX
66024756 50
PUSH EAX
66024757 FF7424 08
PUSH DWORD PTR SS:[ESP+8]
6602475B E8 03000000 CALL
MSVBVM60.rtcLeftBstr
66024760 C2 0800 RETN
8
66024763 > 56 PUSH ESI
66024764
8B7424 0C MOV ESI,DWORD PTR SS:[ESP+C]
66024768
85F6 TEST ESI,ESI
6602476A
0F8C EA260200 JL MSVBVM60.66046E5A
66024770 81FE
FFFFFF7F CMP ESI,7FFFFFFF
66024776 0F8F DE260200
JG MSVBVM60.66046E5A
6602477C 8B4424 08 MOV
EAX,DWORD PTR SS:[ESP+8]
66024780 8BCE
MOV ECX,ESI
66024782 85C0
TEST EAX,EAX
66024784 0F84 D7260200 JE MSVBVM60.66046E61
6602478A
8B50 FC MOV EDX,DWORD PTR DS:[EAX-4]
6602478D
3BF2 CMP ESI,EDX
6602478F
0F87 D3260200 JA MSVBVM60.66046E68
66024795 51
PUSH ECX
66024796 50
PUSH EAX
66024797 FF15 EC190066
CALL DWORD PTR DS:[<&OLEAUT32.#150>] ;
OLEAUT32.SysAllocStringByteLen
6602479D 8BF0
MOV ESI,EAX
6602479F 85F6
TEST ESI,ESI
660247A1 0F84 D4260200 JE MSVBVM60.66046E7B
660247A7
8BC6 MOV EAX,ESI
660247A9
5E POP ESI
660247AA
C2 0800 RETN 8
660247AD > 53
PUSH EBX
660247AE 56
PUSH ESI
660247AF 8B7424 10
MOV ESI,DWORD PTR SS:[ESP+10]
660247B3 57
PUSH EDI
660247B4 8D7C24
18 LEA EDI,DWORD PTR SS:[ESP+18]
660247B8
33DB XOR EBX,EBX
660247BA
8B06 MOV EAX,DWORD PTR DS:[ESI]
//用户名
660247BC 85C0
TEST EAX,EAX
660247BE 74 0A
JE SHORT MSVBVM60.660247CA
660247C0 50
PUSH EAX
----------------------------------------------------------------
验证注册码长度,逐位比较注册码
77A142EE
> 55 PUSH EBP
77A142EF
8BEC MOV EBP,ESP
77A142F1
51 PUSH ECX//ECX=0012E408
77A142F2
53 PUSH EBX
; MSVBVM60.__vbaStrMove
77A142F3 56
PUSH ESI
77A142F4 8B75 08
MOV ESI,DWORD PTR SS:[EBP+8]
77A142F7 57
PUSH EDI
77A142F8 85F6
TEST ESI,ESI
77A142FA 75 05
JNZ SHORT OLEAUT32.77A14301
77A142FC 2175
FC AND DWORD PTR SS:[EBP-4],ESI
77A142FF
EB 06 JMP SHORT OLEAUT32.77A14307
77A14301
8B46 FC MOV EAX,DWORD PTR DS:[ESI-4]
77A14304
8945 FC MOV DWORD PTR SS:[EBP-4],EAX
77A14307
8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
77A1430A
85C9 TEST ECX,ECX
77A1430C
75 04 JNZ SHORT OLEAUT32.77A14312
77A1430E
33DB XOR EBX,EBX
77A14310
EB 03 JMP SHORT OLEAUT32.77A14315
77A14312
8B59 FC MOV EBX,DWORD PTR DS:[ECX-4]
77A14315
395D FC CMP DWORD PTR SS:[EBP-4],EBX
77A14318
8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
77A1431B
72 02 JB SHORT OLEAUT32.77A1431F
77A1431D
8BD3 MOV EDX,EBX
77A1431F
8B45 10 MOV EAX,DWORD PTR SS:[EBP+10]
77A14322
85C0 TEST EAX,EAX
77A14324
75 49 JNZ SHORT OLEAUT32.77A1436F
77A14326
85D2 TEST EDX,EDX
77A14328
74 4E JE SHORT OLEAUT32.77A14378
77A1432A
8BC2 MOV EAX,EDX
77A1432C
D1E8 SHR EAX,1
77A1432E
8945 10 MOV DWORD PTR SS:[EBP+10],EAX
//EAX=00000009注册码位数为9
77A14331 8B7D 0C
MOV EDI,DWORD PTR SS:[EBP+C] //真注册码放入EDI
77A14334
8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
//假注册码放入ESI
77A14337 8B4D 10
MOV ECX,DWORD PTR SS:[EBP+10]
77A1433A 33C0
XOR EAX,EAX
//比较真假注册码位数是否正确,不正确则over
77A1433C
F3:66:A7 REPE CMPS WORD PTR ES:[EDI],WORD PTR
DS:>//对真假注册码进行逐位比较
77A1433F 74 05
JE SHORT OLEAUT32.77A14346
77A14341 1BC0 SBB EAX,EAX
77A14343
83D8 FF SBB EAX,-1
77A14346
85C0 TEST EAX,EAX
77A14348
7F 33 JG SHORT OLEAUT32.77A1437D
//如果有一位不对则跳转;这是关键跳
77A1434A 7D 04
JGE SHORT OLEAUT32.77A14350
77A1434C
33C0 XOR EAX,EAX
77A1434E
EB 5B JMP SHORT OLEAUT32.77A143AB
77A14350
F6C2 01 TEST DL,1
77A14353
74 23 JE SHORT OLEAUT32.77A14378
77A14355
8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
77A14358
8B4D 0C MOV ECX,DWORD PTR SS:[EBP+C]
77A1435B
8A4402 FF MOV AL,BYTE PTR DS:[EDX+EAX-1]
77A1435F
8A540A FF MOV DL,BYTE PTR DS:[EDX+ECX-1]
77A14363
3AC2 CMP AL,DL
--------------------------------
77A1433C
F3:66:A7 REPE CMPS WORD PTR ES:[EDI],WORD PTR
DS:[ESI]> //对真假注册码进行逐位比较 格式如下:
CX=0009(decimal 9)
DS:[ESI]=[0014BA54]=0039
ES:[EDI]=[0014B32C]=0033
该指令信息如下:
名
称 : 重复串操作
操作符 : REPE/REPZ
操作数形式:字符串指令
功能说明: (CX)<>
0 或(ZF)=1 则 执行其后的串操作(CMPS,SCAS)
所以我说他是逐位比较,呵呵
--------------------------------
【注册信息保存】:
C:\WINDOWS\SYSTEM
下的vfnlubfvt.sys文件
—————————————————————————————————
【整 理】:
用户号:550887224
注册号:300230879
—————————————————————————————————
心得:这个软件采用了逐位比较的方法,而且是明码逐位比较,我不想仔细分析了,太简单了,适合于菜鸟练习使用ollydbg
:)不适合注册方法研究,原因是他太简单了
另外你认为这个软件值588元吗?????
Cracked By showha
2003-04-22 12:40