搜狗搜索爬取微信公众号文章信息,逆向加密解密
优采云 发布时间: 2021-03-21 06:10
搜狗搜索爬取微信公众号文章信息,逆向加密解密
微信公众号文章 采集简讯-搜狗APP将近一天文章
前言
注: 本文主讲一个分析思路,仅用于技术交流分享,有兴趣可以一起交流 q:1095087360。
前段时间,由于需要,在微信官方帐户上指定了采集微信文章 关键词,我在互联网上找到了一些信息,但也赚了很多钱。基本上只有两种来源,一种是微信APP,一种是搜狗。但是,微信客户端关键词的搜索功能相当于没有(数量相对较小),然后以搜狗开始,搜狗的启动相对简单,可以看一下文章,使用搜狗搜索来抓取微信官方帐户文章信息。
无需自动抓取即可改进前代解决方案,这将更加高效且易于实现。
我尝试实现,采集得到了数据,但是实时率相对较低。 采集的许多文章来自几天前或几个月前,我检查了Sogou APP上的微信文章可以搜索到最后一天的数据,因此几乎是今天的文章
分析
直接上传数据包捕获工具:
获取接口之一作为数据接口:
可以发现请求主体和数据获取接口的相应主体是加密的。
反编译的jar以找到加密方法:
通过界面搜索,很容易发现此请求的加密和解密以相同的方法出现。先加密然后请求数据,然后在获取数据后解密数据。
public static synchronized String mxxxx(String str, String str2, String str3, int i) 搜索到的方法
ScEncryptWall.encrypt(str, str2, str3) 加密请求
请求数据:body()
ScEncryptWall.decrypt(body()) 解密
我不会(不)发布(敢于)屏幕截图(发布)。
使用frida钩子验证找到的方法:
hook crypto()方法
你会发现 str= "http://app.weixin.s*g***.com/api/searchapp"
str2="type=2&ie=utf8&page=1&query="+查找的关键词+"&select_count=20&usip=&tsn=1"
str3=""
获取加密参数k,v,u,r,g,p参数
hook delete()方法
获取
有我们想要的数据标题,链接。
接下来是反向加密和解密方法。
通过搜索,发现它是本机方法。 SCoreTools的so和.so文件在lib \ armeabi目录中被调用,下一步是分析so并转到工件ida
找到加解密的入口,接下来是一个漫长的探索过程,基本上是分析C语言的计算过程,可以百度相关文件,这是主要思想。
最后,当我们得到一段这样的代码时,基本上该路由将起作用,并且解密也是如此。
实现
算法出炉时就实现了:
获取数据并分析了链接之后,我发现它仍然是重定向地址。经过简单分析,我可以在微信末尾获得链接。然后,我还根据搜狗微信的官方帐户(一天采集超过一百万)进行了爬网,“文本想法”当天采集已获得了数百万个数据。
摘要
文章主要讨论了一个分析概念,这可能有点粗糙,但是您仍然可以自己从整个过程中学到很多东西。