野猫III 发表于 2006-6-4 17:31:29

OpenVideoJoiner V3.02汉化版追码分析(逐位)

附件很多,请大家参考这一帖下载:
https://www.chinapyg.com/viewthread.php?tid=5215&extra=page%3D1

++++++++++++++++++++
破解手记。。。
WildCatIII

9876543210

00422E20/.55            PUSH EBP
00422E21|.8BEC          MOV EBP,ESP
00422E23|.83EC 20       SUB ESP,20
00422E26|.894D E0       MOV DWORD PTR SS:[EBP-20],ECX
00422E29|.6A 01         PUSH 1
00422E2B|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
00422E2E|.E8 FC130200   CALL VideoJoi.0044422F
00422E33|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
00422E36|.83C1 70       ADD ECX,70
00422E39|.E8 A28CFEFF   CALL VideoJoi.0040BAE0
00422E3E|.83F8 02       CMP EAX,2
00422E41|.7D 13         JGE SHORT VideoJoi.00422E56
00422E43|.6A 00         PUSH 0
00422E45|.6A 00         PUSH 0
00422E47|.68 D4CF4500   PUSH VideoJoi.0045CFD4                   ;请输入正确的用户名!
00422E4C|.E8 6AAE0200   CALL VideoJoi.0044DCBB
00422E51|.E9 A9020000   JMP VideoJoi.004230FF
00422E56|>8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
00422E59|.83C1 74       ADD ECX,74
00422E5C|.E8 7F8CFEFF   CALL VideoJoi.0040BAE0
00422E61|.83F8 08       CMP EAX,8
00422E64|.7D 13         JGE SHORT VideoJoi.00422E79
00422E66|.6A 00         PUSH 0
00422E68|.6A 00         PUSH 0
00422E6A|.68 F4CF4500   PUSH VideoJoi.0045CFF4                   ;请输入正确的注册码!
00422E6F|.E8 47AE0200   CALL VideoJoi.0044DCBB
00422E74|.E9 86020000   JMP VideoJoi.004230FF
00422E79|>6A 00         PUSH 0                                 ; /Arg1 = 00000000
00422E7B|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422E7E|.83C1 70       ADD ECX,70                               ; |
00422E81|.E8 EAF4FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422E86|.8845 EF       MOV BYTE PTR SS:[EBP-11],AL
00422E89|.6A 01         PUSH 1                                 ; /Arg1 = 00000001
00422E8B|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422E8E|.83C1 70       ADD ECX,70                               ; |
00422E91|.E8 DAF4FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422E96|.8845 F8       MOV BYTE PTR SS:[EBP-8],AL
00422E99|.6A 00         PUSH 0                                 ; /Arg1 = 00000000
00422E9B|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422E9E|.83C1 70       ADD ECX,70                               ; |
00422EA1|.E8 CAF4FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422EA6|.8845 FF       MOV BYTE PTR SS:[EBP-1],AL
00422EA9|.6A 01         PUSH 1                                 ; /Arg1 = 00000001
00422EAB|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422EAE|.83C1 70       ADD ECX,70                               ; |
00422EB1|.E8 BAF4FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422EB6|.8845 FA       MOV BYTE PTR SS:[EBP-6],AL
00422EB9|.0FB645 EF   MOVZX EAX,BYTE PTR SS:[EBP-11]
00422EBD|.83C8 4F       OR EAX,4F
00422EC0|.8845 EF       MOV BYTE PTR SS:[EBP-11],AL
00422EC3|.0FB64D F8   MOVZX ECX,BYTE PTR SS:[EBP-8]
00422EC7|.83C9 56       OR ECX,56
00422ECA|.884D F8       MOV BYTE PTR SS:[EBP-8],CL
00422ECD|.0FB655 FF   MOVZX EDX,BYTE PTR SS:[EBP-1]
00422ED1|.83CA 4A       OR EDX,4A
00422ED4|.8855 FF       MOV BYTE PTR SS:[EBP-1],DL
00422ED7|.0FB645 FA   MOVZX EAX,BYTE PTR SS:[EBP-6]
00422EDB|.83C8 4E       OR EAX,4E
00422EDE|.8845 FA       MOV BYTE PTR SS:[EBP-6],AL
00422EE1|.0FB645 EF   MOVZX EAX,BYTE PTR SS:[EBP-11]
00422EE5|.99            CDQ
00422EE6|.B9 0A000000   MOV ECX,0A
00422EEB|.F7F9          IDIV ECX
00422EED|.8855 EF       MOV BYTE PTR SS:[EBP-11],DL
00422EF0|.0FB645 F8   MOVZX EAX,BYTE PTR SS:[EBP-8]
00422EF4|.99            CDQ
00422EF5|.B9 0A000000   MOV ECX,0A
00422EFA|.F7F9          IDIV ECX
00422EFC|.8855 F8       MOV BYTE PTR SS:[EBP-8],DL
00422EFF|.0FB645 FF   MOVZX EAX,BYTE PTR SS:[EBP-1]
00422F03|.99            CDQ
00422F04|.B9 0A000000   MOV ECX,0A
00422F09|.F7F9          IDIV ECX
00422F0B|.8855 FF       MOV BYTE PTR SS:[EBP-1],DL
00422F0E|.0FB645 FA   MOVZX EAX,BYTE PTR SS:[EBP-6]
00422F12|.99            CDQ
00422F13|.B9 0A000000   MOV ECX,0A
00422F18|.F7F9          IDIV ECX
00422F1A|.8855 FA       MOV BYTE PTR SS:[EBP-6],DL
00422F1D|.C745 F0 00000>MOV DWORD PTR SS:[EBP-10],0
00422F24|.C745 E8 00000>MOV DWORD PTR SS:[EBP-18],0
00422F2B|.EB 09         JMP SHORT VideoJoi.00422F36
00422F2D|>8B55 E8       /MOV EDX,DWORD PTR SS:[EBP-18]
00422F30|.83C2 01       |ADD EDX,1
00422F33|.8955 E8       |MOV DWORD PTR SS:[EBP-18],EDX
00422F36|>8B4D E0      MOV ECX,DWORD PTR SS:[EBP-20]
00422F39|.83C1 70       |ADD ECX,70
00422F3C|.E8 9F8BFEFF   |CALL VideoJoi.0040BAE0
00422F41|.3945 E8       |CMP DWORD PTR SS:[EBP-18],EAX
00422F44|.7D 1E         |JGE SHORT VideoJoi.00422F64
00422F46|.8B45 E8       |MOV EAX,DWORD PTR SS:[EBP-18]
00422F49|.50            |PUSH EAX                              ; /Arg1
00422F4A|.8B4D E0       |MOV ECX,DWORD PTR SS:[EBP-20]         ; |
00422F4D|.83C1 70       |ADD ECX,70                              ; |
00422F50|.E8 1BF4FFFF   |CALL VideoJoi.00422370                  ; \VideoJoi.00422370
00422F55|.8845 E7       |MOV BYTE PTR SS:[EBP-19],AL
00422F58|.0FB64D E7   |MOVZX ECX,BYTE PTR SS:[EBP-19]
00422F5C|.034D F0       |ADD ECX,DWORD PTR SS:[EBP-10]
00422F5F|.894D F0       |MOV DWORD PTR SS:[EBP-10],ECX
00422F62|.^ EB C9         \JMP SHORT VideoJoi.00422F2D
00422F64|>8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
00422F67|.99            CDQ
00422F68|.B9 0A000000   MOV ECX,0A
00422F6D|.F7F9          IDIV ECX
00422F6F|.8855 F4       MOV BYTE PTR SS:[EBP-C],DL
00422F72|.6A 00         PUSH 0                                 ; /Arg1 = 00000000
00422F74|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422F77|.83C1 74       ADD ECX,74                               ; |
00422F7A|.E8 F1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422F7F|.8845 FC       MOV BYTE PTR SS:[EBP-4],AL
00422F82|.6A 01         PUSH 1                                 ; /Arg1 = 00000001
00422F84|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422F87|.83C1 74       ADD ECX,74                               ; |
00422F8A|.E8 E1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422F8F|.8845 FD       MOV BYTE PTR SS:[EBP-3],AL
00422F92|.6A 02         PUSH 2                                 ; /Arg1 = 00000002
00422F94|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422F97|.83C1 74       ADD ECX,74                               ; |
00422F9A|.E8 D1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422F9F|.8845 F6       MOV BYTE PTR SS:[EBP-A],AL
00422FA2|.6A 03         PUSH 3                                 ; /Arg1 = 00000003
00422FA4|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422FA7|.83C1 74       ADD ECX,74                               ; |
00422FAA|.E8 C1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422FAF|.8845 F5       MOV BYTE PTR SS:[EBP-B],AL
00422FB2|.6A 04         PUSH 4                                 ; /Arg1 = 00000004
00422FB4|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422FB7|.83C1 74       ADD ECX,74                               ; |
00422FBA|.E8 B1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422FBF|.8845 F9       MOV BYTE PTR SS:[EBP-7],AL
00422FC2|.6A 05         PUSH 5                                 ; /Arg1 = 00000005
00422FC4|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422FC7|.83C1 74       ADD ECX,74                               ; |
00422FCA|.E8 A1F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422FCF|.8845 F7       MOV BYTE PTR SS:[EBP-9],AL
00422FD2|.6A 06         PUSH 6                                 ; /Arg1 = 00000006
00422FD4|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422FD7|.83C1 74       ADD ECX,74                               ; |
00422FDA|.E8 91F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422FDF|.8845 FE       MOV BYTE PTR SS:[EBP-2],AL
00422FE2|.6A 07         PUSH 7                                 ; /Arg1 = 00000007
00422FE4|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00422FE7|.83C1 74       ADD ECX,74                               ; |
00422FEA|.E8 81F3FFFF   CALL VideoJoi.00422370                   ; \VideoJoi.00422370
00422FEF|.8845 FB       MOV BYTE PTR SS:[EBP-5],AL
00422FF2|.0FB655 EF   MOVZX EDX,BYTE PTR SS:[EBP-11]
00422FF6|.0FB645 FC   MOVZX EAX,BYTE PTR SS:[EBP-4]
00422FFA|.83E8 30       SUB EAX,30
00422FFD|.3BD0          CMP EDX,EAX
00422FFF|.75 3C         JNZ SHORT VideoJoi.0042303D
00423001|.0FB64D F8   MOVZX ECX,BYTE PTR SS:[EBP-8]
00423005|.0FB655 FD   MOVZX EDX,BYTE PTR SS:[EBP-3]
00423009|.83EA 30       SUB EDX,30
0042300C|.3BCA          CMP ECX,EDX
0042300E|.75 2D         JNZ SHORT VideoJoi.0042303D
00423010|.0FB645 FF   MOVZX EAX,BYTE PTR SS:[EBP-1]
00423014|.0FB64D F6   MOVZX ECX,BYTE PTR SS:[EBP-A]
00423018|.83E9 30       SUB ECX,30
0042301B|.3BC1          CMP EAX,ECX
0042301D|.75 1E         JNZ SHORT VideoJoi.0042303D
0042301F|.0FB655 FA   MOVZX EDX,BYTE PTR SS:[EBP-6]
00423023|.0FB645 F5   MOVZX EAX,BYTE PTR SS:[EBP-B]
00423027|.83E8 30       SUB EAX,30
0042302A|.3BD0          CMP EDX,EAX
0042302C|.75 0F         JNZ SHORT VideoJoi.0042303D
0042302E|.0FB64D F4   MOVZX ECX,BYTE PTR SS:[EBP-C]
00423032|.0FB655 F9   MOVZX EDX,BYTE PTR SS:[EBP-7]
00423036|.83EA 30       SUB EDX,30
00423039|.3BCA          CMP ECX,EDX
0042303B|.74 58         JE SHORT VideoJoi.00423095
0042303D|>0FB645 FC   MOVZX EAX,BYTE PTR SS:[EBP-4]
00423041|.83F8 35       CMP EAX,35
00423044|.0F85 A7000000 JNZ VideoJoi.004230F1
0042304A|.0FB64D FD   MOVZX ECX,BYTE PTR SS:[EBP-3]
0042304E|.83F9 31       CMP ECX,31
00423051|.0F85 9A000000 JNZ VideoJoi.004230F1
00423057|.0FB655 F6   MOVZX EDX,BYTE PTR SS:[EBP-A]
0042305B|.83FA 38       CMP EDX,38
0042305E|.0F85 8D000000 JNZ VideoJoi.004230F1
00423064|.0FB645 F5   MOVZX EAX,BYTE PTR SS:[EBP-B]
00423068|.83F8 39       CMP EAX,39
0042306B|.0F85 80000000 JNZ VideoJoi.004230F1
00423071|.0FB64D F9   MOVZX ECX,BYTE PTR SS:[EBP-7]
00423075|.83F9 37       CMP ECX,37
00423078|.75 77         JNZ SHORT VideoJoi.004230F1
0042307A|.0FB655 F7   MOVZX EDX,BYTE PTR SS:[EBP-9]
0042307E|.83FA 36       CMP EDX,36
00423081|.75 6E         JNZ SHORT VideoJoi.004230F1
00423083|.0FB645 FE   MOVZX EAX,BYTE PTR SS:[EBP-2]
00423087|.83F8 31       CMP EAX,31
0042308A|.75 65         JNZ SHORT VideoJoi.004230F1
0042308C|.0FB64D FB   MOVZX ECX,BYTE PTR SS:[EBP-5]
00423090|.83F9 38       CMP ECX,38
00423093|.75 5C         JNZ SHORT VideoJoi.004230F1
00423095|>6A 00         PUSH 0
00423097|.6A 00         PUSH 0
00423099|.68 1CD04500   PUSH VideoJoi.0045D01C                   ;注册成功!
0042309E|.E8 18AC0200   CALL VideoJoi.0044DCBB
004230A3|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
004230A6|.83C1 70       ADD ECX,70
004230A9|.E8 E2F4FFFF   CALL VideoJoi.00422590
004230AE|.50            PUSH EAX
004230AF|.68 38D04500   PUSH VideoJoi.0045D038                   ;username
004230B4|.68 44D04500   PUSH VideoJoi.0045D044                   ;option
004230B9|.E8 D22BFFFF   CALL VideoJoi.00415C90
004230BE|.8BC8          MOV ECX,EAX                              ; |
004230C0|.E8 56A90200   CALL VideoJoi.0044DA1B                   ; \VideoJoi.0044DA1B
004230C5|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
004230C8|.83C1 74       ADD ECX,74
004230CB|.E8 C0F4FFFF   CALL VideoJoi.00422590
004230D0|.50            PUSH EAX
004230D1|.68 4CD04500   PUSH VideoJoi.0045D04C                   ;registration_code
004230D6|.68 60D04500   PUSH VideoJoi.0045D060                   ;option
004230DB|.E8 B02BFFFF   CALL VideoJoi.00415C90
004230E0|.8BC8          MOV ECX,EAX                              ; |
004230E2|.E8 34A90200   CALL VideoJoi.0044DA1B                   ; \VideoJoi.0044DA1B
004230E7|.8B4D E0       MOV ECX,DWORD PTR SS:[EBP-20]
004230EA|.E8 334F0200   CALL VideoJoi.00448022
004230EF|.EB 0E         JMP SHORT VideoJoi.004230FF
004230F1|>6A 00         PUSH 0
004230F3|.6A 00         PUSH 0
004230F5|.68 68D04500   PUSH VideoJoi.0045D068                   ;注册失败!
004230FA|.E8 BCAB0200   CALL VideoJoi.0044DCBB
004230FF|>8BE5          MOV ESP,EBP
00423101|.5D            POP EBP
00423102\.C3            RETN

