【QQ辅助】获取已加的QQ群内所有成员信息
如果我有10个QQ,每个QQ有500个QQ群,每个群平均1000人,那么提取所有QQ号的账号,昵称,性别等信息,数据量就是500万条,我不可能手去挨着挨着点出来,所以只能利用程序去实现对于注入进程或者hook等到QQ软件里面就不要想了,所以现在所有的群发等工具都是用按键精灵来实现了,所以不存在外挂一说,当前市面的软件大概300元一个,但是拉取速度很慢,不能自动检索所有群然后自动拉取,但是通过手动检索,最终能达到要求。
我的方法
这里我利用网站http://qun.qq.com ,但是登陆过后,能够获取当前账号下所有的QQ群,也能够获取每个QQ群里面的人员信息,
存在的问题:不可以一次性拉取一个群内所有的成员信息,这个是基于滚动条拉倒浏览器下侧后的一个事件触发来完成的,一次拉取20条,而且拉取完了后就组装到页面内了。。。即使我全部复制在excel里面去做解析也很慢。
破解思路,这里需要破解掉QQ群这个官网,然后利用他提供的API去拉取信息,完了后再组装起来为我所用。
本帖最后由 李维强-15级 于 2018-11-30 13:54 编辑
下面先贴代码,描述为伪造的POST内容和参数
Dim gzip() As Byte
On Error GoTo ErrHandle '错误处理
Dim ShuJu As String
Dim cwj As String
Dim neirong As String
Dim nr As String
Dim nt As String
Dim aaa As String
aaa = CStr(WebBrowser1.Document.Cookie)
aaa = Replace(Mid(aaa, InStr(aaa, "skey="), InStr(InStr(aaa, "skey="), aaa, ";") - InStr(aaa, "skey=")), "skey=", "")
Dim WinHttp As WinHttp.WinHttpRequest '声明一个对象
Set WinHttp = CreateObject("WinHttp.WinHttpRequest.5.1")
ShuJu = "gc=" & Text1.Text & "&st=0&end=20000&sort=0&bkn=" & g_tk10位版(aaa) '设置POST数据
WinHttp.Open "POST", "http://qun.qq.com/cgi-bin/qun_mgr/search_group_members", True
WinHttp.SetTimeouts 30000, 30000, 30000, 30000 '设置超时时间
WinHttp.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = &H3300 '忽略错误
WinHttp.SetRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
WinHttp.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
WinHttp.SetRequestHeader "X-Requested-With", "XMLHttpReques"
WinHttp.SetRequestHeader "Referer", "http://qun.qq.com/member.html?#gid=" & Text1.Text
WinHttp.SetRequestHeader "Accept-Language", "zh-cn"
WinHttp.SetRequestHeader "Accept-Encoding", "gzip, deflate"
WinHttp.SetRequestHeader "User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
WinHttp.SetRequestHeader "Host", "qun.qq.com"
WinHttp.SetRequestHeader "Content-Length", "46"
WinHttp.SetRequestHeader "Connection", "keep-alive"
WinHttp.SetRequestHeader "Cache-Control", "no-cache"
WinHttp.SetRequestHeader "Cookie", WebBrowser1.Document.Cookie
WinHttp.Send ShuJu '发送
WinHttp.WaitForResponse'异步发送
gzip = WinHttp.ResponseBody '获取返回的byte
UnCompressByte gzip 'gzip 解压缩
nr = BytesToBstr(gzip, "UTF-8")
http://www.qqlite.cn/
页:
[1]