cliqq icon indicating copy to clipboard operation
cliqq copied to clipboard

我也是无法获得cookie的错误

Open MRLuowen opened this issue 10 years ago • 22 comments

cookie会泄漏很多信息,你们确实应该删掉。但是我该怎么获得cookie呢,特别是这4个cookie。还有,我不确定你们这个代码能不能用,webqq好像又改版了。谢谢额~

MRLuowen avatar Jul 28 '14 03:07 MRLuowen

读取cookie失败不是错误,那是正常的调试信息。(我改下,,,) , 为了防止重复登陆,每次登陆前会检查是否存有 cookie ,有的话就加到 session 里,没有的话 cookie 就为空,登陆成功后会保存 cookie 到文件,cookie 文件是 ignore 掉的,只会保存在本地。 webqq 加密算法改了,,,所以得改下 atupal/cliqq-dev/qq/encryption.py 里面的算法,api 什么的都没改~

atupal avatar Jul 28 '14 03:07 atupal

你好,webqq的加密算法更改很频繁吗?但是我看你在atupal/cliqq-dev/qq写的是一个动态的算法,这个现在不能用吗?我特别想学习,但是好像这方面的资料很少。还有一个疑问?就是getsafecode里面的url:https://ssl.ptlogin2.qq.com/check?uin=。还有loginget里面的url:https://ssl.ptlogin2.qq.com/login?u=在我自己通过googlechrome登入页面的时候,好像没有访问过这两个域名。访问的都是https://ui.ptlogin2.qq.com/cgi-bin/login?daid=164&target=self&style=5&mibao_css=m_webqq&appid=1003903&enable_qlogin=0&no_verifyimg=1&s_url=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html&f_url=loginerroralert&strong_login=1&login_state=10&t=20140612002这样的,这是为什么呢??谢谢前辈

MRLuowen avatar Jul 28 '14 09:07 MRLuowen

  1. 大概个把月几个月换一次把,。
  2. ,那个是 对qq号进行 hash 的动态算法,经常改的是那个。。密码加密得算法很少改(第一次见,可能也不是改了算法只是改了流程,),所以没动态,,我晚上看看。
  3. getsafecode 是再需要输入验证码才调用的。 :-) :smile:

atupal avatar Jul 28 '14 09:07 atupal

你好,我觉得getsafecode我看的差不多了。但是还是刚才第四个问题。是不是平常网页登入使用的是ui.ptlogin2.qq.com这个域名,而ssl.ptlogin2.qq.com是另外一种的登录方式。在运行的时候报的错误如下: Traceback (most recent call last): File "qq/runqq.py", line 111, in Q.run() File "qq/runqq.py", line 93, in run self.qq.loginGet() File "/home/lw/Workspaces/cliqq-dev2/qq/login_qq.py", line 121, in loginGet +'&h=1' File "/home/lw/Workspaces/cliqq-dev2/qq/encryption.py", line 26, in md5_2 pwd_2 = self.hex_md5hash(pwd_1 + self.hexchar2bin(verifyCode2)) File "/home/lw/Workspaces/cliqq-dev2/qq/encryption.py", line 21, in hexchar2bin uin_final += chr(int(i, 16)) ValueError: invalid literal for int() with base 16: "88', '66dfc49821fc7e036afacaac6e7805edf7cd5c0959b2f8fc63d460d52e306a0b8eee9841ee1ec7873cfbb5c9fdf0a0c7" 发现定位的错误确实是出在密码那个位置,但是这个加密的方式怎么可以获得呢,是通过哪个js文件呢。。晚上可以一起研究一下吗?我的qq是578738358.。谢谢啦 还有,我刚刚找到了ssl.ptlogin2.qq.com,一共有3个,返回的都是js文件,所有我一开始没有看见。 我就想把里面&p=后面的内容复制进来,发现第二次登入的时候密码不对了,估计开得靠你,不知道怎么找那个加密的js文件。。。有点小激动。。感觉你的代码思路好清晰,虽然没有注释,不过写的很棒~~

