首页
论坛
课程
招聘
Open Video Converter v3.01算法,感谢marsaber
2005-12-25 16:52 9185

Open Video Converter v3.01算法,感谢marsaber

2005-12-25 16:52
9185
http://bbs.pediy.com/showthread.php?s=&threadid=19735
首先要感谢marsaber,小弟是在他分析的基础上深入研究的
算法其实挺简单的,一点耐心加上一点汇编基础就行了

0042499E  |.  83F8 02         CMP EAX,2                                ;  用户名至少两位
004249A1  |.  7D 13           JGE SHORT VideoCon.004249B6
004249A3  |.  6A 00           PUSH 0
004249A5  |.  6A 00           PUSH 0
004249A7  |.  68 2C034600     PUSH VideoCon.0046032C                   ;  ASCII "Please input correct User Name!"
004249AC  |.  E8 BEC10200     CALL VideoCon.00450B6F
004249B1  |.  E9 A9020000     JMP VideoCon.00424C5F
004249B6  |>  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]
004249B9  |.  83C1 74         ADD ECX,74
004249BC  |.  E8 8F70FEFF     CALL VideoCon.0040BA50
004249C1  |.  83F8 08         CMP EAX,8                                ;  注册码至少八位
004249C4  |.  7D 13           JGE SHORT VideoCon.004249D9
004249C6  |.  6A 00           PUSH 0
004249C8  |.  6A 00           PUSH 0
004249CA  |.  68 4C034600     PUSH VideoCon.0046034C                   ;  ASCII "Please input correct Registration Code!"
004249CF  |.  E8 9BC10200     CALL VideoCon.00450B6F
004249D4  |.  E9 86020000     JMP VideoCon.00424C5F
004249D9  |>  6A 00           PUSH 0                                   ; /Arg1 = 00000000
004249DB  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
004249DE  |.  83C1 70         ADD ECX,70                               ; |
004249E1  |.  E8 AAF5FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
004249E6  |.  8845 EF         MOV BYTE PTR SS:[EBP-11],AL              ;  用户名第一位
004249E9  |.  6A 01           PUSH 1                                   ; /Arg1 = 00000001
004249EB  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
004249EE  |.  83C1 70         ADD ECX,70                               ; |
004249F1  |.  E8 9AF5FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
004249F6  |.  8845 F8         MOV BYTE PTR SS:[EBP-8],AL               ;  用户名第二位
004249F9  |.  6A 00           PUSH 0                                   ; /Arg1 = 00000000
004249FB  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
004249FE  |.  83C1 70         ADD ECX,70                               ; |
00424A01  |.  E8 8AF5FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424A06  |.  8845 FF         MOV BYTE PTR SS:[EBP-1],AL               ;  第一位
00424A09  |.  6A 01           PUSH 1                                   ; /Arg1 = 00000001
00424A0B  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424A0E  |.  83C1 70         ADD ECX,70                               ; |
00424A11  |.  E8 7AF5FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424A16  |.  8845 FA         MOV BYTE PTR SS:[EBP-6],AL               ;  第二位
00424A19  |.  0FB645 EF       MOVZX EAX,BYTE PTR SS:[EBP-11]           ;  第一位ASCII
00424A1D  |.  83C8 41         OR EAX,41                                ;  第一位ASCII OR 41
00424A20  |.  8845 EF         MOV BYTE PTR SS:[EBP-11],AL              ;  放回[ebp-11],记作码1
00424A23  |.  0FB64D F8       MOVZX ECX,BYTE PTR SS:[EBP-8]            ;  第二位ASCII
00424A27  |.  83C9 56         OR ECX,56                                ;  第二位ASCII OR 56
00424A2A  |.  884D F8         MOV BYTE PTR SS:[EBP-8],CL               ;  放回[ebp-8],记作码2
00424A2D  |.  0FB655 FF       MOVZX EDX,BYTE PTR SS:[EBP-1]            ;  第一位
00424A31  |.  83CA 49         OR EDX,49                                ;  第一位ASCII OR 49
00424A34  |.  8855 FF         MOV BYTE PTR SS:[EBP-1],DL               ;  放回[ebp-1],记作码3
00424A37  |.  0FB645 FA       MOVZX EAX,BYTE PTR SS:[EBP-6]            ;  第二位ASCII
00424A3B  |.  83C8 43         OR EAX,43                                ;  第二位ASCII OR 43
00424A3E  |.  8845 FA         MOV BYTE PTR SS:[EBP-6],AL               ;  放回[ebp-6],记作码4
00424A41  |.  0FB645 EF       MOVZX EAX,BYTE PTR SS:[EBP-11]
00424A45  |.  99              CDQ
00424A46  |.  B9 0A000000     MOV ECX,0A                               ;  被除数10(十进制,下同)
00424A4B  |.  F7F9            IDIV ECX
00424A4D  |.  8855 EF         MOV BYTE PTR SS:[EBP-11],DL              ;  码1除以10,余数放回码1
00424A50  |.  0FB645 F8       MOVZX EAX,BYTE PTR SS:[EBP-8]
00424A54  |.  99              CDQ
00424A55  |.  B9 0A000000     MOV ECX,0A
00424A5A  |.  F7F9            IDIV ECX
00424A5C  |.  8855 F8         MOV BYTE PTR SS:[EBP-8],DL               ;  码2除以10,余数放回码2
00424A5F  |.  0FB645 FF       MOVZX EAX,BYTE PTR SS:[EBP-1]
00424A63  |.  99              CDQ
00424A64  |.  B9 0A000000     MOV ECX,0A
00424A69  |.  F7F9            IDIV ECX
00424A6B  |.  8855 FF         MOV BYTE PTR SS:[EBP-1],DL               ;  码3除以10,余数放回码3
00424A6E  |.  0FB645 FA       MOVZX EAX,BYTE PTR SS:[EBP-6]
00424A72  |.  99              CDQ
00424A73  |.  B9 0A000000     MOV ECX,0A
00424A78  |.  F7F9            IDIV ECX
00424A7A  |.  8855 FA         MOV BYTE PTR SS:[EBP-6],DL               ;  码4除以10,余数放回码4
00424A7D  |.  C745 F0 0000000>MOV DWORD PTR SS:[EBP-10],0
00424A84  |.  C745 E8 0000000>MOV DWORD PTR SS:[EBP-18],0
00424A8B  |.  EB 09           JMP SHORT VideoCon.00424A96
00424A8D  |>  8B55 E8         /MOV EDX,DWORD PTR SS:[EBP-18]           ;  用户名第X位
00424A90  |.  83C2 01         |ADD EDX,1                               ;  位数加1
00424A93  |.  8955 E8         |MOV DWORD PTR SS:[EBP-18],EDX
00424A96  |>  8B4D E0          MOV ECX,DWORD PTR SS:[EBP-20]
00424A99  |.  83C1 70         |ADD ECX,70
00424A9C  |.  E8 AF6FFEFF     |CALL VideoCon.0040BA50
00424AA1  |.  3945 E8         |CMP DWORD PTR SS:[EBP-18],EAX           ;  eax=用户名位数,到最后一位了吗?
00424AA4  |.  7D 1E           |JGE SHORT VideoCon.00424AC4
00424AA6  |.  8B45 E8         |MOV EAX,DWORD PTR SS:[EBP-18]
00424AA9  |.  50              |PUSH EAX                                ; /Arg1
00424AAA  |.  8B4D E0         |MOV ECX,DWORD PTR SS:[EBP-20]           ; |
00424AAD  |.  83C1 70         |ADD ECX,70                              ; |
00424AB0  |.  E8 DBF4FFFF     |CALL VideoCon.00423F90                  ; \VideoCon.00423F90
00424AB5  |.  8845 E7         |MOV BYTE PTR SS:[EBP-19],AL
00424AB8  |.  0FB64D E7       |MOVZX ECX,BYTE PTR SS:[EBP-19]          ;  第X位ASCII 码- ecx
00424ABC  |.  034D F0         |ADD ECX,DWORD PTR SS:[EBP-10]           ;  用户名每位ASCII 码累加
00424ABF  |.  894D F0         |MOV DWORD PTR SS:[EBP-10],ECX
00424AC2  |.^ EB C9           \JMP SHORT VideoCon.00424A8D
00424AC4  |>  8B45 F0         MOV EAX,DWORD PTR SS:[EBP-10]            ;  上面累加结果->eax
00424AC7  |.  99              CDQ
00424AC8  |.  B9 0A000000     MOV ECX,0A
00424ACD  |.  F7F9            IDIV ECX                                 ;  累加结果除以10,余数放到[ebp-c]
00424ACF  |.  8855 F4         MOV BYTE PTR SS:[EBP-C],DL               ;  记此余数为码5
00424AD2  |.  6A 00           PUSH 0                                   ; /Arg1 = 00000000
00424AD4  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424AD7  |.  83C1 74         ADD ECX,74                               ; |
00424ADA  |.  E8 B1F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424ADF  |.  8845 FC         MOV BYTE PTR SS:[EBP-4],AL               ;  假注册码第一位放到[ebp-4]
00424AE2  |.  6A 01           PUSH 1                                   ; /Arg1 = 00000001
00424AE4  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424AE7  |.  83C1 74         ADD ECX,74                               ; |
00424AEA  |.  E8 A1F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424AEF  |.  8845 FD         MOV BYTE PTR SS:[EBP-3],AL               ;  假注册码第二位放到[ebp-3]
00424AF2  |.  6A 02           PUSH 2                                   ; /Arg1 = 00000002
00424AF4  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424AF7  |.  83C1 74         ADD ECX,74                               ; |
00424AFA  |.  E8 91F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424AFF  |.  8845 F6         MOV BYTE PTR SS:[EBP-A],AL               ;  假注册码第三位放到[ebp-A]
00424B02  |.  6A 03           PUSH 3                                   ; /Arg1 = 00000003
00424B04  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424B07  |.  83C1 74         ADD ECX,74                               ; |
00424B0A  |.  E8 81F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424B0F  |.  8845 F5         MOV BYTE PTR SS:[EBP-B],AL               ;  假码第四位放到[ebp-B]
00424B12  |.  6A 04           PUSH 4                                   ; /Arg1 = 00000004
00424B14  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424B17  |.  83C1 74         ADD ECX,74                               ; |
00424B1A  |.  E8 71F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424B1F  |.  8845 F9         MOV BYTE PTR SS:[EBP-7],AL               ;  第五位[ebp-7]
00424B22  |.  6A 05           PUSH 5                                   ; /Arg1 = 00000005
00424B24  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424B27  |.  83C1 74         ADD ECX,74                               ; |
00424B2A  |.  E8 61F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424B2F  |.  8845 F7         MOV BYTE PTR SS:[EBP-9],AL               ;  第六位[ebp-9]
00424B32  |.  6A 06           PUSH 6                                   ; /Arg1 = 00000006
00424B34  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424B37  |.  83C1 74         ADD ECX,74                               ; |
00424B3A  |.  E8 51F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424B3F  |.  8845 FE         MOV BYTE PTR SS:[EBP-2],AL               ;  第七位[ebp-2]
00424B42  |.  6A 07           PUSH 7                                   ; /Arg1 = 00000007
00424B44  |.  8B4D E0         MOV ECX,DWORD PTR SS:[EBP-20]            ; |
00424B47  |.  83C1 74         ADD ECX,74                               ; |
00424B4A  |.  E8 41F4FFFF     CALL VideoCon.00423F90                   ; \VideoCon.00423F90
00424B4F  |.  8845 FB         MOV BYTE PTR SS:[EBP-5],AL               ;  第八位[ebp-5]
00424B52  |.  0FB655 EF       MOVZX EDX,BYTE PTR SS:[EBP-11]           ;  码1
00424B56  |.  0FB645 FC       MOVZX EAX,BYTE PTR SS:[EBP-4]            ;  假注册码第1位的ASCII
00424B5A  |.  83E8 30         SUB EAX,30                               ;  转成数字
00424B5D  |.  3BD0            CMP EDX,EAX                              ;  要相等
00424B5F  |.  75 3C           JNZ SHORT VideoCon.00424B9D
00424B61  |.  0FB64D F8       MOVZX ECX,BYTE PTR SS:[EBP-8]
00424B65  |.  0FB655 FD       MOVZX EDX,BYTE PTR SS:[EBP-3]
00424B69  |.  83EA 30         SUB EDX,30
00424B6C  |.  3BCA            CMP ECX,EDX
00424B6E  |.  75 2D           JNZ SHORT VideoCon.00424B9D              ;  码2与第二位注册码
00424B70  |.  0FB645 FF       MOVZX EAX,BYTE PTR SS:[EBP-1]
00424B74  |.  0FB64D F6       MOVZX ECX,BYTE PTR SS:[EBP-A]
00424B78  |.  83E9 30         SUB ECX,30
00424B7B  |.  3BC1            CMP EAX,ECX
00424B7D  |.  75 1E           JNZ SHORT VideoCon.00424B9D              ;  码3
00424B7F  |.  0FB655 FA       MOVZX EDX,BYTE PTR SS:[EBP-6]
00424B83  |.  0FB645 F5       MOVZX EAX,BYTE PTR SS:[EBP-B]
00424B87  |.  83E8 30         SUB EAX,30
00424B8A  |.  3BD0            CMP EDX,EAX
00424B8C  |.  75 0F           JNZ SHORT VideoCon.00424B9D              ;  码4
00424B8E  |.  0FB64D F4       MOVZX ECX,BYTE PTR SS:[EBP-C]
00424B92  |.  0FB655 F9       MOVZX EDX,BYTE PTR SS:[EBP-7]
00424B96  |.  83EA 30         SUB EDX,30
00424B99  |.  3BCA            CMP ECX,EDX
00424B9B  |.  74 58           JE SHORT VideoCon.00424BF5               ;  码5
00424B9D  |>  0FB645 FC       MOVZX EAX,BYTE PTR SS:[EBP-4]            ;  上面码1至码5如果有一个不符合,则运算出的注册码不对
00424BA1  |.  83F8 35         CMP EAX,35                               ;  但是还有一次机会,通用注册码,51897629
00424BA4  |.  0F85 A7000000   JNZ VideoCon.00424C51
00424BAA  |.  0FB64D FD       MOVZX ECX,BYTE PTR SS:[EBP-3]
00424BAE  |.  83F9 31         CMP ECX,31
00424BB1  |.  0F85 9A000000   JNZ VideoCon.00424C51
00424BB7  |.  0FB655 F6       MOVZX EDX,BYTE PTR SS:[EBP-A]
00424BBB  |.  83FA 38         CMP EDX,38
00424BBE  |.  0F85 8D000000   JNZ VideoCon.00424C51
00424BC4  |.  0FB645 F5       MOVZX EAX,BYTE PTR SS:[EBP-B]
00424BC8  |.  83F8 39         CMP EAX,39
00424BCB  |.  0F85 80000000   JNZ VideoCon.00424C51
00424BD1  |.  0FB64D F9       MOVZX ECX,BYTE PTR SS:[EBP-7]
00424BD5  |.  83F9 37         CMP ECX,37
00424BD8  |.  75 77           JNZ SHORT VideoCon.00424C51
00424BDA  |.  0FB655 F7       MOVZX EDX,BYTE PTR SS:[EBP-9]
00424BDE  |.  83FA 36         CMP EDX,36
00424BE1  |.  75 6E           JNZ SHORT VideoCon.00424C51
00424BE3  |.  0FB645 FE       MOVZX EAX,BYTE PTR SS:[EBP-2]
00424BE7  |.  83F8 32         CMP EAX,32
00424BEA  |.  75 65           JNZ SHORT VideoCon.00424C51
00424BEC  |.  0FB64D FB       MOVZX ECX,BYTE PTR SS:[EBP-5]
00424BF0  |.  83F9 39         CMP ECX,39
00424BF3  |.  75 5C           JNZ SHORT VideoCon.00424C51              ;  也不是通用注册码,就注册失败,否则成功

