首页
社区
课程
招聘
[原创]圣诞礼物——突破Netkeeper开wifi限制
发表于: 2013-12-25 01:36 25925

[原创]圣诞礼物——突破Netkeeper开wifi限制

2013-12-25 01:36
25925
realusername = "\r\n" & 算法b(格式符计算) & (MD5(算法a(时间) + m_username.Left(m_username.FindOneOf("@")) + RADIUS)).Left(2) & username;
CString CXKUsername::Realusername()
{
	time_t m_time;						//得到系统时间,从1970.01.01.00:00:00 开始的秒数
	long m_time1c;						//时间初处理m_time1c为结果,经过时间计算出的第一次加密
	long m_time1convert;				//对时间操作后的结果,此为格式字串的原始数据
	unsigned char ss[4] =
	{
		0,0,0,0
	};		//源数据1,对m_time1convert进行计算得到格式符源数据
	unsigned char ss2[4] =
	{
		0,0,0,0
	};		//md5加密参数的一部分,m_time1c的字符形式
	CString strS1;						//md5加密参数的一部分,ss2的整体形式
	CString m_formatsring;				//由m_timece算出的字符串,一般为可视字符
	CString m_md5;						//对初加密(m_timec字符串表示+m_username+radius)的MD5加密
	CString m_md5use;					//md5 Lower模式的前两位



	//取得系统时间m_time
	time(&m_time);
	//时间初处理m_time1c为结果,经过时间计算出的第一次加密
	//子函数////////////////////////////
	{
		LONG64 t;
		t = m_time;
		t *= 0x66666667;
		t >>= 0x20;
		t >>= 0x01;
		m_time1c = (long) t;
	}
	//5秒内动态用户名一致处理
	if (m_time1c <= m_lasttimec)
	{
		m_time1c = m_lasttimec + 1;
	}
	m_lasttimec = m_time1c;
	{
		long t;
		t = m_time1c;
		ss2[3] = (t & 0xFF);
		ss2[2] = (t & 0xFF00) / 0x100  ;
		ss2[1] = (t & 0xFF0000) / 0x10000;
		ss2[0] = (t & 0xFF000000) / 0x1000000;
		{
			//strS1必须用自加得到,直接加出问题
			for (int i = 0; i < 4; i++)
			{
				strS1 += ss2[i];
			}
		}
	}

	/////////////////////////////////////
	//倒置过程m_time1convert为结果
	//子函数////////////////////////////
	{
		int t, t1, t2, t3;
		t = m_time1c;
		t1 = t;
		t2 = t;
		t3 = t;
		t3 = t3 << 0x10;
		t1 = t1 & 0x0FF00;
		t1 = t1 | t3;
		t3 = t;
		t3 = t3 & 0x0FF0000;
		t2 = t2 >> 0x10;
		t3 = t3 | t2;
		t1 = t1 << 0x08;
		t3 = t3 >> 0x08;
		t1 = t1 | t3;
		m_time1convert = t1;
	}
	/////////////////////////////////////

	//源数据1,对m_time1convert进行计算得到格式符源数据
	//子函数////////////////////////////
	{
		long t;
		t = m_time1convert;
		ss[3] = (t & 0xFF);
		ss[2] = (t & 0xFF00) / 0x100  ;
		ss[1] = (t & 0xFF0000) / 0x10000;
		ss[0] = (t & 0xFF000000) / 0x1000000;
	}
	/////////////////////////////////////

	//格式符初加密
	unsigned char pp[4] =
	{
		0,0,0,0
	};
	//子函数////////////////////////////
	{
		int i = 0, j = 0, k = 0;
		for (i = 0; i < 0x20; i++)
		{
			j = i / 0x8;
			k = 3 - (i % 0x4);
			pp[k] *= 0x2;
			if (ss[j] % 2 == 1)
			{
				pp[k]++;
			}
			ss[j] /= 2;
		}
	}
	/////////////////////////////////////
	//格式符计算,m_formatsring为结果
	unsigned char pf[6] =
	{
		0,0,0,0,0,0
	};
	//子函数////////////////////////////
	{
	if(sizeof(int)==2){
		int t1, t2;
		t1 = pp[3];
		t1 /= 0x4;
		pf[0] = t1;
		t1 = pp[3];
		t1 = t1 & 0x3;
		t1 *= 0x10;
		pf[1] = t1;
		t2 = pp[2];
		t2 /= 0x10;
		t2 = t2 | t1;
		pf[1] = t2;
		t1 = pp[2];
		t1 = t1 & 0x0F;
		t1 *= 0x04;
		pf[2] = t1;
		t2 = pp[1];
		t2 /= 0x40;
		t2 = t2 | t1;
		pf[2] = t2;
		t1 = pp[1];
		t1 = t1 & 0x3F;
		pf[3] = t1;
		t2 = pp[0];
		t2 /= 0x04;
		pf[4] = t2;
		t1 = pp[0];
		t1 = t1 & 0x03;
		t1 *= 0x10;
		pf[5] = t1;
		}
	else{
	        short t1,t2 ;
		t1 = pp[3];
		t1 /= 0x4;
		pf[0] = t1;
		t1 = pp[3];
		t1 = t1 & 0x3;
		t1 *= 0x10;
		pf[1] = t1;
		t2 = pp[2];
		t2 /= 0x10;
		t2 = t2 | t1;
		pf[1] = t2;
		t1 = pp[2];
		t1 = t1 & 0x0F;
		t1 *= 0x04;
		pf[2] = t1;
		t2 = pp[1];
		t2 /= 0x40;
		t2 = t2 | t1;
		pf[2] = t2;
		t1 = pp[1];
		t1 = t1 & 0x3F;
		pf[3] = t1;
		t2 = pp[0];
		t2 /= 0x04;
		pf[4] = t2;
		t1 = pp[0];
		t1 = t1 & 0x03;
		t1 *= 0x10;
		pf[5] = t1;
		}
	}
	/////////////////////////////////////
	{
		int i;
		for (i = 0; i < 6; i++)
		{
			pf[i] += 0x20;
			if ((pf[i]) >= 0x40)
			{
				pf[i]++;
			}
		}
	}
	{
		for (int i = 0; i < 6; i++)
		{
			m_formatsring += pf[i];
		}
	}
	/////////////////////////////////////
	CString strInput;
	char temp[100];
	strInput = strS1 + m_username.Left(m_username.FindOneOf("@")) + RADIUS;
	strcpy(temp,strInput.GetBuffer(100));
	m_md5 = MD5String(temp);
	m_md5use = m_md5.Left(2);
	m_realusername = m_formatsring + m_md5use + m_username;
	m_realusername = LR + m_realusername;//前面两位为回车换行0D0A,接着再是后续的
//#define _debug	
#ifdef _debug
cout<<"m_username.FindOneOf(\"@\"):"<<m_username.FindOneOf("@")<<endl;	
cout<<"sizeof(int):"<<sizeof(int)<<",m_formatsring:"<<m_formatsring<<endl<<"temp:"<<temp<<",m_md5:"<<m_md5<<endl<<"m_realusername:"<<m_realusername<<", m_md5use:"<< m_md5use<<endl;
#endif
	return m_realusername;
}
char main (int argc,char **argv)
{
	CXKUsername real(argv[1]);
	return (LPSTR)(LPCTSTR)real.Realusername();
}

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

