相信很多朋友都对QQ伴侣等农场外挂十分好奇吧!其实我也是,然而不幸的是很多像我一样的兄弟在模拟农场登录时,就被JS函数加密的密码字符串给挡在门外,于是百度来google去,始终没有一个完整的代码或例子。
登录时用OmniPeek捕获得到的数据包如下(QQ号1、密码123456、验证码1234):

其实QQ网页登录密码加密方式(包括空间、农场、WEB QQ等)都是一样的。
<a href="http://imgcache.qq.com/ptlogin/js/comm.js">http://imgcache.qq.com/ptlogin/js/comm.js</a>
周末自己便将腾讯JS加密文件给下载下来了。
(腾讯的JS文件居然一个回车符都没有,真够BT的!害我花了二小时才整理完毕!)
关于JS代码,我是第一次接触,于是利用自己C++的浅薄“功底”,半天时间让我去完全掌握JavaScript确实猥琐....
1、QQ网页登录密码加密(空间、农场、WEB QQ等)
参考某前辈的文档,三次MD5 + 验证码,再MD5,下面的JS文件是我整理后的:
<a href="http://hi.baidu.com/lihn1987/blog/item/7511f0d04ec109da562c846d.html">http://hi.baidu.com/lihn1987/blog/item/7511f0d04ec109da562c846d.html</a>
/* this functions used to encrypted */
function preprocess(A)
{
var B="";
B+=A.verifycode.value;
B=B.toUpperCase();
A.p.value=md5(md5_3(A.p.value)+B);
return true
}
/* 这里测试123456 验证码 */
function preprocess2(form)
var str="123456";
/*form.toUpperCase();*/
str=md5(md5_3(str)+form);
/* alert(str); */
return str;
function preprocess3(password,verifycode)
var str = md5(md5_3(password) + verifycode);
/* this functions used to encrypted */
function preprocess(A)
{
var B="";
B+=A.verifycode.value;
B=B.toUpperCase();
A.p.value=md5(md5_3(A.p.value)+B);
return true
}
/* 这里测试123456 验证码 */
function preprocess2(form)
var str="123456";
/*form.toUpperCase();*/
str=md5(md5_3(str)+form);
/* alert(str); */
return str;
function preprocess3(password,verifycode)
var str = md5(md5_3(password) + verifycode);
2、VC如何调用JS函数
上面这些JS代码都是能在百度找到的,现在的问题就是VC里如何调用JS函数。
这个问题在我百度google许久后,始终都没有一个理想的答案,再者自己一个JS小白,要谈熟练确实不敢恭维...
至于而今水贴泛滥成灾的CSDN论坛,所以一直不喜欢在CSDN论坛提问(贴子质量有待提高)
原贴链接地址:
3、VC调用JavaScript函数实例代码
4、程序运行截图:
演示完毕,QQ网页密码加密的问题终于搞定了!
from:
<a href="http://blog.csdn.net/wangningyu/article/details/4699619">http://blog.csdn.net/wangningyu/article/details/4699619</a>