MRLuowen avatar Jul 28 '14 11:07 MRLuowen

相关的 js 代码位置记录了一些在 https://github.com/atupal/cliqq/blob/master/js/use.lst 文件中,js 文件也在这个目录下,不过应该已经过时了。 可是我测试过的都是用 ssl 这个网址的呀~你再仔细抓包看看?

atupal avatar Jul 28 '14 11:07 atupal

找到了这3格ssl。。但是有一个疑问,为什么3个请求包都是请求的html页面。比如https://ssl.ptlogin2.qq.com/check?uin=2336381832&appid=1003903&js_ver=10086&js_type=0&login_sig=SZMcXaDxpwjrwkDYMzDU8wZcGJdQXnvhvWnLFfEiXl33gDwRGpeBxuUd3zpMTrr3&u1=http%3A%2F%2Fweb2.qq.com%2Floginproxy.html&r=0.02193426643498242。返回的是一个Connection:keep-alive Content-Type:application/x-javascript; charset=utf-8这样的js文件。内容是: ptui_checkVC('0','!YIF','\x00\x00\x00\x00\x8b\x42\x5b\x88', '0b31eff0506793c7ff295ca77cdb6520182c64c87cb801aaa7caede1de71668112dc20f8a17aa2274aace2b946155f8d'); 我印象中,如果请求的是一个html页面,返回也是html页面。但是如果这个html页面 引用了js文件的话,会再从新生成一个js请求,然后再返回js页面才对呀。。是这样吗??

MRLuowen avatar Jul 28 '14 11:07 MRLuowen

这个返回的 js 不是像<script src='xxx.js'>这样请求的 js 文件,是通过 ajax 来请求的。

atupal avatar Jul 28 '14 12:07 atupal

真棒,我能请教一下,是怎么定位到那个加密的代码的位置的吗?能给我提供一个思路吗?我之前找的时候是这样想的:根据点击登入的按钮的响应时间去找那个加密函数,发现这个按钮是type=submit。在开始的<form 表单里有一个 onformsubmit(this)的函数,但是一直找不到他在哪里。能教教我吗??谢谢你了

MRLuowen avatar Aug 07 '14 04:08 MRLuowen

大哥好,经过几天的调试代码终于可以在我这边跑起来了,但是最关键的地方是那个密码加密算法到底怎么搞出来的,也就是encryption.py这个文件中是根据那些代码解出来的,网上有这个js文件地址的http://imgcache.qq.com/ptlogin/js/comm.js,不知道你是不是用的这个,我自己抓包到的信息是:onreset="return onFormReset(loginform)" onsubmit="return onFormSubmit(this),!1" method="post" action="http://ptlogin2.qq.com/login" name="loginform" autocomplete="off"> 不知道 onFormReset 和onFormSubmit 是从哪里弄过来的,小弟没学过js,整个html 中也就有个 src=“../js/10096/mq_comm.js” ,请问你是怎么找到的 另外,获取好友列表登陆时用的hash算法是不是直接将那个function函数翻译成python代码就可以了,求大哥指教一下

wangzili avatar Oct 14 '14 09:10 wangzili

还有我看上面你说密码加密算法不经常变,只有hash算法改变频繁,hash算法应该能搞定,但是我看密码加密算法js中有差不多十几个算法函数,但是你写的encryption.py文件中只有短短几个函数,真心求教

wangzili avatar Oct 14 '14 10:10 wangzili

是的直接翻译就可以了,其他的一些函数有其他的作用啊,我们需要用的只有几个函数,比如 有的 md5 函数它也是写在 js 文件里的,。

atupal avatar Oct 14 '14 10:10 atupal

你好,那个密码加密算法你也是从那个 http://imgcache.qq.com/ptlogin/js/comm.js 中获取的吗,我是直接从网上找到的这个js文件的,你是怎么找到的呀