上传的附件:
收藏
免费 5
支持
分享
最新回复 (33)
雪    币: 230
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
真精彩.
2013-12-25 05:04
0
雪    币: 211
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
强大的楼主,不过除了闪讯,还有一个闪通的东西[VPN 高速通道],楼主有没有研究。
2013-12-25 08:51
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
4
圣诞来顶帖了。。
2013-12-25 09:26
0
雪    币: 5855
活跃值: (438)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
5
难道楼主所在地区没有心跳机制。。
不模拟心跳会掉线
2013-12-25 10:34
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
圣诞就是好。
2013-12-25 12:44
0
雪    币: 3373
活跃值: (1368)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
7
圣诞快乐 来阅大神新作~ 这个貌似是视频版的 www.youtube.com/watch?v=YTTPqyKtgbA
大神貌似对一些客户端情有独钟啊~
2013-12-25 17:08
0
雪    币: 1040
活跃值: (1293)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
算法和我逆粗来的差不多……我有一段我没搞……正好在楼主这里补全了……终于不偶尔掉线了……用几天没事我就可以把E信卸载了……
2013-12-25 22:54
0
雪    币: 53
活跃值: (528)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Netkeeper会发送心跳包。自己拨号上去过一会儿就会掉线。
2013-12-26 05:17
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
10
还真没见过。。。。所以没怎么研究了
2013-12-26 10:57
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
11
有心跳包。只不过最近在linux下发现不掉线了,然后就写出这么一个客户端。

心跳包也有分析过,不过没什么时间继续弄下去、、、等过一会儿再说吧。
2013-12-26 10:58
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
12
每五分钟发一次心跳包。连续两次等不到回复,怎会自动掉线。

如果是服务器发送过来的数据包,验证不通过,客户端直接退出~~~
2013-12-26 10:59
0
雪    币: 74
活跃值: (748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
圣诞是看雪的节日
2013-12-26 13:31
0
雪    币: 1491
活跃值: (985)
能力值: (RANK:860 )
在线值:
发帖
回帖
粉丝
14
非常精彩,我大学的时候都是xp系统,还没有win7,也没有共享wifi上网,呵呵
2013-12-26 17:03
0
雪    币: 486
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
还是重邮代码没改啊,不对了吧
2013-12-26 19:07
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
16
什么改了没改?你指的是RADIUS值?

我又没贴出来,你怎么就知道没改呢?
2013-12-26 19:39
0
雪    币: 233
活跃值: (10)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
17
如果不这么搞,直接用第三方工具开热点,比如Connectify,不行吗?
2013-12-26 22:15
0
雪    币: 486
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
我是说加密部分代码没变,找了重邮,杭电代码看了,总算是搞定了,总得来说文章蛮好的,赞个
2013-12-27 00:18
0
雪    币: 6825
活跃值: (1570)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
不知道e信能能不能用,过几天试一试
2013-12-27 23:28
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
搞个e信就好,可以随时用手机上网不?
2013-12-28 00:15
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
21
可以,不过,我没研究过e信~~~所以,不知道那个客户端干嘛的~~~
2013-12-28 12:47
0
雪    币: 329
活跃值: (235)
能力值: ( LV13,RANK:320 )
在线值:
发帖
回帖
粉丝
22
感谢版主支持,我觉得xp用的更加顺手些。。。所以~~~现在给自己电脑强行装上了xp(有些驱动没有)。
2013-12-28 19:16
0
雪    币: 80
活跃值: (109)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
23
楼主的文章不错,一直关注
2013-12-28 19:31
0
雪    币: 45
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
24
和原版的代码差不多 没改多少
2014-1-1 23:51
0
雪    币: 159
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
元旦都过了。
2014-1-2 00:32
0
游客
登录 | 注册 方可回帖
返回
//