文章实时采集(微信公众号采集工具被封号,需求是怎么样的呢?)

优采云 发布时间: 2022-04-18 10:46

  文章实时采集(微信公众号采集工具被封号,需求是怎么样的呢?)

  由于之前基于itchat开发的微信公众号采集工具使用的账号被封禁,非常郁闷。

  由于之前基于itchat开发的微信公众号采集工具使用的账号被封禁,非常郁闷。

  正好这个时候在研究Xposed Hook微信,所以打算试试安卓版的微信。需求是什么?也就是微信推送一条公众号消息,我们接受一条,发送到对应界面保存,方便后续浏览。刚要去做的时候,觉得难度不大。直接下去下载微信数据库里的东西就行了。然而,这太简单了,好吧。

  

  天真.jpg

  幼稚的!!!

  微信数据表“消息”中导出的数据是一堆乱码,解析出来的网址不全。比如五篇文章文章一次推送只能获取三篇文章的url,这让人很不舒服。

  

  图像.png

  但是苦就是苦,问题还是要解决的。如何解决?看源代码!

  之前我把微信的几个dex包的代码反编译了放在一个文件夹里,然后用VSCode打开,日常查看。

  微信反编译出来的源码虽然乱七八糟,但还是能看懂一些代码。

  我们看到上面导出的数据有一些乱码,估计微信实现了解码工具。如果能hook这个解码工具,解码后能得到正确的数据吗?

  说到解码,根据微信之前的数据传输,这些数据很可能是以XML格式传输的。由于涉及到 XML,所以它必须是键值对的形式。除了我们要去的数据之外,还有一堆看起来很有用的小方块和诸如“.msg.appmsg.mmreader.category.item”之类的东西。

  我打开 vscode 并在全球范围内搜索“.msg.appmsg.mmreader.category.item”。令人高兴的是,结果并不多,这意味着这个值确实是一个有意义的值。一一检查这些源代码。一个包是:"

  com.tencent.mm.plugin.biz;”我在一个名为“a”的类中发现了一些有趣的东西。

  

  图像.png

  该方法是一个名为 ws 的方法,它接收一个 String 类型的值,并在内部进行一些数据获取工作。

  这个 str 参数可以是我想要的标准 xml 吗?

  经过hook验证,打印其参数后,发现不是,参数内容的格式与之前数据库中的格式一致。

  

  图像.png

  然后我们将重点放在第一行的地图上。ay.WA(String str) 方法做解析操作吗?

  我在 com.tencent.mm.sdk.platformtools.ay 中钩住了 WA() 方法来获取它的返回值,这是一个 Map 类型的数据。打印出它的内容后,我的猜测得到了验证。

  WA() 方法将刚才的内容解析成一个便于我们阅读的地图。包括推送收录的图文消息数量,以及公众号的id、名称、对应的文章url、图片url、文章描述等信息。

  我终于可以在晚餐时加鸡腿了。啊哈哈哈。

  此文章仅供研究学习,请妥善食用,谢谢。

  粘贴相关的钩子代码

  

  图像.png

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线