[ 本帖最后由 野猫III 于 2006-6-4 17:56 编辑 ]

sky3749 发表于 2006-6-4 18:43:13

猫兄,辛苦了!!

haiye 发表于 2006-6-4 19:19:04

永远支持猫兄!感谢!

cxx17 发表于 2006-6-4 20:12:11

支持,支持!猫,辛苦了!

hbqjxhw 发表于 2006-6-4 20:50:50

支持猫兄再接再历

matin 发表于 2006-6-5 09:38:28

下来学习下`~

caterpilla 发表于 2006-6-6 07:07:07

不知注册机有没?这个以前在汉化版发过,现在转发到这里,当个补充,高级语言比汇编容易理解些。

一个注册机,算法根据用户名进行运算,得出的值(五位)与用户输入的注册码前五位比较,若相同,则忽略后面的数字(注册码需要至少八位)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
char user;
char code;
char b1,b2;
short i,count,m;
printf("please inpute your name:");
gets(user);
printf("\nuser name is %s",user);
b1=user;
b2=user;
count=0;
for(i=0;i<strlen(user);i++){
   count+=user;
}
m=count % 0xa;
code=(b1|0x4f) % 0xa;
code=(b2|0x56) % 0xa;
code=(b1|0x4a) % 0xa;
code=(b2|0x4e) % 0xa;
code=m;
code='\0';
for(i=0;i<strlen(code);i++){
   code=code+0x30;
}

printf("the code is %s",code);
system("PAUSE");      
return 0;
}

野猫III 发表于 2006-6-6 11:10:39

原帖由 caterpilla 于 2006-6-6 07:07 发表
不知注册机有没?这个以前在汉化版发过,现在转发到这里,当个补充,高级语言比汇编容易理解些。

一个注册机,算法根据用户名进行运算,得出的值(五位)与用户输入的注册码前五位比较,若相同,则忽略后面的数字 ...

兄弟写的吗?牛人!


是C++还是C呢?

那两个程序在那里下载呀???

[ 本帖最后由 野猫III 于 2006-6-6 11:12 编辑 ]

caterpilla 发表于 2006-6-7 07:29:28

C写的,DEV C++,天空软件站有下,用VC++也行。

Nisy 发表于 2006-6-7 07:45:02

用兄弟教的方法下载完毕~
页: [1] 2
查看完整版本: OpenVideoJoiner V3.02汉化版追码分析(逐位)