总结一下算法:
用户名至少2位,注册码至少8位
第一位的ASCII码 OR 41(十六进制),除以A(十六进制),余数作为码1
第二位的ASCII码 OR 56(十六进制),除以A(十六进制),余数作为码2
第一位的ASCII码 OR 49(十六进制),除以A(十六进制),余数作为码3
第二位的ASCII码 OR 43(十六进制),除以A(十六进制),余数作为码4
用户名所有位数ASCII码累加,除以A,余数作为码5
码1至码5分别与注册码前五位比较,全同则注册成功
否则判断注册码前八位是否为通用注册码51897629,是则注册成功,否则注册失败。

用户名:alifriend
注册码:76512XXXXXXXXXX(XX随便,注册码至少八位就行)

[招生]科锐逆向工程师培训46期预科班将于 2023年02月09日 正式开班

收藏
点赞0
打赏
分享
最新回复 (18)
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-25 19:59
2
0
注册机

#include<iostream.h>
#include <stdio.h>
void main()
{
        int i=0,j=0;
        char name[100];
        gets(name);
        cout<<endl;
        cout<<(name[0]|65)%10<<(name[1]|86)%10<<(name[0]|73)%10<<(name[1]|67)%10;
        while(name[i]!='\0')
        {
                j=j+name[i];
                i++;
        }
        cout<<j%10<<"000"<<endl;
}
雪    币: 538
活跃值: 活跃值 (22)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Saver 活跃值 2005-12-25 20:09
3
0
写的相当详细啊
雪    币: 1954
活跃值: 活跃值 (1390)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2005-12-25 20:21
4
0
跟上
procedure Tkeygen.genButton1Click(Sender: TObject);
var
  s,s1,s2,s3,s4,s5,s6:String;
