当前位置:编程学习 > C#/ASP.NET >>

QQ空间网页登录的密码算法改了吗?

好好的方法不能用了。。。用上新的请求地址后提示密码不正确。 --------------------编程问答-------------------- 大神可以根据算法算出密码? --------------------编程问答-------------------- 。。。只为登录空间而已。
再次发现。密码加密方式确实变了。。。谁知道新的如何加密的。不胜感谢 --------------------编程问答--------------------
引用 2 楼  的回复:
。。。只为登录空间而已。
再次发现。密码加密方式确实变了。。。谁知道新的如何加密的。不胜感谢


同感, 被告诉自己的工具无法登录, 我才发现QQ空间的登录密码加密算法改了, 回家重新改下代码,做完了给你一份。 --------------------编程问答-------------------- 大神,我也要。。。 --------------------编程问答-------------------- 谢谢3楼。真好啊。。。 --------------------编程问答--------------------
。。。 --------------------编程问答-------------------- 我邮箱 myzhs@live.com --------------------编程问答-------------------- 83920322@qq.com给我一份吧 --------------------编程问答-------------------- 加密方式是知道了,,如下面

MD5(MD5(hexchar2bin(MD5("密码")) +"16进制返回码")) + "验证码"

private string hexchar2bin(string sPassword) {
            string str1="";
            for (int i = 0; i < sPassword.Length; i = i + 2) {
                str1 += Convert.ToChar(Convert.ToInt32(sPassword.Substring(i, 2),16));
            }
            return str1;
        }

返回码即这个网址获取的第三个值  http://check.ptlogin2.qq.com/check?uin=8888880&appid=15004501&r=

上面没有绝对的解决问题,,因为JS的MD5,和C#的MD5加“16进制返回码”产生了不一样的结果,,希望有高手能解决一下,本人在研究中。。(加普通码则是一样的) --------------------编程问答-------------------- ptui_checkVC('0','!NUU', '\x00\x00\x00\x00\x00\x87\xa2\x30');


\x00\x00\x00\x00\x00\x87\xa2\x30
这种的16进制返回码 吗? --------------------编程问答-------------------- 是的,,

JS MD5加密unicode和C#加密会有不同的结果,貌似这个问题很老旧了,但还没有找到解决方法 --------------------编程问答-------------------- 研究出来给我也发一份  waimingng@foxmail.com  谢谢 --------------------编程问答-------------------- 我的主语言是java, java的最新QQ空间加密算法已经搞定了, 看来C#应该和这个思路差不多。 晚上应该能很快搞定,坐等下班,公司没有VS开发工具。。 --------------------编程问答-------------------- 你用JAVA。。开发的啥。。。 --------------------编程问答-------------------- 应该啊,,难就难在这里,,JAVA的MD5加密和JS的不冲突,,和C#的冲突,我就卡在这问题上。。 --------------------编程问答--------------------
引用 15 楼  的回复:
应该啊,,难就难在这里,,JAVA的MD5加密和JS的不冲突,,和C#的冲突,我就卡在这问题上。。


呵呵,那今晚有的研究了, 大家共同努力  呵呵。 --------------------编程问答-------------------- 被hexchar2bin這個卡住了,不知道怎麼用C#來寫,求大神! --------------------编程问答--------------------
引用 15 楼  的回复:
应该啊,,难就难在这里,,JAVA的MD5加密和JS的不冲突,,和C#的冲突,我就卡在这问题上。。

前面几步都没问题,就是加密十六进制那段出现问题..
不知道有什么思路没有,,, --------------------编程问答-------------------- 晕,hexchar2bin这个我不是发在上面吗 --------------------编程问答--------------------
引用 17 楼  的回复:
被hexchar2bin這個卡住了,不知道怎麼用C#來寫,求大神!

T.T,
同道中人啊...被卡住很久了`` --------------------编程问答-------------------- 同求,但是。。我不会。。。太高深了。。。。
alextienpai@126.com --------------------编程问答--------------------
引用 13 楼  的回复:
我的主语言是java, java的最新QQ空间加密算法已经搞定了, 看来C#应该和这个思路差不多。 晚上应该能很快搞定,坐等下班,公司没有VS开发工具。。


