Vcd Cutter 4.03 crack
支持众多文件格式(MPG,DAT,AVI,WAV,MOV,M1V,MPV),
能将MPG切割开来,以小文件形式保存起
来,能将AVI文件转换成MPG格式,能控制播放速度,
需要DirectX Media 5.x Runtime(DXM)。
保护方法:典型的国产软件,每台安装机器产生
一个唯一的hardcode,结合用户输入的name,
产生一个授权码。生成的注册文件cdplayer.dat
存放在\windows\system文件夹。
工具:TRW2000 V1.22
1、注册:注意姓名必须含有"."和"@",即以邮件地址的形式出现,
否则无法正确注册
Name=Mr.Wei@China.edu
Code=987654321
2、bpx hmemcpy
单击注册,弹出TR,因为有两个输入框,所以再次按F5退出TR,
很快又返回TR
pmodule
TR自动跟踪到程序入口点,
这点TR要比SI强,后者要按多次F12才能找到入口点
0167:0042D095 LEA EDX,[ESP+50] //程序执行到此处
0167:0042D099 LEA EAX,[ESP+10]
0167:0042D09D PUSH EDX
0167:0042D09E PUSH EAX
0167:0042D09F CALL 004208E0 //关键调用,F8跟入
0167:0042D0A4 ADD ESP,BYTE +08
0167:0042D0A7 TEST EAX,EAX
0167:0042D0A9 JZ NEAR 0042D132 //跳转到出错对话框
0167:0042D0AF MOV ECX,[0049B878]
0167:0042D0B5 PUSH ECX
0167:0042D0B6 CALL `GDI32!DeleteObject`
0167:0042D0BC MOV EDX,[0049B7D0]
0167:0042D0C2 PUSH BYTE +7B
0167:0042D0C4 PUSH EDX
0167:0042D0C5 CALL `USER32!LoadBitmapA`
0167:0042D0CB MOV [0049B878],EAX
0167:0042D0D0 LEA EAX,[ESP+50]
0167:0042D0D4 PUSH BYTE +01
0167:0042D0D6 LEA ECX,[ESP+14]
0167:0042D0DA PUSH EAX
0167:0042D0DB PUSH ECX
0167:0042D0DC CALL 00420340
0167:0042D0E1 ADD ESP,BYTE +0C
0167:0042D0E4 PUSH BYTE +01
0167:0042D0E6 PUSH ESI
0167:0042D0E7 CALL `USER32!EndDialog`
0167:0042D0ED MOV EDX,[00486C68]
0167:0042D0F3 PUSH EDX
0167:0042D0F4 CALL `USER32!SetActiveWindow`
0167:0042D0FA MOV ECX,[00486C68]
0167:0042D100 LEA EAX,[ESP+10]
0167:0042D104 PUSH BYTE +00
0167:0042D106 PUSH EAX
0167:0042D107 PUSH DWORD 0044BBFC
0167:0042D10C PUSH ECX
0167:0042D10D CALL EBX
0167:0042D10F MOV EDX,[00486C68]
0167:0042D115 PUSH BYTE +00
0167:0042D117 PUSH BYTE +00
0167:0042D119 PUSH EDX
0167:0042D11A CALL `USER32!InvalidateRect`
0167:0042D120 MOV EAX,01
0167:0042D125 POP EDI
0167:0042D126 POP ESI
0167:0042D127 POP EBP
0167:0042D128 POP EBX
0167:0042D129 ADD ESP,0380
0167:0042D12F RET 10
0167:0042D132 PUSH BYTE -01
0167:0042D134 CALL `USER32!MessageBeep`
0167:0042D13A MOV EAX,[00486C68]
0167:0042D13F PUSH BYTE +00
0167:0042D141 PUSH DWORD 0044BBF4
0167:0042D146 PUSH DWORD 0044BB70
0167:0042D14B PUSH EAX
0167:0042D14C CALL EBX //出错对话框
0167:0042D14E MOV EAX,01
0167:0042D153 POP EDI
0167:0042D154 POP ESI
0167:0042D155 POP EBP
0167:0042D156 POP EBX
0167:0042D157 ADD ESP,0380
0167:0042D15D RET 10
上述代码的分析应该自下而上:找到出错对话框,
向上查找何处跳转到此处,也就是何处可以跳过出错对话框的显示。
下面代码分析方法也是如此。
3、F8追入 0167:0042D09F CALL 004208E0
追踪时注意一般按F10,执行到 REPNE SCASB、 REP MOVSB 、
REP MOVSD 时改按F8,因为TR有个Bug,无法正确跟踪,而SI则可以,
不知刘涛涛在V1.23中改没改掉。
0167:004208E0 SUB ESP,0208
0167:004208E6 OR ECX,BYTE -01
0167:004208E9 XOR EAX,EAX
0167:004208EB LEA EDX,[ESP+08]
0167:004208EF PUSH EBX
0167:004208F0 PUSH ESI
0167:004208F1 PUSH EDI
0167:004208F2 MOV EDI,0044A470
0167:004208F7 REPNE SCASB
0167:004208F9 NOT ECX
0167:004208FB SUB EDI,ECX
0167:004208FD MOV EAX,ECX
0167:004208FF MOV ESI,EDI
0167:00420901 MOV EDI,EDX
0167:00420903 XOR EDX,EDX
0167:00420905 SHR ECX,02
0167:00420908 REP MOVSD
0167:0042090A MOV ECX,EAX
0167:0042090C XOR EAX,EAX
0167:0042090E AND ECX,BYTE +03
0167:00420911 REP MOVSB
0167:00420913 MOV ESI,[ESP+0218]
0167:0042091A OR ECX,BYTE -01
0167:0042091D MOV EDI,ESI
0167:0042091F REPNE SCASB
0167:00420921 NOT ECX
0167:00420923 DEC ECX
0167:00420924 JZ 0042094A
0167:00420926 MOV EBX,ESI
0167:00420928 LEA ECX,[ESP+14]
0167:0042092C SUB EBX,ECX
0167:0042092E LEA EAX,[ESP+EDX+14]
0167:00420932 MOV EDI,ESI
0167:00420934 INC EDX
0167:00420935 MOV CL,[EAX+EBX]
0167:00420938 XOR EAX,EAX
0167:0042093A MOV [ESP+EDX+13],CL
0167:0042093E OR ECX,BYTE -01
0167:00420941 REPNE SCASB
0167:00420943 NOT ECX
0167:00420945 DEC ECX
0167:00420946 CMP EDX,ECX
0167:00420948 JC 0042092E
0167:0042094A MOV BYTE [ESP+EDX+14],00
0167:0042094F PUSH BYTE +01
0167:00420951 PUSH DWORD 00459E80
0167:00420956 LEA EDX,[ESP+1C]
0167:0042095A PUSH BYTE +08
0167:0042095C PUSH EDX
0167:0042095D PUSH DWORD 0044A3F0
0167:00420962 CALL 00419420
0167:00420967 ADD ESP,BYTE +14
0167:0042096A LEA EAX,[ESP+14]
0167:0042096E LEA ECX,[ESP+0C]
0167:00420972 PUSH BYTE +04
0167:00420974 PUSH EAX
0167:00420975 PUSH ECX
0167:00420976 CALL `MSVCRT!memmove`
0167:0042097B ADD ESP,BYTE +0C
0167:0042097E LEA EDX,[ESP+18]
0167:00420982 LEA EAX,[ESP+10]
0167:00420986 PUSH BYTE +04
0167:00420988 PUSH EDX
0167:00420989 PUSH EAX
0167:0042098A CALL `MSVCRT!memmove`
0167:0042098F ADD ESP,BYTE +0C
0167:00420992 LEA ECX,[ESP+14]
0167:00420996 PUSH BYTE +00
0167:00420998 PUSH DWORD 00459E80
0167:0042099D PUSH BYTE +08
0167:0042099F PUSH ECX
0167:004209A0 PUSH DWORD 0044A3F0
0167:004209A5 CALL 00419420
0167:004209AA MOV EDX,[ESP+24]
0167:004209AE MOV EAX,[ESP+20]
0167:004209B2 ADD ESP,BYTE +14
0167:004209B5 LEA ECX,[ESP+0114]
0167:004209BC PUSH EDX
0167:004209BD PUSH EAX
0167:004209BE PUSH DWORD 0044A44C
0167:004209C3 PUSH ECX
0167:004209C4 CALL `USER32!wsprintfA`
0167:004209CA MOV ESI,[ESP+022C] //d esi显示输入的code
0167:004209D1 ADD ESP,BYTE +10
0167:004209D4 LEA EAX,[ESP+0114] //d eax显示真正的code
0167:004209DB MOV DL,[EAX]
0167:004209DD MOV BL,[ESI]
0167:004209DF MOV CL,DL
0167:004209E1 CMP DL,BL
0167:004209E3 JNZ 00420A14
0167:004209E5 TEST CL,CL
0167:004209E7 JZ 004209FF
0167:004209E9 MOV DL,[EAX+01]
0167:004209EC MOV BL,[ESI+01]
0167:004209EF MOV CL,DL
0167:004209F1 CMP DL,BL
0167:004209F3 JNZ 00420A14
0167:004209F5 ADD EAX,BYTE +02
0167:004209F8 ADD ESI,BYTE +02
0167:004209FB TEST CL,CL
0167:004209FD JNZ 004209DB
0167:004209FF XOR EAX,EAX
0167:00420A01 XOR ECX,ECX
0167:00420A03 TEST EAX,EAX
0167:00420A05 SETZ CL
0167:00420A08 MOV EAX,ECX
0167:00420A0A POP EDI
0167:00420A0B POP ESI
0167:00420A0C POP EBX
0167:00420A0D ADD ESP,0208
0167:00420A13 RET
4、所以最快速的破解方法是
bpx 167:4209d4
追踪到后 d eax 就看到自己到code了。
5、破解后vcdcutter截取文件时仍然有7秒种时间限制,
因为软件本身就是演示版本,软件作者
Jiao ShanWu 说为给您带来的不便而抱歉。
没办法,只能给Jiao ShanWu 寄50元,
才能得到正式版本。
Kao,Jiao ShanWu , I 服了you!.
(Mr.Wei,2001-3-22)
- 标 题:Vcd Cutter 4.03 crack (7千字)
- 作 者:mr.wei
- 时 间:2001-3-21 17:54:58
- 链 接:http://bbs.pediy.com