• 标 题:winzip注册机 (1千字)
  • 作 者:8989
  • 时 间:2001-4-12 23:07:29
  • 链 接:http://bbs.pediy.com

大家都知道,Winzip的注册码计算方法从来没改过,
这样做一个注册机就满有用的了,我稍微跟了一下,
发现并不是很复杂,只要看懂,你也可以写一个,
如果你愿意就练习一下吧!
从这里开始Ctrl+C

/**********************************************/
#include "stdio.h"

void main(void)
{
char str1[40],*pch=str1;
int c1=0,d1=0,eax=0,c2=0,ecx=0,n2=0,esi=0;
    printf("RegWinZip (for v6.x--v8.x), Write by BetterWang!\n");
    printf("Enter Your Name(1--39 letters):");

    scanf("%s",str1);
    while((*pch)!='\0'){
    d1+=(*pch)*c1;pch++;c1++;};
    pch=str1;
    while (*pch!='\0')
    {
        ecx=(*pch)*0x100;
        for(c2=0;c2<8;c2++){
            esi=ecx;
            esi^=eax;
            if(esi&0x8000){
                eax<<=1;
                eax^=0x1021;
                }
            else{eax<<=1;}
            ecx<<=1;}
        c1++;pch++;
    }

    n2=eax+0x63;
    n2&=0xffff;
    printf("Try This Code: ");
    printf("%04X",n2);
    printf("%04X",d1);
}

/******************************************************************/