rdsnow 发表于 2005-12-31 17:31:17

VCD MPG AVI TO RMVB V3.00 的注册

【破文作者】   rdsnow

【作者主页】   http://rdsnow.ys168.com

【 E-mail 】   [email protected]

【 作者QQ 】   83757177

【文章题目】   VCD MPG AVI TO RMVB V3.00 的注册

【下载地址】   http://www.tyusoft.com/files/tyurmvb.rar

               http://conut.skycn.com/softdownload.php?id=24305&url=http://xjvnet.driversky.com/down/tyurmvb.rar

----------------------------------------------------------------------------------------------
【加密方式】   序列号

【破解工具】   ODbyDYK v1.10

【软件限制】   功能限制

【破解平台】   Microsoft Windows XP Professional

【平台版本】   5.1.2600 Service Pack 2 内部版本号 2600

----------------------------------------------------------------------------------------------
【软件简介】

VCD MPG AVI TO RMVB 是“田雨软件工作室”最新开发的一款视频压缩软件。简单易用,支持将VCD的DAT文件、MPG、AVI等格式转换成RMVB文件格式,操作简单。

特点:支持文件批量转换、转换完毕自动关闭计算机等。

【文章简介】

不知不觉又要过年了,有长大了一岁,最近因基础知识的欠缺,感觉水平停滞不前,很羡慕把计算机作为专业的朋友,看来新的一年的要加把劲学习才行。

为了给自己增强一下信心,找了个简单的,高手就不要看了。

程序的特点,VB语言编写,用了些浮点运算。

----------------------------------------------------------------------------------------------
【破解过程】

OD载入程序目录下的zhuce.exe程序,运行,输入:

用户名:rdsnow
Email:[email protected]
假码:987654abcd-987654ABCD

命令行下断:bp rtcMidCharVar,走几步到程序领空,就会来到这儿:

//下面循环计算用户名各字符的ASC的和

