x200 发表于 2016-9-20 07:29

如何使用C语言根据已知代码写出keygen?

本人不懂编程。代码是在网上找到的。想写个keygen玩玩,但不会编程。

代码如下:

#include <stdio.h>
#include <ctype.h>
#define STR_LEN 8

unsigned char Table1[] = { 0xA2,0x9E,0xFA,0x89,0x6A,0x70,0x28,0x72,0x1F,
            0x65,0x66,0x59,0x80,0x7F,0xC4,0x6B,0xC1,0x5F,
            0x2E,0x9B };

unsigned char Table2[] = { 0xC4,0x6B,0xFA,0x89,0x28,0x72,0xA2,0x9E,0x2E,
            0x9B,0x6A,0x70,0xC1,0x5F,0xFA,0x89,0xC4,0x6B,
            0xC1,0x5F,0xA2,0x9E,0x80,0x7F,0xC4,0x6B,0x80,
            0x7F,0x80,0x7F,0xC4,0x6B,0xFA,0x89,0x2E,0x9B,
            0x28,0x72,0x28,0x72,0x66,0x59,0x28,0x72,0xC1,
            0x5F,0x28,0x72,0xFA,0x89,0x1F,0x65,0x6A,0x70,
            0x2E,0x9B,0xC4,0x6B,0xA2,0x9E,0x28,0x72,0xFA,
            0x89,0xA2,0x9E,0xC1,0x5F,0x1F,0x65,0x6A,0x70,
            0x6A,0x70,0x80,0x7F,0xC1,0x5F,0x2E,0x9B,0x28,
            0x72,0xC4,0x6B,0x66,0x59,0xC4,0x6B,0x80,0x7F,
            0x1F,0x65,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xFA,
            0x89,0xA2,0x9E,0x66,0x59,0x2E,0x9B,0xFA,0x89,
            0xC4,0x6B,0xFA,0x89,0x80,0x7F,0xC4,0x6B,0xC1,
            0x5F,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xC1,0x5F,
            0x1F,0x65,0x2E,0x9B,0x66,0x59,0x66,0x59,0x80,
            0x7F,0x80,0x7F,0xC4,0x6B,0x2E,0x9B,0xFA,0x89,
            0xC4,0x6B,0x80,0x7F,0x66,0x59,0xA2,0x9E,0x1F,
            0x65,0x28,0x72,0x66,0x59,0xFA,0x89,0x2E,0x9B,
            0x6A,0x70,0x6A,0x70,0xA2,0x9E,0x2E,0x9B,0x6A,
            0x70,0x66,0x59,0xC4,0x6B,0xA2,0x9E,0x1F,0x65,
            0x28,0x72,0x66,0x59,0xC1,0x5F,0xFA,0x89,0xC1,
            0x5F,0xFA,0x89,0x66,0x59,0x66,0x59,0xFA,0x89,
            '\0' };

unsigned char buf_str[] = "**";
unsigned char Number_str;
unsigned char Code_str[] = "0*0*0*0*";
char *pstr,*pt;
int pos=0,k=0;

void main() {
printf("\nPlease Enter Number of your SoftWare: ");
scanf("%s",Number_str);
if(strlen(Number_str)>=STR_LEN){
    pstr = Number_str;
    pt = Table2;
    while(k<STR_LEN){
      buf_str = Table1[(*(pstr+k)-0x30)*2];
      buf_str = Table1[(*(pstr+k)-0x30)*2+1];
      pos = (*(pstr+k+1)-0x30)*10*2;
      Code_str = ((int)strstr(pt+pos,buf_str)-(int)pt-pos)/2+1+0x30;
      k += 2;
    }
    printf("\nYour Code is: %s[ * -- any digital ]",Code_str);
}else {
    printf("Enter Number error.");
}
}

不苦小和尚 发表于 2016-9-20 09:40

这段代码算法不都写出来了吗

LYQingYe 发表于 2016-9-20 11:38

不会编程,你怎么写代码。。。。。。。。

Silentrifly 发表于 2016-9-20 12:26

我来看!!!!!!!{:5_116:} 不懂帮顶

Silentrifly 发表于 2016-9-20 12:27

学习一下,这段算法不都写出来了吗

x200 发表于 2016-9-20 18:56

LYQingYe 发表于 2016-9-20 11:38
不会编程,你怎么写代码。。。。。。。。

你好。代码是网上找的。

sdjkmj 发表于 2016-9-21 08:56

写个界面,把结果输出的那改改应该就可以了把

不苦小和尚 发表于 2016-9-21 13:13

晚上给你写一下

x200 发表于 2016-9-21 18:31

不苦小和尚 发表于 2016-9-21 13:13
晚上给你写一下

先谢谢啦。硬着头皮使用C+精简版尝试了下,编译不通过

610100 发表于 2016-9-24 21:52

学习一下C语言
页: [1]
查看完整版本: 如何使用C语言根据已知代码写出keygen?