在CSDN上看到的,王小科老师发表的,感觉很牛,所以转载了一下,一起分享。 实现代码 private void QQLogin(string QQ,string Pwd) { System.Security.Cryptography.MD5 md5=new System.Security.Cryptography.MD5CryptoServiceProvider(); string QQPwd=Convert.ToBase64String(md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(Pwd))); System.Diagnostics.Process pro=new System.Diagnostics.Process(); pro.StartInfo.FileName=@"D:\Program Files\Tencent\QQ\QQ.exe"; pro.StartInfo.Arguments="/start QQUIN:"+this.txtQQ.Text.Trim()+" PWDHASH:"+QQPwd+" /stat:40"; pro.Start(); } 实现原理: QQ自动登陆参数如下: QQ.exe(QQ路径) /START QQUIN:QQ号 PWDHASH:加密后的密码 /STAT:40 [STAT:40 (40 是隐身登陆41 是正常登陆)] D:\Tencent\QQ.exe /START QQUIN:123456 PWDHASH:4QrcOUm6Wau+VuBX8g+IPg== /STAT:41 这就是一个QQ号码为123456,密码为123456,QQ安装路径为:D:\Tencent\QQ.exe的QQ登陆参数,登陆方式为正常登陆。 PWDHASH的加密算法: 首先将QQ原始密码进行MD5散列算法处理,得到一个16字节的MD5 HASH字符串,然后用BASE64编码对这个HASH字符串做第二次编码,编码后的数据就是PWDHASH的值。
C#实现QQ自动登录器实现原理
最新推荐文章于 2012-01-24 23:20:25 发布