0040428B   .83C4 10         ADD ESP,10
0040428E   >8B85 34FDFFFF   MOV EAX,SS:
00404294   .85C0            TEST EAX,EAX
00404296   .0F84 25010000   JE zhuce.004043C1
0040429C   .8B06            MOV EAX,DS:
0040429E   .56            PUSH ESI
0040429F   .FF90 1C030000   CALL DS:
004042A5   .8D8D 58FFFFFF   LEA ECX,SS:
004042AB   .8D95 48FFFFFF   LEA EDX,SS:
004042B1   .51            PUSH ECX
004042B2   .52            PUSH EDX
004042B3   .8985 60FFFFFF   MOV SS:,EAX
004042B9   .C785 58FFFFFF > MOV DWORD PTR SS:,9
004042C3   .FF15 70104000   CALL DS:[<&MSVBVM60.rtcRightTrimVar>];删除字串右边的空白
004042C9   .8D85 48FFFFFF   LEA EAX,SS:
004042CF   .8D8D 38FFFFFF   LEA ECX,SS:
004042D5   .50            PUSH EAX
004042D6   .51            PUSH ECX
004042D7   .FF15 68104000   CALL DS:[<&MSVBVM60.rtcLeftTrimVar>]   ;删除字串左边的空白
004042DD   .8D95 28FFFFFF   LEA EDX,SS:
004042E3   .8D45 98         LEA EAX,SS:
004042E6   .52            PUSH EDX
004042E7   .50            PUSH EAX
004042E8   .C785 30FFFFFF > MOV DWORD PTR SS:,1
004042F2   .C785 28FFFFFF > MOV DWORD PTR SS:,2
004042FC   .FF15 F8104000   CALL DS:[<&MSVBVM60.__vbaI4Var>]       ;MSVBVM60.__vbaI4Var
00404302   .8D8D 38FFFFFF   LEA ECX,SS:
00404308   .50            PUSH EAX
00404309   .8D95 18FFFFFF   LEA EDX,SS:
0040430F   .51            PUSH ECX
00404310   .52            PUSH EDX
00404311   .FF15 74104000   CALL DS:[<&MSVBVM60.rtcMidCharVar>]    ;循环取用户名的一个字符
00404317   .8D85 18FFFFFF   LEA EAX,SS:
0040431D   .8D4D 84         LEA ECX,SS:
00404320   .50            PUSH EAX
00404321   .51            PUSH ECX
00404322   .FF15 C0104000   CALL DS:[<&MSVBVM60.__vbaStrVarVal>]   ;取字符的ASC
00404328   .50            PUSH EAX
00404329   .FF15 2C104000   CALL DS:[<&MSVBVM60.#516>]             ;MSVBVM60.rtcAnsiValueBstr
0040432F   .8D95 28FEFFFF   LEA EDX,SS:
00404335   .8D4D AC         LEA ECX,SS:
00404338   .66:8985 30FEFF> MOV SS:,AX
0040433F   .C785 28FEFFFF > MOV DWORD PTR SS:,2
00404349   .FFD7            CALL EDI
0040434B   .8D4D 84         LEA ECX,SS:
0040434E   .FF15 30114000   CALL DS:[<&MSVBVM60.__vbaFreeStr>]   ;MSVBVM60.__vbaFreeStr
00404354   .8D95 18FFFFFF   LEA EDX,SS:
0040435A   .8D85 28FFFFFF   LEA EAX,SS:
00404360   .52            PUSH EDX
00404361   .8D8D 38FFFFFF   LEA ECX,SS:
00404367   .50            PUSH EAX
00404368   .8D95 48FFFFFF   LEA EDX,SS:
0040436E   .51            PUSH ECX
0040436F   .8D85 58FFFFFF   LEA EAX,SS:
00404375   .52            PUSH EDX
00404376   .50            PUSH EAX
00404377   .6A 05         PUSH 5
00404379   .FF15 1C104000   CALL DS:[<&MSVBVM60.__vbaFreeVarList>] ;MSVBVM60.__vbaFreeVarList
0040437F   .83C4 18         ADD ESP,18
00404382   .8D4D CC         LEA ECX,SS:
00404385   .8D55 AC         LEA EDX,SS:
00404388   .8D85 58FFFFFF   LEA EAX,SS:
0040438E   .51            PUSH ECX
0040438F   .52            PUSH EDX
00404390   .50            PUSH EAX
00404391   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ;用户名各个字符的ASC求和得到 a = 0x29D
00404397   .8BD0            MOV EDX,EAX
00404399   .8D4D CC         LEA ECX,SS:
0040439C   .FFD7            CALL EDI
0040439E   .8D8D 64FDFFFF   LEA ECX,SS:
004043A4   .8D95 74FDFFFF   LEA EDX,SS:
004043AA   .51            PUSH ECX
004043AB   .8D45 98         LEA EAX,SS:
004043AE   .52            PUSH EDX
004043AF   .50            PUSH EAX
004043B0   .FF15 24114000   CALL DS:[<&MSVBVM60.__vbaVarForNext>];MSVBVM60.__vbaVarForNext
004043B6   .8985 34FDFFFF   MOV SS:,EAX
004043BC   .^ E9 CDFEFFFF   JMP zhuce.0040428E
004043C1   >8D95 38FEFFFF   LEA EDX,SS:
004043C7   .8D4D 88         LEA ECX,SS:
004043CA   .C785 40FEFFFF > MOV DWORD PTR SS:,0
004043D4   .C785 38FEFFFF > MOV DWORD PTR SS:,2
004043DE   .FFD7            CALL EDI
004043E0   .8B0E            MOV ECX,DS:
004043E2   .56            PUSH ESI
004043E3   .C785 40FEFFFF > MOV DWORD PTR SS:,1
004043ED   .C785 38FEFFFF > MOV DWORD PTR SS:,2
004043F7   .FF91 20030000   CALL DS:
004043FD   .8985 60FFFFFF   MOV SS:,EAX
00404403   .8D95 58FFFFFF   LEA EDX,SS:
00404409   .8D85 48FFFFFF   LEA EAX,SS:
0040440F   .52            PUSH EDX
00404410   .50            PUSH EAX
00404411   .C785 58FFFFFF > MOV DWORD PTR SS:,9
0040441B   .FF15 70104000   CALL DS:[<& MSVBVM60.rtcRightTrimVar>] ;删除字串右边的空白
00404421   .8D8D 48FFFFFF   LEA ECX,SS:
00404427   .8D95 38FFFFFF   LEA EDX,SS:
0040442D   .51            PUSH ECX
0040442E   .52            PUSH EDX
0040442F   .FF15 68104000   CALL DS:[<&MSVBVM60.rtcLeftTrimVar>]   ;删除字串左边的空白
00404435   .8D85 38FEFFFF   LEA EAX,SS:
0040443B   .8D8D 38FFFFFF   LEA ECX,SS:
00404441   .50            PUSH EAX
00404442   .8D95 28FFFFFF   LEA EDX,SS:
00404448   .51            PUSH ECX
00404449   .52            PUSH EDX
0040444A   .C785 30FEFFFF > MOV DWORD PTR SS:,1
00404454   .C785 28FEFFFF > MOV DWORD PTR SS:,2
0040445E   .FF15 40104000   CALL DS:[<&MSVBVM60.__vbaLenVar>]      ;取邮箱地址的长度
00404464   .50            PUSH EAX
00404465   .8D85 28FEFFFF   LEA EAX,SS:
0040446B   .8D8D 44FDFFFF   LEA ECX,SS:
00404471   .50            PUSH EAX
00404472   .8D95 54FDFFFF   LEA EDX,SS:
00404478   .51            PUSH ECX
00404479   .8D45 BC         LEA EAX,SS:
0040447C   .52            PUSH EDX
0040447D   .50            PUSH EAX
0040447E   .FF15 48104000   CALL DS:[<&MSVBVM60.__vbaVarForInit>];MSVBVM60.__vbaVarForInit
00404484   .8D8D 38FFFFFF   LEA ECX,SS:
0040448A   .8985 30FDFFFF   MOV SS:,EAX
00404490   .8D95 48FFFFFF   LEA EDX,SS:
00404496   .51            PUSH ECX
00404497   .8D85 58FFFFFF   LEA EAX,SS:
0040449D   .52            PUSH EDX
0040449E   .50            PUSH EAX
0040449F   .6A 03         PUSH 3
004044A1   .FF15 1C104000   CALL DS:[<&MSVBVM60.__vbaFreeVarList>] ;MSVBVM60.__vbaFreeVarList

//下面循环计算Email地址中各字符的ASC的和

004044A7   .83C4 10         ADD ESP
004044AA   >8B85 30FDFFFF   MOV EAX,SS:
004044B0   .85C0            TEST EAX,EAX
004044B2   .0F84 25010000   JE zhuce.004045DD
004044B8   .8B0E            MOV ECX,DS:
004044BA   .56            PUSH ESI
004044BB   .FF91 20030000   CALL DS:
004044C1   .8985 60FFFFFF   MOV SS:,EAX
004044C7   .8D95 58FFFFFF   LEA EDX,SS:
004044CD   .8D85 48FFFFFF   LEA EAX,SS:
004044D3   .52            PUSH EDX
004044D4   .50            PUSH EAX
004044D5   .C785 58FFFFFF > MOV DWORD PTR SS:,9
004044DF   .FF15 70104000   CALL DS:[<&MSVBVM60.rtcRightTrimVar>];,删除字串右边的空白
004044E5   .8D8D 48FFFFFF   LEA ECX,SS:
004044EB   .8D95 38FFFFFF   LEA EDX,SS:
004044F1   .51            PUSH ECX
004044F2   .52            PUSH EDX
004044F3   .FF15 68104000   CALL DS:[<&MSVBVM60.rtcLeftTrimVar>]   ;删除字串左边的空白
004044F9   .8D85 28FFFFFF   LEA EAX,SS:
004044FF   .8D4D BC         LEA ECX,SS:
00404502   .50            PUSH EAX
00404503   .51            PUSH ECX
00404504   .C785 30FFFFFF > MOV DWORD PTR SS:,1
0040450E   .C785 28FFFFFF > MOV DWORD PTR SS:,2
00404518   .FF15 F8104000   CALL DS:[<&MSVBVM60.__vbaI4Var>]       ;MSVBVM60.__vbaI4Var
0040451E   .50            PUSH EAX
0040451F   .8D95 38FFFFFF   LEA EDX,SS:
00404525   .8D85 18FFFFFF   LEA EAX,SS:
0040452B   .52            PUSH EDX
0040452C   .50            PUSH EAX
0040452D   .FF15 74104000   CALL DS:[<&MSVBVM60.rtcMidCharVar>]    ;MSVBVM60.rtcMidCharVar,循环取邮箱地址的一个字符
00404533   .8D8D 18FFFFFF   LEA ECX,SS:
00404539   .8D55 84         LEA EDX,SS:
0040453C   .51            PUSH ECX
0040453D   .52            PUSH EDX
0040453E   .FF15 C0104000   CALL DS:[<&MSVBVM60.__vbaStrVarVal>]   ;MSVBVM60.__vbaStrVarVal
00404544   .50            PUSH EAX
00404545   .FF15 2C104000   CALL DS:[<&MSVBVM60.#516>]             ;MSVBVM60.rtcAnsiValueBstr
0040454B   .8D95 28FEFFFF   LEA EDX,SS:
00404551   .8D4D DC         LEA ECX,SS:
00404554   .66:8985 30FEFF> MOV SS:,AX
0040455B   .C785 28FEFFFF > MOV DWORD PTR SS:,2
00404565   .FFD7            CALL EDI
00404567   .8D4D 84         LEA ECX,SS:
0040456A   .FF15 30114000   CALL DS:[<&MSVBVM60.__vbaFreeStr>]   ;MSVBVM60.__vbaFreeStr
00404570   .8D85 18FFFFFF   LEA EAX,SS:
00404576   .8D8D 28FFFFFF   LEA ECX,SS:
0040457C   .50            PUSH EAX
0040457D   .8D95 38FFFFFF   LEA EDX,SS:
00404583   .51            PUSH ECX
00404584   .8D85 48FFFFFF   LEA EAX,SS:
0040458A   .52            PUSH EDX
0040458B   .8D8D 58FFFFFF   LEA ECX,SS:
00404591   .50            PUSH EAX
00404592   .51            PUSH ECX
00404593   .6A 05         PUSH 5
00404595   .FF15 1C104000   CALL DS:[<&MSVBVM60.__vbaFreeVarList>] ;MSVBVM60.__vbaFreeVarList
0040459B   .83C4 18         ADD ESP,18
0040459E   .8D55 88         LEA EDX,SS:
004045A1   .8D45 DC         LEA EAX,SS:
004045A4   .8D8D 58FFFFFF   LEA ECX,SS:
004045AA   .52            PUSH EDX
004045AB   .50            PUSH EAX
004045AC   .51            PUSH ECX
004045AD   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ; Email地址的所有字符的ASC进行相加得到 b = 0x4E4

//对以上得到的 a 进行处理

004045B3   .8BD0            MOV EDX,EAX
004045B5   .8D4D 88         LEA ECX,SS:
004045B8   .FFD7            CALL EDI
004045BA   .8D95 44FDFFFF   LEA EDX,SS:
004045C0   .8D85 54FDFFFF   LEA EAX,SS:
004045C6   .52            PUSH EDX
004045C7   .8D4D BC         LEA ECX,SS:
004045CA   .50            PUSH EAX
004045CB   .51            PUSH ECX
004045CC   .FF15 24114000   CALL DS:[<&MSVBVM60.__vbaVarForNext>];MSVBVM60.__vbaVarForNext
004045D2   .8985 30FDFFFF   MOV SS:,EAX
004045D8   .^ E9 CDFEFFFF   JMP zhuce.004044AA
004045DD   >DD05 40114000   FLD QWORD PTR DS:
004045E3   .833D 00704000 > CMP DWORD PTR DS:,0
004045EA   .75 08         JNZ SHORT zhuce.004045F4
004045EC   .DC35 38114000   FDIV QWORD PTR DS:
004045F2   .EB 11         JMP SHORT zhuce.00404605
004045F4   >FF35 3C114000   PUSH DWORD PTR DS:
004045FA   .FF35 38114000   PUSH DWORD PTR DS:
00404600   .E8 FFCBFFFF   CALL <JMP.&MSVBVM60._adj_fdiv_m64>
00404605   >B9 02000000   MOV ECX,2
0040460A   .8D55 CC         LEA EDX,SS:
0040460D   .898D 38FEFFFF   MOV SS:,ECX
00404613   .898D 28FEFFFF   MOV SS:,ECX
00404619   .898D 20FEFFFF   MOV SS:,ECX
0040461F   .898D 18FEFFFF   MOV SS:,ECX
00404625   .898D F8FDFFFF   MOV SS:,ECX
0040462B   .52            PUSH EDX
0040462C   .8D8D 58FFFFFF   LEA ECX,SS:
00404632   .C785 40FEFFFF > MOV DWORD PTR SS:,0C8
0040463C   .C785 30FEFFFF > MOV DWORD PTR SS:,44
00404646   .C785 08FEFFFF > MOV DWORD PTR SS:,5
00404650   .C785 00FEFFFF > MOV DWORD PTR SS:,1
0040465A   .DD9D 10FEFFFF   FSTP QWORD PTR SS:
00404660   .DFE0            FSTSW AX
00404662   .A8 0D         TEST AL,0D
00404664   .0F85 BE080000   JNZ zhuce.00404F28
0040466A   .8D85 38FEFFFF   LEA EAX,SS:
00404670   .50            PUSH EAX
00404671   .51            PUSH ECX
00404672   .FF15 9C104000   CALL DS:[<&MSVBVM60.__vbaVarMul>]      ;a = a × 200 = 0x20AA8
00404678   .50            PUSH EAX
00404679   .8D95 28FEFFFF   LEA EDX,SS:
0040467F   .8D85 48FFFFFF   LEA EAX,SS:
00404685   .52            PUSH EDX
00404686   .50            PUSH EAX
00404687   .FF15 00104000   CALL DS:[<&MSVBVM60.__vbaVarSub>]      ;a = a - 44 = 0x20A64
0040468D   .8D8D 18FEFFFF   LEA ECX,SS:
00404693   .50            PUSH EAX
00404694   .8D95 38FFFFFF   LEA EDX,SS:
0040469A   .51            PUSH ECX
0040469B   .52            PUSH EDX
0040469C   .FF15 B4104000   CALL DS:[<&MSVBVM60.__vbaVarDiv>]      ;a = a ÷ 2 = 66866.0
004046A2   .50            PUSH EAX
004046A3   .8D85 08FEFFFF   LEA EAX,SS:
004046A9   .8D8D 28FFFFFF   LEA ECX,SS:
004046AF   .50            PUSH EAX
004046B0   .51            PUSH ECX
004046B1   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ;a =a + 2 =66868.0
004046B7   .50            PUSH EAX
004046B8   .8D95 F8FDFFFF   LEA EDX,SS:
004046BE   .8D85 18FFFFFF   LEA EAX,SS:
004046C4   .52            PUSH EDX
004046C5   .50            PUSH EAX
004046C6   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ;a = a + 1 =66869.0
004046CC   .8D8D 08FFFFFF   LEA ECX,SS:
004046D2   .50            PUSH EAX
004046D3   .51            PUSH ECX
004046D4   .FF15 D0104000   CALL DS:[<&MSVBVM60.__vbaVarInt>]      ;a 取整= 66869
004046DA   .8BD0            MOV EDX,EAX
004046DC   .8D8D F8FEFFFF   LEA ECX,SS:
004046E2   .FFD7            CALL EDI
004046E4   .8D95 F8FEFFFF   LEA EDX,SS:
004046EA   .8D85 E8FEFFFF   LEA EAX,SS:
004046F0   .52            PUSH EDX
004046F1   .50            PUSH EAX
004046F2   .FF15 E0104000   CALL DS:[<&rtcHexVarFromVar>]          ;a 转化为十六进制字符串"10535"

//对以上得到的 b 进行处理

004046F8   .DD05 40114000   FLD QWORD PTR DS:
004046FE   .833D 00704000 > CMP DWORD PTR DS:,0
00404705   .75 08         JNZ SHORT zhuce.0040470F
00404707   .DC35 38114000   FDIV QWORD PTR DS:
0040470D   .EB 11         JMP SHORT zhuce.00404720
0040470F   >FF35 3C114000   PUSH DWORD PTR DS:
00404715   .FF35 38114000   PUSH DWORD PTR DS:
0040471B   .E8 E4CAFFFF   CALL <JMP.&MSVBVM60._adj_fdiv_m64>
00404720   >B9 02000000   MOV ECX,2
00404725   .8D95 D8FDFFFF   LEA EDX,SS:
0040472B   .898D D8FDFFFF   MOV SS:,ECX
00404731   .898D C8FDFFFF   MOV SS:,ECX
00404737   .898D B8FDFFFF   MOV SS:,ECX
0040473D   .898D 98FDFFFF   MOV SS:,ECX
00404743   .8D4D 88         LEA ECX,SS:
00404746   .C785 F0FDFFFF > MOV DWORD PTR SS:,zhuce.00403>
00404750   .51            PUSH ECX
00404751   .C785 E8FDFFFF > MOV DWORD PTR SS:,8
0040475B   .C785 E0FDFFFF > MOV DWORD PTR SS:,0C8
00404765   .C785 D0FDFFFF > MOV DWORD PTR SS:,44
0040476F   .C785 C0FDFFFF > MOV DWORD PTR SS:,3
00404779   .C785 A8FDFFFF > MOV DWORD PTR SS:,5
00404783   .C785 A0FDFFFF > MOV DWORD PTR SS:,1
0040478D   .52            PUSH EDX
0040478E   .DD9D B0FDFFFF   FSTP QWORD PTR SS:
00404794   .DFE0            FSTSW AX
00404796   .A8 0D         TEST AL,0D
00404798   .0F85 8A070000   JNZ zhuce.00404F28
0040479E   .8D85 C8FEFFFF   LEA EAX,SS:
004047A4   .50            PUSH EAX
004047A5   .FF15 9C104000   CALL DS:[<&MSVBVM60.__vbaVarMul>]      ;b = b × 200
004047AB   .8D8D C8FDFFFF   LEA ECX,SS:
004047B1   .50            PUSH EAX
004047B2   .8D95 B8FEFFFF   LEA EDX,SS:
004047B8   .51            PUSH ECX
004047B9   .52            PUSH EDX
004047BA   .FF15 00104000   CALL DS:[<&MSVBVM60.__vbaVarSub>]      ;b = b - 0x44 = 0x3D1DC
004047C0   .50            PUSH EAX
004047C1   .8D85 B8FDFFFF   LEA EAX,SS:
004047C7   .8D8D A8FEFFFF   LEA ECX,SS:
004047CD   .50            PUSH EAX
004047CE   .51            PUSH ECX
004047CF   .FF15 B4104000   CALL DS:[<&MSVBVM60.__vbaVarDiv>]      ;b = b ÷ 3 = 83444.0
004047D5   .50            PUSH EAX
004047D6   .8D95 A8FDFFFF   LEA EDX,SS:
004047DC   .8D85 98FEFFFF   LEA EAX,SS:
004047E2   .52            PUSH EDX
004047E3   .50            PUSH EAX
004047E4   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ;b = B + 2 = 83446.0
004047EA   .8D8D 98FDFFFF   LEA ECX,SS:
004047F0   .50            PUSH EAX
004047F1   .8D95 88FEFFFF   LEA EDX,SS:
004047F7   .51            PUSH ECX
004047F8   .52            PUSH EDX
004047F9   .FF15 FC104000   CALL DS:[<&MSVBVM60.__vbaVarAdd>]      ;b = b + 1 = 83447.0
004047FF   .50            PUSH EAX
00404800   .8D85 78FEFFFF   LEA EAX,SS:
00404806   .50            PUSH EAX
00404807   .FF15 D0104000   CALL DS:[<&MSVBVM60.__vbaVarInt>]      ;b 取整 = 83447
0040480D   .8BD0            MOV EDX,EAX
0040480F   .8D8D 68FEFFFF   LEA ECX,SS:
00404815   .FFD7            CALL EDI
00404817   .8D8D 68FEFFFF   LEA ECX,SS:
0040481D   .8D95 58FEFFFF   LEA EDX,SS:
00404823   .51            PUSH ECX
00404824   .52            PUSH EDX
00404825   .FF15 E0104000   CALL DS:[<&MSVBVM60.rtcHexVarFromVar>] ;b转为十六进制字符串"145F7"

//下面将"10535"和"145F7"用"-"连接

0040482B   .8B3D C4104000   MOV EDI,DS:[<&MSVBVM60.__vbaVarCat>]   ;MSVBVM60.__vbaVarCat
00404831   .8D85 E8FEFFFF   LEA EAX,SS:
00404837   .8D8D E8FDFFFF   LEA ECX,SS:
0040483D   .50            PUSH EAX
0040483E   .8D95 D8FEFFFF   LEA EDX,SS:
00404844   .51            PUSH ECX
00404845   .52            PUSH EDX
00404846   .FFD7            CALL EDI                               ;<&MSVBVM60.__vbaVarCat>
00404848   .50            PUSH EAX
00404849   .8D85 58FEFFFF   LEA EAX,SS:
0040484F   .8D8D 48FEFFFF   LEA ECX,SS:
00404855   .50            PUSH EAX
00404856   .51            PUSH ECX
00404857   .FFD7            CALL EDI                               ;<&MSVBVM60.__vbaVarCat>
…………………………
得到的"10535-145F7"就是真码了。

004048B5   .83C4 2C         ADD ESP,2C
004048B8   .8B06            MOV EAX,DS:
004048BA   .56            PUSH ESI
004048BB   .FF90 18030000   CALL DS:                      ;取假码
004048C1   .8D8D 58FFFFFF   LEA ECX,SS:
004048C7   .8D95 48FFFFFF   LEA EDX,SS:
004048CD   .51            PUSH ECX
004048CE   .52            PUSH EDX
004048CF   .8985 60FFFFFF   MOV SS:,EAX
004048D5   .C785 58FFFFFF > MOV DWORD PTR SS:,9
004048DF   .FF15 70104000   CALL DS:[<&MSVBVM60.#524>]             ;MSVBVM60.rtcRightTrimVar,删除字串右边的空白
004048E5   .8D85 48FFFFFF   LEA EAX,SS:
004048EB   .8D8D 38FFFFFF   LEA ECX,SS:
004048F1   .50            PUSH EAX
004048F2   .51            PUSH ECX
004048F3   .FF15 68104000   CALL DS:[<&MSVBVM60.#522>]             ;MSVBVM60.rtcLeftTrimVar,删除字串左边的空白
004048F9   .8B55 A8         MOV EDX,SS:
004048FC   .8D85 38FFFFFF   LEA EAX,SS:
00404902   .8D8D 38FEFFFF   LEA ECX,SS:
00404908   .50            PUSH EAX                               ;真码和假码比较
00404909   .51            PUSH ECX
0040490A   .8995 40FEFFFF   MOV SS:,EDX
00404910   .C785 38FEFFFF > MOV DWORD PTR SS:,8008
0040491A   .FF15 80104000   CALL DS:[<&MSVBVM60.__vbaVarTstEq>]    ;MSVBVM60.__vbaVarTstEq
00404920   .66:8BF8         MOV DI,AX
00404923   .8D95 38FFFFFF   LEA EDX,SS:
00404929   .8D85 48FFFFFF   LEA EAX,SS:
0040492F   .52            PUSH EDX
00404930   .8D8D 58FFFFFF   LEA ECX,SS:
00404936   .50            PUSH EAX
00404937   .51            PUSH ECX
00404938   .6A 03         PUSH 3
0040493A   .FF15 1C104000   CALL DS:[<&MSVBVM60.__vbaFreeVarList>] ;MSVBVM60.__vbaFreeVarList
00404940   .83C4 10         ADD ESP,10
00404943   .66:85FF         TEST DI,DI
00404946   .0F84 84040000   JE zhuce.00404DD0                      ;关键跳转

----------------------------------------------------------------------------------------------
【破解小结】

注册过程很简单,将用户名的所有字符的ASC求和,然后运算,得到的结果与Email地址采用类似运算的结果用"-"连接,就是注册码了。

个人觉得针对采用浮点运算的程序,可以将转存窗口显示为64位浮点数,会给调试带来方便。马上要放寒假了,希望能够在假期多学学,祝各位看雪的朋友新年快乐。

【注册机源码】

/******************************************************************************/
/*                                                                            */
/* Microsoft Visual C++ 6.0MFC                                              */
/*                                                                            */
/* Microsoft Windows XP Professional Service Pack 2编译通过               */
/*                                                                            */
/******************************************************************************/

void CKeygenDlg::OnOK()
{
        // TODO: Add extra validation here
       
        //CDialog::OnOK();
       
        char UseName,Email;
        int i,n,SN;

        UpdateData(true);

        n = m_Edit1.GetLength () ;
        strcpy(UseName,m_Edit1) ;
        SN = 0 ;
        for(i=0;i<n;i++)        SN += UseName[ i] ;
        SN = (SN * 200 -0x44)/2 + 3 ;
        sprintf ( UseName,"%X",SN) ;

        n = m_Edit2.GetLength () ;
        strcpy(Email,m_Edit2) ;
        SN = 0 ;
        for(i=0;i<n;i++)        SN += Email[ i] ;
        SN = (SN * 200 -0x44)/3 + 3 ;
        sprintf ( Email,"%X",SN) ;

        strcat (UseName,"-") ;
        strcat (UseName,Email) ;

        m_Edit3 = UseName;
        UpdateData(false) ;

}

----------------------------------------------------------------------------------------------
【破解声明】   我是一只小菜鸟,偶得一点心得,愿与大家分享:)

【版权声明】   本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
----------------------------------------------------------------------------------------------
                                                                     文章写于2005-12-28 10:05:16

[ 本帖最后由 rdsnow 于 2005-12-31 17:32 编辑 ]

风球 发表于 2005-12-31 19:34:48

支持```学习中。。。

Nisy 发表于 2005-12-31 21:35:14

学习一下 新年快乐~

快雪时晴 发表于 2006-1-1 17:56:14

学习 !
弱问:什么是飘云币,看什么用的

[ 本帖最后由 快雪时晴 于 2006-1-1 17:57 编辑 ]

冷血书生 发表于 2006-1-3 13:48:44

又学习了,呵呵!!

夜之魂 发表于 2006-1-31 00:17:18

学习了,好好研究
页: [1]
查看完整版本: VCD MPG AVI TO RMVB V3.00 的注册