首页
社区
课程
招聘
[原创]本人初学破解刚写的一个KEYGENME,无花无壳,看有不有人三个小时内写出注册机。
发表于: 2011-2-17 11:49 8726

[原创]本人初学破解刚写的一个KEYGENME,无花无壳,看有不有人三个小时内写出注册机。

2011-2-17 11:49
8726
暴破,跟得到序列号不算,因为算法很简单。还有时间限制。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 134
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
试试 就好这口
2011-2-17 12:12
0
雪    币: 1353
活跃值: (2336)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
三位大牛下载了,一个小时了,没动静,呵呵,下载看看,
2011-2-17 12:45
0
雪    币: 4022
活跃值: (92)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
4
晚上试试。。。
2011-2-17 13:55
0
雪    币: 80
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
if ( & s == (int *)1840486 )
    MessageBoxA(0, "成功!", "成功!", 0);
太明显了把
2011-2-17 15:49
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
说了无花无壳,暴破不算,这么简单你写一个注册机出来吧。 最开始上传的有错,现在更正错误了。大家重新下载吧
2011-2-17 15:54
0
雪    币: 338
活跃值: (103)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
7
KeyGenMe.rar
上传的附件:
2011-2-17 16:26
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
[QUOTE=kkmylove;926286] KeyGenMe.rar[/QUOTE]

还以为写出注册机了,暴破,大把的人10秒内就KO了,写注册机出瞧瞧
2011-2-17 16:29
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只是NOP了跳转而已,这个没有意义,算法这么简单,才要求写注册机的啊
2011-2-17 16:31
0
雪    币: 4022
活跃值: (92)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
10
理出来算法了,但是注册机不是甚会写。。。
主要是异或操作..
注册码非唯一...
先给出一组可用的用户名注册码,再去研究注册机的编写....


用户名:dabiao
注册码:bi0.0"
上传的附件:
2011-2-17 19:40
0
雪    币: 39
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
试试看!!!!
2011-2-17 19:58
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不错,好像已经有人推出来了
2011-2-17 20:11
0
雪    币: 4022
活跃值: (92)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
13
编程水平很菜,希望高手给予指导:

#include <iostream>
using namespace std;
int main(void)
{
char name[200];
char key[200];
cout << "请输入用户名:";
cin >> name;
if (strlen(name) <6 )
{
cout << "用户名不能低于6个字符"<<endl;
cin.get();
cin.get();
return 0;
}
else
{
cout << "注册码:";
char keyselect = '0';
do
{
++keyselect;
key[1] = 0x0E ^ keyselect ^ name[0] ^ name[1];

if (keyselect > 0x7F) break;
} while (!((key[1]>=0x21) && (key[1] <= 0x7E)));
key[0] = keyselect;

keyselect = '0';
do
{
++keyselect;
key[3] = 0x15 ^ keyselect ^ name[2] ^ name[3];
if (keyselect > 0x7F) break;
} while (!((key[3]>=0x21) && (key[3] <= 0x7E)));
key[2] = keyselect;
keyselect = '0';
do
{
++keyselect;
key[5] = 0x1C ^ keyselect ^ name[4] ^ name[5];
if (keyselect > 0x7F) break;
} while (!((key[5]>=0x21) && (key[5] <= 0x7E)));
key[4] = keyselect;
for (int i=0;i<6;i++)
{
cout << (char)(key[i]);
}
cin.get();
cin.get();
return 0;
}
}



用户名:dabiao
第一次 'd' ^ 'a' = 05 存入0022FF20中 ---->A
第二次 'b' ^ 'i' = 0B 存入0022FF21中 ---->B
第三次 'a' ^ 'o' = 0E 存入0022FF22中 ---->C
第四次 0 ^ 0 = 00 存入0022FF23中 ---->D
第五次 D8 ^ 23 = FB 存入0022FF24中 ---->E
------------------------------------------------
注册码:123456
第一次 '1' ^ '2' = 03 存入0022FF10中 ---->a
第二次 '3' ^ '4' = 07 存入0022FF11中 ---->b
第二次 '5' ^ '6' = 03 存入0022FF12中 ---->c
第二次 0 ^ 0 = 00 存入0022FF13中 ---->d
第四次 8 ^ 0 = 08 存入0022FF14中 ---->e
------------------------------------------------
计算用户名和注册码的异或:
第一次:取A和a异或 = 06
第二次:取B和b异或 = 0C
第三次:取C和c异或 = 0D
第四次:取D和d异或 = 00
------------------------------------------------
将计算的结果和001C150E比较。

2011-2-17 20:38
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
不错,结贴。
2011-2-17 21:33
0
雪    币: 76
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
我来看看,只是看看。肯定搞不定。
2011-2-20 09:59
0
雪    币: 278
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xph
16
第五次 D8  ^  23 = FB 存入0022FF24中 ---->E

这个第五次的值怎么来的?我跟了一下好象输入不同这值会变化!
2011-2-22 10:41
0
雪    币: 387
活跃值: (76)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
这个值没用的
2011-2-23 23:49
0
雪    币: 278
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xph
18
跟到最后一个循环才发现没有用
2011-2-24 23:22
0
雪    币: 348
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
我是纯学习来的!
2011-2-25 13:39
0
游客
登录 | 注册 方可回帖
返回
//