欢迎来到 嗅灵易学

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

注册机在这里 (1千字)

注册机在这里 (1千字)

先更正一个笔误:程序将用户名转化为22xxxx.Never.22(其中“.”为ASCII码0x0d,xxxx为用户名)。
在004CBC22 处设断点,中断后,下命令“w 5314D4 l 400 c:\table.bin”dump出它的加密表。(因为我懒得自己输入,呵呵……)
下面代码编译后,将生成的exe文件和table.bin放在同一目录下,即可。
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <string>
unsigned long Table[256];
char Never[]={0x0d,'N','e','v','e','r',0x0d,'2','2',0};
char Name[255];
char YourName[40];
int main(int argc, char* argv[])
{
    unsigned long eax,edi,edx;
    FILE *fp;
    fp = fopen(".\\table.bin","rb");
    if (fp==NULL)
        return 0;
    fread(Table,sizeof(unsigned long),256,fp);
    fclose(fp);
    printf("Wrtie By leo_cyl\n");
    printf("input your name :");
    scanf("%s",YourName);
    Name[0]=Name[1]='2';
    int len = strlen(YourName);
    for (int i=0;i<len;i++)
        Name[i+2]=YourName[i];
    for(i=0;i<strlen(Never);i++)
        Name[len+2+i]=Never[i];
    Name[len+2+i]=0;
    eax=0xffffffff;
    for(i=0;i<strlen(Name);i++) {
        edx=0;
        edi=eax;
        edi=edi&0xff;
        edx = (unsigned long)Name[i];
        edx=edx^edi;
        eax=eax>>8;
        edx=Table[edx];
        eax=eax^edx;
    }
    eax=~eax;
    printf("Key= %u\n",eax);
    return 0;
}

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

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

0 0 0 举报
复制成功