一种生成Microsoft有效Key的算法

发布于 2017-08-19  1.45k 次阅读


呃呃,怎么说呢,这是小朱有史以来写过的最最最最无厘头的一篇文章,哈哈哈哈,这个算法很神奇,可以确保100%生成,只要你有时间,哈哈哈哈,原理是什么呢,你可以试着猜一下,嘿嘿嘿,猜不到吧。我来告诉你吧,用最最最最最最笨的方法穷举出所有可能的情况,哈哈哈哈,这种方法可以生成所有XXXXX-XXXXX-XXXXX-XXXXX-XXXXX结构的密钥,很牛逼,有木有?(恭喜你被我坑了)

以下是该程序运行20分钟的结果:

一种生成Microsoft有效Key的算法

哇,才这么点,算完全部要多久,你问我?(我哪知道)

不过呢,小朱还是模拟了全部算完的时候的截图的,看看下面吧:

一种生成Microsoft有效Key的算法

下面是代码(随便写着玩的,不要当真哈):

[cc lang="C"]

// All-Key.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<stdio.h>
#include<stdlib.h>
#define ARR_MAX 30

char key[ARR_MAX];
int count = 1;
void print() {
if (count == 1000) {
count = 1;
system("cls");
}
else count++;
//输出1000条Key清一次屏,把以上这段删掉即可持续输出不清屏
for (int temp = 0; temp <= 30; temp++) {
printf("%c", key[temp]);
}
printf("\n");
}//输出Key的函数,别问我为啥这么干,我不会,只能这么干
int main() {
for (int i = 0; i <= 28; i++) {
if ((i+1) % 6 == 0 && i != 0) {
key[i] = '-';
continue;
}
key[i] = 'A';
}//将Key初始化为AAAAA-AAAAA-AAAAA-AAAAA-AAAAA
print();
//神奇的嵌套开始啦!代码形状很漂亮有木有?
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
for (int i = 1; i <= 35; i++) {
if (i == 35) {
key[28] = 'A';
break;
}
if (i == 26) {
key[28] = '1';
print();
continue;
}
key[28] = key[28] + 1;
print();
}
if (i == 35) {
key[27] = 'A';
break;
}
if (i == 26) {
key[27] = '1';
print();
continue;
}
key[27] = key[27] + 1;
print();
}
if (i == 35) {
key[26] = 'A';
break;
}
if (i == 26) {
key[26] = '1';
print();
continue;
}
key[26] = key[26] + 1;
print();
}
if (i == 35) {
key[25] = 'A';
break;
}
if (i == 26) {
key[25] = '1';
print();
continue;
}
key[25] = key[25] + 1;
print();
}
if (i == 35) {
key[24] = 'A';
break;
}
if (i == 26) {
key[24] = '1';
print();
continue;
}
key[24] = key[24] + 1;
print();
}
if (i == 35) {
key[22] = 'A';
break;
}
if (i == 26) {
key[22] = '1';
print();
continue;
}
key[22] = key[22] + 1;
print();
}
if (i == 35) {
key[21] = 'A';
break;
}
if (i == 26) {
key[21] = '1';
print();
continue;
}
key[21] = key[21] + 1;
print();
}
if (i == 35) {
key[20] = 'A';
break;
}
if (i == 26) {
key[20] = '1';
print();
continue;
}
key[20] = key[20] + 1;
print();
}
if (i == 35) {
key[19] = 'A';
break;
}
if (i == 26) {
key[19] = '1';
print();
continue;
}
key[19] = key[19] + 1;
print();
}
if (i == 35) {
key[18] = 'A';
break;
}
if (i == 26) {
key[18] = '1';
print();
continue;
}
key[18] = key[18] + 1;
print();
}
if (i == 35) {
key[16] = 'A';
break;
}
if (i == 26) {
key[16] = '1';
print();
continue;
}
key[16] = key[16] + 1;
print();
}
if (i == 35) {
key[15] = 'A';
break;
}
if (i == 26) {
key[15] = '1';
print();
continue;
}
key[15] = key[15] + 1;
print();
}
if (i == 35) {
key[14] = 'A';
break;
}
if (i == 26) {
key[14] = '1';
print();
continue;
}
key[14] = key[14] + 1;
print();
}
if (i == 35) {
key[13] = 'A';
break;
}
if (i == 26) {
key[13] = '1';
print();
continue;
}
key[13] = key[13] + 1;
print();
}
if (i == 35) {
key[12] = 'A';
break;
}
if (i == 26) {
key[12] = '1';
print();
continue;
}
key[12] = key[12] + 1;
print();
}
if (i == 35) {
key[10] = 'A';
break;
}
if (i == 26) {
key[10] = '1';
print();
continue;
}
key[10] = key[10] + 1;
print();
}
if (i == 35) {
key[9] = 'A';
break;
}
if (i == 26) {
key[9] = '1';
print();
continue;
}
key[9] = key[9] + 1;
print();
}
if (i == 35) {
key[8] = 'A';
break;
}
if (i == 26) {
key[8] = '1';
print();
continue;
}
key[8] = key[8] + 1;
print();
}
if (i == 35) {
key[7] = 'A';
break;
}
if (i == 26) {
key[7] = '1';
print();
continue;
}
key[7] = key[7] + 1;
print();
}
if (i == 35) {
key[6] = 'A';
break;
}
if (i == 26) {
key[6] = '1';
print();
continue;
}
key[6] = key[6] + 1;
print();
}
if (i == 35) {
key[4] = 'A';
break;
}
if (i == 26) {
key[4] = '1';
print();
continue;
}
key[4] = key[4] + 1;
print();
}
if (i == 35) {
key[3] = 'A';
break;
}
if (i == 26) {
key[3] = '1';
print();
continue;
}
key[3] = key[3] + 1;
print();
}
if (i == 35) {
key[2] = 'A';
break;
}
if (i == 26) {
key[2] = '1';
print();
continue;
}
key[2] = key[2] + 1;
print();
}
if (i == 35) {
key[1] = 'A';
break;
}
if (i == 26) {
key[1] = '1';
print();
continue;
}
key[1] = key[1] + 1;
print();
}
if (i == 35) {
key[0] = 'A';
break;
}
if (i == 26) {
key[0] = '1';
print();
continue;
}
key[0] = key[0] + 1;
print();
}
printf("恭喜你!完成了所有输出!可以这么说,你拥有了Microsoft的所有Key了!!!哈哈哈哈!");
system("pause");
return 0;
}
[/cc]

我写这篇文章目的是啥呢,没有目的,纯粹是凑文章数的,哈哈哈哈!


emmmmmmm