搞定也发我一份吧.f1635@163.com感谢大神``` --------------------编程问答-------------------- 现在主要是 hexchar2bin 之后 和 返回的十六进制 组合MD5加密时 C#和JS 得到的结果不同, 就这里了 对吧? --------------------编程问答--------------------
引用 23 楼  的回复:
现在主要是 hexchar2bin 之后 和 返回的十六进制 组合MD5加密时 C#和JS 得到的结果不同, 就这里了 对吧?

嗯,就是这个问题呢..
解决了么
大神 --------------------编程问答-------------------- 120232831@qq.com...高手无处不在。 --------------------编程问答-------------------- 也请发我一份,33796533@qq.com,谢谢 --------------------编程问答--------------------
引用 11 楼  的回复:
是的,,

JS MD5加密unicode和C#加密会有不同的结果,貌似这个问题很老旧了,但还没有找到解决方法


是因为编码问题,我JAVA是这样解决的。 我觉得C#应该也是这样的。 你去试试。 要么等我下班后,我来试。 --------------------编程问答--------------------
引用 27 楼  的回复:
引用 11 楼  的回复:

是的,,

JS MD5加密unicode和C#加密会有不同的结果,貌似这个问题很老旧了,但还没有找到解决方法


是因为编码问题,我JAVA是这样解决的。 我觉得C#应该也是这样的。 你去试试。 要么等我下班后,我来试。

java用的是什么编码方式.
C#我也试过各种编码方式还是不一样啊 --------------------编程问答--------------------
引用 27 楼  的回复:
引用 11 楼  的回复:

是的,,

JS MD5加密unicode和C#加密会有不同的结果,貌似这个问题很老旧了,但还没有找到解决方法


是因为编码问题,我JAVA是这样解决的。 我觉得C#应该也是这样的。 你去试试。 要么等我下班后,我来试。

你用JAVA怎麼解決的?貼出來參考下我用C#試試 --------------------编程问答-------------------- 大哥。。。7点了。咋还不下班呢。。我这都吃完晚饭了。。 --------------------编程问答--------------------
引用 30 楼  的回复:
大哥。。。7点了。咋还不下班呢。。我这都吃完晚饭了。。

哈哈,下班回家还要好一段时间呢...
都不知道为什么加密那个东东会结果不一致
我也先去吃饭了..
兄弟,你搞定了,记得发我一份啊` --------------------编程问答-------------------- 加密unicode字符基本都不一致,折腾了一下午头疼,,大牛们快来帮帮忙吧。。。 --------------------编程问答--------------------                 var D = G.p.value;
                var H = hexchar2bin(md5(D));
                var F = md5(H + pt.uin);
                var C = md5(F + G.verifycode.value.toUpperCase());
                A += C

好像把QQ号也一起加密了一下啊 --------------------编程问答-------------------- 593662608@qq.com求发 --------------------编程问答-------------------- pt.uin 并不是通常的QQ号,,是我前面说的那个16进进制返回值,你再跟踪代码就知道了 --------------------编程问答-------------------- 额。。。知道了。。。晕了
--------------------编程问答-------------------- 8点了-。- --------------------编程问答--------------------
引用 37 楼  的回复:
8点了-。-

咳.我吃完回来了...
这个真纠结.就因为十六进制那串东西加密出来不一样啊..
--------------------编程问答--------------------
引用 9 楼  的回复:
加密方式是知道了,,如下面

MD5(MD5(hexchar2bin(MD5("密码")) +"16进制返回码")) + "验证码"