begin
   s:=nameEdit.Text;
   if length(s)<1 then
   begin
    ShowMessage('请正确输入用户名!');
    exit;
   end;
   s1:=inttostr((ord(s[1]) or $41)mod $a);
   s2:=inttostr((ord(s[2]) or $56)mod $a);
   s3:=inttostr((ord(s[1]) or $49)mod $a);
   s4:=inttostr((ord(s[2]) or $43)mod $a);
   s5:=inttostr((ord(s[1])+ord(s[2])+ord(s[3])+ord(s[4])+ord(s[5]))mod $a);
   s6:=inttostr(random(9))+inttostr(random(3))+inttostr(random(6));//随便设置随机数
   codeEdit.Text:=s1+s2+s3+s4+s5+s6;
end;
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-25 20:23
5
0
哈,用户名是否小于2位我没有去弄了,重要的是算法喽,楼上的是什么语言的代码?
雪    币: 1954
活跃值: 活跃值 (1390)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 活跃值 5 2005-12-25 20:27
6
0
最初由 波导终结者 发布
哈,用户名是否小于2位我没有去弄了,重要的是算法喽,楼上的是什么语言的代码?


delphi
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-25 20:29
7
0
哈哈,原来如此。看着有点像VB,但VB对字符的操作好像挺麻烦的。
雪    币: 200
活跃值: 活跃值 (197)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
KuNgBiM 活跃值 66 2005-12-25 22:50
8
0
http://bbs.pediy.com/showthread.php?s=&threadid=18653

