ChatGPT专员099 发表于 2023-9-3 19:46:52

搜狗搜索公众号怎么关闭(如何删除搜狗搜索引擎)

<p>
<strong>
   背景
    </strong>
</p><p>
    最近发现搜狗微信在2019.10.29号的时候悄然下线了一个功能,也就是不能在搜狗搜索中指定公众号的名称,如下图
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    很多媒体以及社区也在讨论相关的话题
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    这样的话,我们就没有办法准确的搜索到某个公众号的最新的文章了,所以我们要是想要去实时追踪到某个公众号的最新文章的话,就不能通过搜狗这个渠道来爬取了。
   </p><p>
    于是,我整理了一下截止目前的微信公众号的爬取方式
   </p><p>
<strong>
   实战
    </strong>
</p><p>
    实战方面参考了四哥的文章做了些改进,下面我们开始边分析边实战
   </p><p>
    讲一个常识,像微信这种社交类的App,我们和对方在发消息的过程中的聊天记录都是会保存在我们本地,所以我们通常都能看到我们的聊天记录,也可以清理他们,所以如果我们想要拦截微信的消息的话,就得Hook微信的Insert方法,也就是他们插入数据库的方法。
   </p><p>
    那我们该从哪里入手呢?相信大家百度搜索Hook微信的时候都会搜到一类内容,就是如何解密微信本地的数据库,而微信在我们手机上的存储位置又有一个关键词--EnMicroMsg.db,这个就是我们的入口,我们需要在微信源码中全文搜索这个词,我们使用的微信是6.5.3,工具是Jadx,实际操作如下
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    我们搜索出EnMicroMsg.db之后就要每个结果去分析看哪个是比较有“眼缘”的结果。我们可以看到,第三条名字是onSQLExecuted,嗯?有点像,跟进去看看。
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    主要看最后一条,引用了另一个方法进行存储,再跟进去
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    看到了涉及数据库的Help类,我们猜测这个类应该是一个辅助类,那么Insert方法应该在这个类下面,我们在这个类中搜索
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    好的,我们跟到这里能够看到很直观的Sql语句拼接的过程,那么这个方法的参数应该是我们收到的消息的值,只要Hook这个方法,我们就可以去拿到插入数据库时的值了。
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    代码片段就是这个样子,下面我们把这个代码打包成Apk,勾选,重启Xposed,下面可以发送消息测试看看效果了。
   </p><p>
    我们首先先用另一个微信号给我们自己发送普通的消息
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    看到这里,Content的字段,值就是我们发送的1
   </p><p>
    接着我们再用另一个微信号给我们发送公众号文章
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    可以看到一大段代码,我们看到Reversed字段是由很多乱码和字段以及值组成的,那么我猜测微信内部实现了一个解码工具,如果我们能够Hook到这个解码工具,是不是就可以获取到解码之后的正确数据了呢?说到解码,根据微信以往的数据传输来看,这些数据很有可能是以XML的格式进行传输的,既然涉及到xml,那就一定是键值对的形式,我们去到的数据中除了有乱七八糟的小方块,还有诸如“.msg.appmsg.category.item”这类看起来有用的内容。
   </p><p>
    我们在全文搜索一下
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    奇怪?我们并没有发现什么值得的东西?怎么回事,回想一下是不是我们发送的消息有问题?对!我们应该拿的是微信公众号的推送,而不是别人向我们推的公众号文章,那我就用我的公众号给我自己推一个预览消息,结果如下
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    我们再根据刚才的逻辑,全文搜索msg.appmsg.mmreader.category.item,之后我们一个个分析,看到下面这个部分,跟进去
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    我们查看这一段代码,看到下面这个部分有我们之前拦截到的消息的参数
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    我们发现我们需要的字段的值都来自于Yd,而Yd来自于az.Yd,那很可能这个就是我们想要Hook的解密器,我们跟进去看看
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    这段代码看起来很像是解码的,话不多说,Hook试试!
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    不出我们的猜想,这个方法果然是,我们再进行解析,得到如图的效果。
    <strong>
   总结
    </strong>
</p><p>
    这次Hook算是比较简单的案例,主要是寻找Hook方法的思路,把微信公众号的推送当成一个消息,我们去Hook这个消息存入数据库的过程从而得到原生数据,再找到原生数据解密的地方,从而通过Hook原生数据解密的方法得到正确的解码数据,最后完成我们的实时获取微信公众号推送的目的。
   </p><p>
<strong>
   坑点
    </strong>
</p><p>
<strong>
   注意: 项目已经完成,想要获得源码可以关注下面的微信号,回复“hook微信公众号”即可获得项目地址以及现成的Apk
    </strong>
</p><p>
<strong>
   号主介绍
    </strong>
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    震惊 | 只需3分钟!极速部署个人Docker云平台
   </p><p>
    深入理解Python的TLS机制和Threading.local()
   </p><p>
    我为什么不建议你使用Python3.7.3?
   </p><p>
    下一代容器架构已出,Docker何去何处?看看这里的6问6答!!
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p>
    公众号内回复“私藏资料”即可领取爬虫高级逆向教学视频以及多平台的中文数据集
   </p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p class="ql-align-center">
<br/>
</p><p class="pgc-img-caption">
</p><p>
    免责声明: 本文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请读者自负。
   </p>

WtvsX67947 发表于 2024-1-19 06:35:03

我抢、我抢、我抢沙发~

ihppt613853 发表于 2024-1-19 06:37:46

小手一抖,积分到手!

mafCq580753 发表于 2024-1-19 09:16:10

好好 学习了 确实不错

VBbrp474350 发表于 2024-1-19 18:36:42

不错,支持下楼主

0hMf6251866 发表于 2024-4-22 03:32:03

不错不错,楼主您辛苦了。。。

JtLcJ468563 发表于 2024-4-22 06:55:02

路过,支持一下啦

MjWbi194523 发表于 2024-5-13 15:34:31

有点意思,谢谢楼主的无私分享!!!

iQxuv271975 发表于 2024-7-4 07:10:51

学习了,不错,讲得太有道理了

sgWts756401 发表于 2024-7-4 09:58:11

有竞争才有进步嘛
页: [1] 2
查看完整版本: 搜狗搜索公众号怎么关闭(如何删除搜狗搜索引擎)