采集⽅案(基于Windows逆向)
引⾔
⽬前主流的采集⽅案只有以下⼏种⽅法
1. 搜狗
⽆法采集历史了,⽽且搜索也不按时间排序。获取的数据的价值不⾼,不过可以通过它来获取的biz。
2. 公众平台
公众平台虽然可采集历史,但限制较⼤,没抓多少就被封接⼝了。可配合其他⽅案⼀起使⽤。
3. 安卓端
xposed hook消息并不难,⽹上能到相关的代码和教程,基本都是hook⼊库的函数。但是会检测xposed直接封,即使你没有使⽤过插件,当然这也会根据号的权重来封。暂未到好的解决⽅法。
身份证扫描件怎么弄
4. ⼀些第三⽅的平台
有很多第三⽅的平台会提供⼀些的数据,⽐如最热⽂章等。
5. ⽹页端
基本没啥⽤,能登上去的都是很⽼的号了。
6. Windows端和Mac
1. 和安卓端⼀样,有Windows客户端和mac。功能其实该有的都有了,所以我们也可以通过hook来获取推送数
据。
2. 历史和阅读数可以使⽤模拟点击加拦截来采集。看使⽤⼯具和语⾔的不同,步骤也有所区别。⽐如有些⼈⽤fiddler拦截到参数,迈巴赫 exelero
在⽤参数请求接⼝获取数据,这⼈⼯操作过多,不适合⼤批量。或者是使⽤mitmproxy加点击,参数失效就模拟点击在打开⼀次链接,如果拦截到参数则请求接⼝获取数据,这⽐fiddler部署到正式环境⽅便的多,但是也需要过多的⼈⼯操作。
3. 浏览器js注⼊。将模拟点击这⼀步简单化。⼤概就是拦截响应并修改它,加⼊⼀些js让他等待⼀⼩段时间打开下⼀个链接,这样
就可以⼀直让浏览器打开链接,在Windows、mac和安卓端都可以实现。不过这些虽然技术简单但实现较繁琐,部署⽐较⿇
烦。
4. 逆向打开url:你点击链接打开url不过是调⽤了⼀段代码段,那到这段代码写个dll注⼊到并开⼀个服务就可以在外部操作
打开url。技术含量过⾼,搞爬⾍的基本不会,需要Windows或者mac逆向⼤佬。这样就可以省略模拟点击和js注⼊这两个步骤。(已经实现了)
5. mitmproxy还要装证书,写脚本,还要保证⼀直运⾏。能不能连这个步骤也省略呢?当然可以,完全可以做到不⽤拦截⼯具就
获取到历史接⼝所需的参数。
正⽂
的采集难度对刚接触的⼈来说不算简单,新⼿基本都是在Windows端模拟点击加拦截,⽽且模拟点击使⽤的还都是Python,需要显⽰器才能正常操作,⽽且只能操作⼀个客户端。操作⿇烦不说,这样的效率也很低。
我接触采集也有⼩半年了,研究了很久,甚⾄了⼀些Windows逆向的⼤佬直接买代码,最终实现了⼀种还可以接受的采集⽅法。当然也是针对Windows端。
1. 实时的发⽂采⽤hook拦截,如果你真有时间的话,完全可以参考⽹上的免费教程⾃⼰研究,这个相关教程很多,搜PC拦截
消息hook就⾏(关键词不要加,有时候技术是互通的,只是因为⼈的需求⽽被限制了)。只需要到接收消息的call。有兴趣的可以看看这个⼤佬关于机器⼈的⽂章:blog.csdn/qq_38474570。
2. ⾃动关注和取消关注,有两种实现,第⼀种:基于逆向rpc调⽤内部代码,需要原始ID(⼀般gh_开头,和wxid是类似的,
可以关注和取消关注)。另⼀种是⽤biz拼链接打开主页,模拟点击(只能关注,⽆法取关)。⽽且biz关注还会占⽤⼀次历史接⼝,本来⼀天历史接⼝就有限制,关注⼜会占⽤⼀部分,不太合适。
3. 获取已关注列表,也有两种实现,第⼀种:基于逆向hook相关call,这种⽅法局限性⼤,⽆法实时获取关注列表,因为只
有在登录时才会加载全部的。第⼆种:读取内存(列表⼀般是全局数据,所以可以直接从内存中读取),可以实时读取,⼀般采⽤这种⽅法更合适。
4. 打开链接(⽂章链接和主页链接)也有多种⽅法,⽐如模拟点击,基于逆向等。试了很久,针对不同情况使⽤不同的⽅法,⽂章链
接使⽤逆向⽅式打开⽐较⽅便。模拟点击⼀般⽤于主页获取参数。
qq名伤感5. 模拟点击需要基于控件句柄的⽅式(Windows窗⼝都有⾃⼰的句柄,不同窗⼝的句柄也不⼀样),如果只是基于屏幕坐标的话,不
是很准确,当然如果配合ocr使⽤就更好了(就是有点费CPU)。
6. 输⼊url这个步骤其实也可以简化,不需要模拟⿏标或者键盘,直接逆向调⽤发送消息call,给⽂件传输助⼿发消息就⾏。另外,如何
出最后⼀条发送的链接我尝试过很多种⽅法,其实都可⾏。从屏幕搜图、屏幕ocr到现在的通过窗⼝
句柄遍历元素。前两种成功率虽然也很⾼,基本不会出错,但是资源消耗较⼤,所以最后还是使⽤遍历元素的⽅式 具体资料请参考微软官⽅⽂档:
docs.microsoft/en-us/windows/win32/api/oleacc/nn-oleacc-iaccessible
所有功能
可实时监控的推送,即新发布的⽂章。误差在5-10分钟(3.0以上版本更改了推送规则,当收到消息或者窗⼝受到焦点才会主动推送,不然需要隔⼀段时间向服务器请求⼀次,所以误差会在5-10分钟,对延迟要求较⾼的可以使⽤2.8版本的)
可以不关注采集的所有历史⽂章
可以采集⽂章的内容、评论和阅读数等
可以获取到关注的列表(只有名称、ID(gh_开头的唯⼀id)、(类似于号)等,不包含biz字段)
可⾃动化关注和取消关注
多开免扫码登录。主要是突破只能记住⼀个账号的登录信息,可以点击登录不需要扫码(并没有⽤于⽣产中,实际使⽤是直接将登录⼆维码传给控制端)
可以激活登录⼆维码,并获取登录⼆维码传给控制端(主要是不⽤远程每台服务器去登录,通过逆向hook实现)
多开控制不会冲突(⽐如模拟点击),不考虑封号的话⽆限多开也没问题
⼼跳检测:发送消息的接⼝也逆向了,⽤于⼼跳检测。即⽤你的发送指定消息到服务器,服务器通过逆向的接⼝回复你,⽤于判断和采集程序是否正常运⾏ 已废弃,后⾯都是采⽤http接⼝操作
登录状态检测:有时候会莫名的退出登录,所以加了这个
版本的话,⽀持2.8.0.121和3.1.0.41,⽬前在更新3.2.1.154
新增万能key(X-WECHAT-KEY)的获取,也就是⼀个key可以获取任何的历史和阅读数,但有时间限制,失效可以重新获取。其他
技术太复杂学不会怎么办?我已经将所有功能封装成exe,只需要操作界⾯就可以采集⽂章(需要
歌颂老师的歌懂得基础的东西,⽐如json和⽹页解析),解析需要你⾃⼰写,因为我不知道你需要哪些字段。如果软件不满⾜你的要求,你也可以我单独定制⼀款。另外,如果需要⾃⼰⼆次封装扩展功能的话,可以提供代码和指导,如果只是想要数据的话也可以合作。
演⽰
监控推送(图中监控账号就是我的,欢迎添加交流)
程序中监控是指要监控哪个好友的消息,当收到该好友指定格式消息时,开启采集程序采集相应内容。设置是设置邮箱发送的⼀些信息,当意外退出登录时会发邮件通知。
Windows版本
家⽤电脑:Windows7、window10
服务器:WinServer2012、winserver2016
其他未测试的并不是不能⽤,⽬前发现不能⽤的版本是Windows8,有些必须的软件装不上,⽆法成功注⼊dll火炬之光2攻略
接⼝⽂档
这是⽬前的软件已经实现的功能,软件通过http接⼝控制
www.showdoc/1353409027945629
测试接⼝
公开⼏个接⼝同于测试,只是测试使⽤,请勿⼤量请求。有任何bug或问题都可以反馈
www.showdoc/1614167891513597个人总结 公务员
post请求体添加了⼀个效验参数key,key的获取有两种。简单来说,如果你的微-信-号存在于我的好友-列表,那么你就可以使⽤⾃⼰的微-信-号作为key(需要⼀些时间更新列表,⼀般⼗分钟左右),另⼀种⽅法看⽂档中的备注和提⽰
因为是公⽹请求,再加上还要验证redis,可能响应时间⽐较长,具体看实际请求。如果换成局域⽹内部署并且去掉验证的话会快很多。
温馨提⽰
需要的请联系上⾯图⽚中的。如果你不是⼯作需要,只是想⽩嫖的话,请勿打扰。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论