private string hexchar2bin(string sPassword) {
            string str1="";
            for (int i = 0; i < sPassword.Length; ……


為什麼我用你這個計算出來的值跟原版JS裏hexchar2bin算出來的不一樣?

我把兩個亂碼結果MD5後值是不同的(沒加上pt.uin) --------------------编程问答--------------------
引用 39 楼  的回复:
引用 9 楼  的回复:

加密方式是知道了,,如下面

MD5(MD5(hexchar2bin(MD5("密码")) +"16进制返回码")) + "验证码"

private string hexchar2bin(string sPassword) {
string str1="";
for (int i = 0; i < sPassword.Length; ……


……


 public static String hexchar2bin(String str)
        {
            String s = "";
            for (var i = 0; i < str.Length; i = i + 2)
            {
                s += "\\x" + str.Substring(i, 2);
            }
            return s;
        }
试试这个` --------------------编程问答--------------------
引用 40 楼  的回复:
引用 39 楼  的回复:

引用 9 楼  的回复:

加密方式是知道了,,如下面

MD5(MD5(hexchar2bin(MD5("密码")) +"16进制返回码")) + "验证码"

private string hexchar2bin(string sPassword) {
string str1="";
for (int i = 0; i < sPassword……

這個就更不對了,原版JS裏hexchar2bin函數alert出來顯示的是亂碼。不是\x00的文本格式。 --------------------编程问答-------------------- \x00\x00\x00\x00\x00\x87\xa2\x30 這個字符串在C#裏md5的結果跟JS裏MD5的值不一樣,這是什麼法術? --------------------编程问答-------------------- 。。。还没来。。。 --------------------编程问答--------------------
引用 42 楼  的回复:
\x00\x00\x00\x00\x00\x87\xa2\x30 這個字符串在C#裏md5的結果跟JS裏MD5的值不一樣,這是什麼法術?



那就用C# 调 js呗:
在WinForm 中 借用WebBrowser控件 , WebBrowser.Document.InvokeScript 可以调用js.
http://www.cnblogs.com/08shiyan/archive/2011/04/22/2023861.html


Asp.NET 就不用说了吧... --------------------编程问答--------------------


 public static string EncyptMD5_3_16(string s)
       {
           MD5 mD = MD5.Create();
           byte[] bytes = Encoding.ASCII.GetBytes(s);
           byte[] buffer = mD.ComputeHash(bytes);
           byte[] buffer2 = mD.ComputeHash(buffer);
           byte[] array = mD.ComputeHash(buffer2);
           StringBuilder stringBuilder = new StringBuilder();
           byte[] array2 = array;
           for (int i = 0; i < array2.Length; i++)
           {
               byte b = array2[i];
               stringBuilder.Append(b.ToString("x").PadLeft(2, '0'));
           }
           return stringBuilder.ToString().ToUpper();
       }
       public static string smethod_0(string s)
       {
           MD5 mD = MD5.Create();
           byte[] bytes = Encoding.ASCII.GetBytes(s);
           byte[] array = mD.ComputeHash(bytes);
           StringBuilder stringBuilder = new StringBuilder();
           byte[] array2 = array;
           for (int i = 0; i < array2.Length; i++)
           {
               byte b = array2[i];
               stringBuilder.Append(b.ToString("x").PadLeft(2, '0'));
           }
           return stringBuilder.ToString().ToUpper();
       }
       public static byte[] EncyptMD5Bytes(string s)
       {
           MD5 mD = MD5.Create();
           byte[] bytes = Encoding.ASCII.GetBytes(s);
           return mD.ComputeHash(bytes);
       }
       public static string smethod_1(byte[] s)
       {
           MD5 mD = MD5.Create();
           byte[] array = mD.ComputeHash(s);
           StringBuilder stringBuilder = new StringBuilder();
           byte[] array2 = array;
           for (int i = 0; i < array2.Length; i++)
           {
               byte b = array2[i];
               stringBuilder.Append(b.ToString("x").PadLeft(2, '0'));
           }
           return stringBuilder.ToString().ToUpper();
       }
       public static string EncryptQQWebMd5(string s)
       {
           MD5 mD = MD5.Create();
           byte[] bytes = Encoding.ASCII.GetBytes(s);
           byte[] array = mD.ComputeHash(bytes);
           StringBuilder stringBuilder = new StringBuilder();
           byte[] array2 = array;
           for (int i = 0; i < array2.Length; i++)
           {
               byte b = array2[i];
               stringBuilder.Append("\\x");
               stringBuilder.Append(b.ToString("x2"));
           }
           return stringBuilder.ToString();
       }
       public static string EncryptOld(string password, string verifyCode)
       {
           return QQMd5.smethod_0(QQMd5.EncyptMD5_3_16(password) + verifyCode.ToUpper());
       }
       public static string Encrypt(string qq, string password, string verifyCode)
       {
           return QQMd5.Encrypt((long)Convert.ToInt32(qq), password, verifyCode);
       }
       public static string Encrypt(long qq, string password, string verifyCode)
       {
           ByteBuffer byteBuffer = new ByteBuffer();
           byteBuffer.Put(QQMd5.EncyptMD5Bytes(password));
           byteBuffer.PutInt(0);
           byteBuffer.PutInt((uint)qq);
           QQMd5.EncryptQQWebMd5(password);
           byte[] s = byteBuffer.ToByteArray();
           string str = QQMd5.smethod_1(s);
           return QQMd5.smethod_0(str + verifyCode.ToUpper());
       }
--------------------编程问答-------------------- 不做太多解析吧
全新QQ算法
有问题可以到我的BOLG  http://fz24z.5d6d.net/bbs.php --------------------编程问答--------------------
引用 45 楼  的回复:
 public static string EncyptMD5_3_16(string s)
       {
           MD5 mD = MD5.Create();
           byte[] bytes = Encoding.ASCII.GetBytes(s);
           byte[] buffer = mD.ComputeHash(bytes);
 ……


我还以为是C#的,原来是JAVA的。。 --------------------编程问答-------------------- public static string EncryptQQWebMd5(string s)
  {
  MD5 mD = MD5.Create();
  byte[] bytes = Encoding.ASCII.GetBytes(s);
  byte[] array = mD.ComputeHash(bytes);
  StringBuilder stringBuilder = new StringBuilder();
  byte[] array2 = array;
  for (int i = 0; i < array2.Length; i++)
  {
  byte b = array2[i];
  stringBuilder.Append("\\x");
  stringBuilder.Append(b.ToString("x2"));
  }
  return stringBuilder.ToString();
  }

这个是? --------------------编程问答-------------------- 这哪是JAVA的。。。本来就C#代码啊。。。 --------------------编程问答--------------------
引用 49 楼  的回复:
这哪是JAVA的。。。本来就C#代码啊。。。


c# ByteBuffer 有这个?? 在哪的 --------------------编程问答-------------------- 语言都分不清
--------------------编程问答-------------------- 鹅。。。C#跟JAVA如此之像了啊。。。 --------------------编程问答-------------------- 哎呀。我去。太牛逼了 45楼。正解 --------------------编程问答--------------------  我在公司玩游戏勒。 马上就弄。。 嘿嘿 自己的工具还要更新。 --------------------编程问答--------------------
引用 53 楼  的回复:
哎呀。我去。太牛逼了 45楼。正解


ByteBuffer 这个在哪里? --------------------编程问答-------------------- 大神啊,加密方式,你们是如何知道的哇??暴力猜想? --------------------编程问答-------------------- http://blog.csdn.net/red_angelx/article/details/1350095
我也是百度到的。虽然是JAVA的东西。C#也给实现了。。。c# byteBuffer 类。

  byteBuffer.Put(QQMd5.EncyptMD5Bytes(password));
  byteBuffer.PutInt(0);
  byteBuffer.PutInt((uint)qq);

这个地方要改成:

            byteBuffer.PushByteArray(EncyptMD5Bytes(password));
            byteBuffer.PushInt(0);
            byteBuffer.PushInt((uint)qq);


public static string Encrypt(long qq, string password, string verifyCode)

qq就是QQ号码
--------------------编程问答-------------------- 搞定了,不用这么麻烦。。 呵呵 --------------------编程问答-------------------- chenjacker2013 非常的牛啊,感谢,,  也感谢 zhs23 

问题已经解决,,88. --------------------编程问答-------------------- 水平都这么高啊 --------------------编程问答--------------------
引用 58 楼  的回复:
搞定了,不用这么麻烦。。 呵呵


求码啊。。。 --------------------编程问答--------------------
引用 59 楼  的回复:
chenjacker2013 非常的牛啊,感谢,,  也感谢 zhs23

问题已经解决,,88.

解决了也把解决方案发出来吧`` --------------------编程问答-------------------- QQ最新加密方式已经发布到我博客 http://blog.csdn.net/xiaolajiao958/article/details/7621750 --------------------编程问答--------------------
引用 61 楼  的回复:
引用 58 楼  的回复:

搞定了,不用这么麻烦。。 呵呵


求码啊。。。


散分来吧。 我说了编码问题 呵呵。 --------------------编程问答--------------------
引用 9 楼  的回复:
返回码即这个网址获取的第三个值 http://check.ptlogin2.qq.com/check?uin=8888880&appid=15004501&r=

这个地址所获取的返回码与QQ号是对应的? --------------------编程问答-------------------- 看这标题我还以为QQ密码被破解了呢,立马进来观瞻观瞻。。。原来只是加密的方式。。。 --------------------编程问答-------------------- 我看有的人不会byteBuffer 
  public class ByteBuffer
    {
        private byte[] byte_0;
        public Stream BaseStream;
        public ByteBuffer()
       {
   
           this.BaseStream = new MemoryStream();
           this.byte_0 = new byte[16];
       }
        public virtual long Seek(int offset, SeekOrigin origin)
        {
            return this.BaseStream.Seek((long)offset, origin);
        }
        public bool Peek()
        {
            return this.BaseStream.Position < this.BaseStream.Length;
        }
        public byte[] ToByteArray()
        {
            //long position = this.BaseStream.Position;
            //this.BaseStream.Position = 0L;
            //byte[] array = new byte[(int)((object)((IntPtr)this.BaseStream.Length))];
            //this.BaseStream.Read(array, 0, array.Length);
            //this.BaseStream.Position = position;
            //return array;

            long position = this.BaseStream.Position;
            this.BaseStream.Position = 0L;
            byte[] buffer = new byte[this.BaseStream.Length];
            this.BaseStream.Read(buffer, 0, buffer.Length);
            this.BaseStream.Position = position;
            return buffer;

        }
        public void Put(bool value)
        {
            this.byte_0[0] = value ? ((byte)1) : ((byte)0);
            this.BaseStream.Write(this.byte_0, 0, 1);

        }
        public void Put(byte value)
        {
            this.BaseStream.WriteByte(value);
        }
        public void Put(byte[] value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            this.BaseStream.Write(value, 0, value.Length);
        }
        public void PutInt(int value)
        {
            this.PutInt((uint)value);
        }
        public void PutInt(uint value)
        {
            this.byte_0[0] = (byte)(value >> 24);
            this.byte_0[1] = (byte)(value >> 16);
            this.byte_0[2] = (byte)(value >> 8);
            this.byte_0[3] = (byte)value;
            this.BaseStream.Write(this.byte_0, 0, 4);
        }
        public void PutInt(int index, uint value)
        {
            int offset = (int)this.BaseStream.Position;
            this.Seek(index, SeekOrigin.Begin);
            this.PutInt(value);
            this.Seek(offset, SeekOrigin.Begin);
        }
        public byte Get()
        {
            return (byte)this.BaseStream.ReadByte();
        }
    }
--------------------编程问答-------------------- 求工具地址~

--------------------编程问答-------------------- QQ空间已经登录成功,但是QQ和拍拍不能登录,抓包
GET /login?u=qq号码&p=密码加密&verifycode=验证码&aid=17000101&u1=http%3A%2F%2Fmember.paipai.com%2Fcgi-bin%2Fptlogin%3Floginfrom%3D18&h=1&ptredirect=0&ptlang=2052&from_ui=1&dumy=&fp=loginerroralert&action=11-27-2288669&mibao_css=&t=5&g=1
最后的action和时间、cookies有关,t和验证码有关,mibao_css和登录平台有关。action参数不设置,或者设置错误,提示:"ptuiCB('24','0','','0','很遗憾,网络连接出现异常,请您检查是否禁用cookies。(3612345232)', 'qq号码');\r\n"。
请大牛解答下 --------------------编程问答-------------------- --------------------编程问答-------------------- #69楼 的问题是我现在遇到的!!!同求答案!感激不尽 --------------------编程问答-------------------- 保存一下,以后用 --------------------编程问答--------------------

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace xfqz86Helper
{
    public static class Hash
    {
        public static byte[] MD5(byte[] data)
        {
            MD5 md5 = new MD5CryptoServiceProvider();
            byte[] hash_byte = md5.ComputeHash(data);
            return hash_byte;
        }
        public static string MD5(byte[] data, bool Upper)
        { return BinToHex(MD5(data), Upper); }
        public static byte[] MD5(string str, Encoding encoding)
        { return MD5(StrToBin(str, encoding)); }
        public static string MD5(string str, Encoding encoding, bool Upper)
        { return MD5(StrToBin(str, encoding), Upper); }

        public static string BinToHex(byte[] buffer, bool Upper)
        {
            StringBuilder builder = new StringBuilder();
            for (int i = 0; i < buffer.Length; i++) builder.Append(buffer[i].ToString("x2"));
            if (Upper) return builder.ToString().ToUpper();
            else return builder.ToString().ToLower();
        }
        public static byte[] StrToBin(string Str, Encoding encoding)
        {
            if (encoding == null) encoding = Encoding.Default;
            return encoding.GetBytes(Str);
        }
        public static byte[] BinArraySum(byte[] buffer1, byte[] buffer2)
        {
            if (buffer1 == null) buffer1 = new byte[0];
            if (buffer2 == null) buffer2 = new byte[0];
            byte[] AllBin = new byte[buffer1.Length + buffer2.Length];
            int NowIndex = 0;
            foreach (Byte TempByte in buffer1) AllBin[NowIndex++] = TempByte;
            foreach (Byte TempByte in buffer2) AllBin[NowIndex++] = TempByte;
            return AllBin;
        }

        public static string QQPasswordHash(string password, string verifycode, byte[] uin)
        { return MD5(MD5(BinArraySum(MD5(password, Encoding.UTF8), uin), true) + verifycode.ToUpper(), Encoding.UTF8, true); }
    }
}

其中的uin是从http://check.ptlogin2.qq.com/check?uin={QQ号码}&appid=1003903&r={随机数}取得
返回数据:ptui_checkVC('0','!NUU','\x00\x00\x00\x00\x00\x87\xa2\x30');
说明:
蓝色部分为验证码。有返回则可以直接使用该验证码登陆,如不返回验证码就需要手动输入。
红色部分为uin,请自行分割成byte[]型数据。 --------------------编程问答-------------------- 大神,咋获取qq空间验证码啊? --------------------编程问答-------------------- 回 #69楼 和 #71楼

u  =  QQ号码
p  =  加密密码
verifycode  =  验证码
aid  =  应用ID
u1 = 来路
h = ?具体效果未知,可固定为1。
ptredirect = 重定向?具体效果未知,可固定为0。
ptlang = 界面语言
from_ui = ?具体效果未知,可固定为1。
dumy = ?具体效果未知,可固定为空。
fp = ?具体效果未知,可固定为loginerroralert。
action = 登陆时操作记录。11-27-2288669样式。第一个数字为登录时输入框获取焦点次数,输入框包括用户名、密码、验证码。第二个为登录时按键按下次数。第三个为登录时填写表单所耗费时间,毫秒计数。
mibao_css = 密保样式
t = ?具体效果未知。
g = ?具体效果未知,可固定为1。

提示"ptuiCB('24','0','','0','很遗憾,网络连接出现异常,请您检查是否禁用cookies。(3612345232)', 'qq号码');\r\n"消息是因为登录时的Cookies作用域有问题。默认网页登录时js会转换Cookies作用域名为“.qq.com”。
而软件登陆时不会。所以要用代码把Cookies作用于转换成“.qq.com”具体代码如下:

CookieCollection Cookies = CookieContainer.GetCookies(new Uri("http://www.ptlogin2.qq.com/"));
foreach (Cookie TempCookie in Cookies)
{
    TempCookie.Domain = ".qq.com";
    CookieContainer.Add(TempCookie);
}

其中CookieContainer为HttpWebRequest接收Cookies所用的对象。 --------------------编程问答-------------------- http://captcha.qq.com/getimage?aid=15000101&r=0.40132026315138863&uin="+QQ --------------------编程问答-------------------- 回 #74楼 

地址为:http://captcha.qq.com/getimage?aid=15000101&r={随机数}&uin={QQ号码} --------------------编程问答--------------------
引用 73 楼  的回复:
C# code

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace xfqz86Helper
{
    public static class Hash
    {
        public static byte[] MD5(byte[] da……


这个怎么把 uin 转换为byte[]? --------------------编程问答-------------------- 哪有算法  直接POST 提交的明文啊。

最多就是传输的时候是https加密的。 提交的值怎么加密啊。  --------------------编程问答-------------------- 回 #78楼
uin从http://check.ptlogin2.qq.com/check?uin={QQ号码}&appid={应用ID}&r={随机数}取得
返回数据: ptui_checkVC('0','!NUU','\x00\x00\x00\x00\x00\x87\xa2\x30'); 蓝色部分则为uin的js十六进制字串形式。用以下代码解析成byte[]型

                    String UinStr = '返回的uin js十六进制字串';
                    String[] UinSplit = UinStr.Split(new String[] { @"\x" }, StringSplitOptions.RemoveEmptyEntries);
                    uin = new byte[UinSplit.Length];
                    for (int index = 0; index < UinSplit.Length; index++) uin[index] = Convert.ToByte(UinSplit[index], 16);
--------------------编程问答-------------------- 膜拜啊。。。 --------------------编程问答-------------------- QQ空间登录源码下载地址,点击:http://download.csdn.net/user/web_boy 进行下载! --------------------编程问答-------------------- 我的论坛有登陆空间并获取好友的VB源代码
登陆成功后可以做很多事情,我做了个农场辅助,全部开源,大家可以参考
易我论坛:http://bbs.yiwowang.com --------------------编程问答-------------------- 终于找到解决方法了,,, --------------------编程问答-------------------- 63楼的代码可以用,最好在hexchar2bin 里把' replace掉
--------------------编程问答-------------------- 有能过财付通的数字证书签名验证的吗,财富通的密码加密搞定了,但是如果是带数字证书的签名验证过不去,有过去的吗,帮忙说下加密方式 --------------------编程问答-------------------- 财付通数字证书签名验证涉及到TFL.cert.Base64Encode(QQCertCtrl, md5(TFL.cert.Base64Encode(QQCertCtrl,sSeq+sSrc)).toUpperCase())   这个Base64和MD5是我们普通的吗,加密出来是这个样子AAAAAAPrOrGt/zzZYaiENgs36VmvGiziOM42Babcfu0Ab g8RCfkB1VDbQ31IvAD9QyJmrGQMMzC6YDcR6/ALx/iRczMj3tN5XJJKMXiRuG7saj6N0trBIFfOjJurwpN4UnhDoD83XJVpAXCdKYzm/xKkTLvz8Cs0IYVkyJk3kq7WhN3KpEgSw== --------------------编程问答-------------------- 一群神人 --------------------编程问答-------------------- 不知道干嘛用的。。看起來很強大。 --------------------编程问答-------------------- 为什么在登陆的一直出现ptuiCB('4','3','','0','登录失败,请重试!*');求解 --------------------编程问答-------------------- 感谢75楼的兄弟. 这个问题纠结了我好久.. 我之前的状态是需要输入验证码能正常登录.不需要难码就提示网络异常...  之前也调试看过cookie的作用域. 输验证码之后是两个域名... 但没想到竟然真的这个原因..... --------------------编程问答--------------------
....我知道

抓取一段JS文件分析一下 --------------------编程问答--------------------



mark。。。。学习了!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,