欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

WinZIP.Self.Extractor.v2.2.Final.W9xNT2K.Incl.Keymaker.Source.Code-CORE (1千字)

WinZIP.Self.Extractor.v2.2.Final.W9xNT2K.Incl.Keymaker.Source.Code-CORE (1千字)

//
// WinZIP Self-Extractor v2.2 Final Keymaker
// Coded by [eGIS!/CORE].
//
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
typedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned long DWORD;
void main( void )
{
    char    name[ 50 ], *p = name;
    WORD    k1 = 0, k2 = 0, k, i;
    printf( "\n ._______/\\__________/\\_______/\\___________.\n"
        " /    _____\\_  ___    \\_____  \\    _____/\n"
        "/    \\      \\    _\\    /  /  /__    __\\___\n"
        "\\____________/__________\\___\\____  \\________/\n"
        "+-ds-----------+ C.O.R.E..2.K +- \\_/ -------+\n\n"
        "WinZIP Self-Extractor v2.2 Final Keymaker (c) by Egis/CORE.\n\nEnter your name: " );
    gets( name );
    strlwr( name );
    i = 1;
    while( *p ) {
        if( !isalpha( *p ) ) {
            p++;
            continue;
        }
        k1 += ( i++ ) * ( WORD ) *( p++ );
    }
    p = name;
    while( *p ) {
        if( !isalpha( *p ) ) {
            p++;
            continue;
        }
        k = *p;
        k <<= 8;
        for( i = 0; i < 8; i++ ) {
            if( ( k ^ k2 ) & 0x8000 ) {
                k2 <<= 1;
                k2 &= 0xffff;
                k2 ^= 0x1021;
            } else {
                k2 <<= 1;
                k2 &= 0xffff;
            }
            k <<= 1;
            k &= 0xffff;
        }
        p++;
    }
    sprintf( name, "%03u", k1 );
    sprintf( name + 3, "%03u", k2 + 0x9dd );
    *( name + 6 ) = '\0';
    printf( "\nYour registration code: %s\n", name );
}

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功