#include "stdio.h"

int main()
{ int i,n,n1,n2,n3,n4,n5=0;
  char name[255]={0};

printf("////////////////////////////////////////////////////\n");
printf("//       Open Video Converter 3.0.1 - Keygen      //\n");
printf("//                                                //\n");
printf("//              Author: KuNgBiM[DFCG]             //\n");
printf("//                                                //\n");
printf("//              E-mail: [email]kungbim@163.com[/email]           //\n");
printf("//                                                //\n");
printf("//       OS : WinXP, PEiD, Ollydbg, Turbo C       //\n");
printf("//                                                //\n");
printf("//               Date :  2005-07-04               //\n");
printf("////////////////////////////////////////////////////\n\n");
printf("Please Input User Name[User Name>= 2]: ");
scanf("%s",&name);

n=strlen(name);

for (i=0;i<n;i++)
    n5+=name[i];
      n5%=0xA;

n1=name[0]|0x41;
n1%=0xA;

n2=name[1]|0x56;
n2%=0xA;

n3=name[0]|0x49;
n3%=0xA;

n4=name[1]|0x43;
n4%=0xA;

printf("\nYour Registration Code is : %d%d%d%d%d888",n1,n2,n3,n4,n5);

  getch();
return 0;
}
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-25 22:59
9
0
哎呀,原来有高手写过一样的,真是献丑了
雪    币: 200
活跃值: 活跃值 (197)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
KuNgBiM 活跃值 66 2005-12-25 23:13
10
0
最初由 波导终结者 发布
哎呀,原来有高手写过一样的,真是献丑了