------------------ 原始邮件 ------------------ 发件人: "kangle yu";[email protected]; 发送时间: 2014年10月14日(星期二) 晚上6:28 收件人: "atupal/cliqq"[email protected]; 抄送: "珍惜和你在一起的每一天"[email protected]; 主题: Re: [cliqq] 我也是无法获得cookie的错误 (#9)

是的直接翻译就可以了,其他的一些函数有其他的作用啊,我们需要用的只有几个函数,比如 有的 md5 函数它也是写在 js 文件里的,。

— Reply to this email directly or view it on GitHub.

wangzili avatar Oct 14 '14 10:10 wangzili

https://github.com/atupal/cliqq/blob/master/js/use.lst 这是分析 js 文件的部分列表,

atupal avatar Oct 14 '14 15:10 atupal

你说的这个我看了,里面好多js文件都没见过,虽然不知道这些js文件的作用,但是我是想问下找到这些js文件的方法,授之以鱼不如授之以渔嘛,知道寻找js方法后,下次有变化的话就不用麻烦你了,很感谢你的指点

wangzili avatar Oct 15 '14 01:10 wangzili

抓包看的呀, 抓 XHR 和 js文件的 包就好了,然后到这些 js 文件里面去 post 参数的名字, 一般能搜到这些参数的基本就是 对应 的 js 函数了,,比如 hash 有个参数就 xxhash,你就到这些文件里搜 xxhash,搜到的有可能就是你要找的函数了。

atupal avatar Oct 15 '14 01:10 atupal

恩恩,这我大概知道怎么回事了,谢谢热心指点

wangzili avatar Oct 15 '14 02:10 wangzili

记得要用 dev 分支啊。。。我还没 merge 的。

atupal avatar Oct 15 '14 03:10 atupal

ok!!!

------------------ 原始邮件 ------------------ 发件人: "kangle yu";[email protected]; 发送时间: 2014年10月15日(星期三) 中午11:21 收件人: "atupal/cliqq"[email protected]; 抄送: "珍惜和你在一起的每一天"[email protected]; 主题: Re: [cliqq] 我也是无法获得cookie的错误 (#9)

记得要用 dev 分支啊。。。我还没 merge 的。

— Reply to this email directly or view it on GitHub.

wangzili avatar Oct 15 '14 03:10 wangzili

最新加密算法好像没变,要求输入验证码的时候自己输入验证码可以登录成功,但是不用验证码登录时候出错,报错是“验证码输入错误,请检查验证码是否错误”之类的,js代码看了半天真心看不懂,请大哥有时间帮忙看看那个不用输入验证码时候verifycode2到底变成什么样了,好郁闷,多谢了

------------------ 原始邮件 ------------------ 发件人: "kangle yu";[email protected]; 发送时间: 2014年10月15日(星期三) 中午11:21 收件人: "atupal/cliqq"[email protected]; 抄送: "珍惜和你在一起的每一天"[email protected]; 主题: Re: [cliqq] 我也是无法获得cookie的错误 (#9)

记得要用 dev 分支啊。。。我还没 merge 的。

— Reply to this email directly or view it on GitHub.

wangzili avatar Nov 27 '14 06:11 wangzili

考试周过后。。orz

atupal avatar Nov 27 '14 06:11 atupal

好的,那烦请大哥有时间了给看看,小弟最近正在做这个,真实一件头疼事,多谢了

------------------ 原始邮件 ------------------ 发件人: "kangle yu";[email protected]; 发送时间: 2014年10月15日(星期三) 中午11:21 收件人: "atupal/cliqq"[email protected]; 抄送: "珍惜和你在一起的每一天"[email protected]; 主题: Re: [cliqq] 我也是无法获得cookie的错误 (#9)

记得要用 dev 分支啊。。。我还没 merge 的。

— Reply to this email directly or view it on GitHub.

wangzili avatar Nov 27 '14 06:11 wangzili

大哥,现在有时间把webqq的密码加密算法整理一下吗,急用,稍微有点变动,你给看看吧,谢谢,实在看不懂呀

wangzili avatar Dec 01 '14 08:12 wangzili