值得鼓励~~!!

自己能找出算法就值得鼓励~!!学到的是自己的嘛
雪    币: 201
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
windayjian 活跃值 5 2005-12-25 23:18
11
0
最初由 KuNgBiM 发布


值得鼓励~~!!

自己能找出算法就值得鼓励~!!学到的是自己的嘛


楼上懂很多门语言嘛,佩服!
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-25 23:20
12
0
最初由 windayjian 发布


楼上懂很多门语言嘛,佩服!

我也懂很多语言,我懂中文,极小部分英文,一小部分日文(日文里的中文我都懂,B4小日本),还有闽南语
雪    币: 201
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
windayjian 活跃值 5 2005-12-25 23:24
13
0
最初由 波导终结者 发布

我也懂很多语言,我懂中文,极小部分英文,一小部分日文(日文里的中文我都懂,B4小日本),还有闽南语


我就在日资公司工作,最会说:死你妈先!HI多毛!!
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
marsaber 活跃值 2005-12-25 23:38
14
0
汗!
俺写的简直就不能拿出手啊!
雪    币: 114
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:530 )
在线值:
发帖
回帖
粉丝
lnn1123 活跃值 13 2005-12-26 09:52
15
0
开始注册机比赛了啊
雪    币: 200
活跃值: 活跃值 (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
jjwangjun 活跃值 2005-12-26 13:15
16
0
支持
雪    币: 190
活跃值: 活跃值 (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
侠盗 活跃值 2005-12-29 23:15
17
0
我靠,进了牛群了!都是牛人啊!
雪    币: 448
活跃值: 活跃值 (13)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
dododo 活跃值 2 2005-12-30 10:03
18
0
最初由 波导终结者 发布
注册机

#include<iostream.h>
#include <stdio.h>
void main()
........


注册机

#include<iostream.h>
#include <stdio.h>
void main()
{
  int i=0,j=0;
  char name[100]={0};   //记得初始化,否则会有一些小问题的
  gets(name);
  if(strlen(name)<=2)
  {
    cout<<"注册名必须大于2位"<<endl;
    return;
  }
  cout<<endl;
  cout<<(name[0]|65)%10<<(name[1]|86)%10<<(name[0]|73)%10<<(name[1]|67)%10;
  while(name[i]!='\0')
  {
    j=j+name[i];
    i++;
  }
  cout<<j%10<<"000"<<endl;
}
雪    币: 140
活跃值: 活跃值 (10)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
波导终结者 活跃值 4 2005-12-30 12:20
19
0
最初由 dododo 发布



注册机

........

谢谢你。
游客
登录 | 注册 方可回帖
返回