搜狗微信下線了怎麼獲取公眾號文章?最新方式手把手教你

2021-02-13 七月在線實驗室

 啊!啊!啊!搜狗微信不能爬了!怎麼辦???

沒事,往下看。

背景最近發現搜狗微信在2019.10.29號的時候悄然下線了一個功能,也就是不能在搜狗搜索中指定公眾號的名稱,如下圖這樣的話,我們就沒有辦法準確的搜索到某個公眾號的最新的文章了,所以我們要是想要去實時追蹤到某個公眾號的最新文章的話,就不能通過搜狗這個渠道來爬取了。
於是,我整理了一下截止目前的微信公眾號的爬取方式

搜狗微信渠道(已放棄)

AnyProxy+Appium

X-Wechat-Key(萬能key)

Hook微信,獲取微信公眾號推送
比較一下這幾種方式

第二種的話使用模擬人工操作的自動化工具,AnyProxy的話可以替換成MitmProxy,也就是做一個中間人攔截的作用,具體的話可以看看陳文管的博客來看看具體操作,不過中間人攔截在App層面總會有些隱患。

第三種的話在業界統稱為微信萬能key,也就是像公眾號文章點讚、閱讀什麼的都需要通過這個Key來進行操作,所以一些黑產(刷贊、刷閱讀量)什麼的都喜歡拿這個東西搞,獲取Key的話無非就是逆向重寫源碼邏輯或者Hook拿Key,這個目前市面上暫時沒有相關的文章。

最後一種就是我們今天要採取的方式了,就是Hook微信的公眾號推送,因為邏輯上公眾號推送也是微信官方向我們發送消息的過程,我們可以Hook這個過程,每當收到推送我們就採取我們自己的一些處理邏輯,這樣在設計上來說是四種中最「實時」的。

實戰實戰方面參考了四哥的文章做了些改進,下面我們開始邊分析邊實戰

講一個常識,像微信這種社交類的App,我們和對方在發消息的過程中的聊天記錄都是會保存在我們本地,所以我們通常都能看到我們的聊天記錄,也可以清理他們,所以如果我們想要攔截微信的消息的話,就得Hook微信的Insert方法,也就是他們插入資料庫的方法。

那我們該從哪裡入手呢?相信大家百度搜索Hook微信的時候都會搜到一類內容,就是如何解密微信本地的資料庫,而微信在我們手機上的存儲位置又有一個關鍵詞--EnMicroMsg.db,這個就是我們的入口,我們需要在微信源碼中全文搜索這個詞,我們使用的微信是6.5.3,工具是Jadx,實際操作如下

我們搜索出EnMicroMsg.db之後就要每個結果去分析看哪個是比較有「眼緣」的結果。我們可以看到,第三條名字是onSQLExecuted,嗯?有點像,跟進去看看。主要看最後一條,引用了另一個方法進行存儲,再跟進去看到了涉及資料庫的Help類,我們猜測這個類應該是一個輔助類,那麼Insert方法應該在這個類下面,我們在這個類中搜索好的,我們跟到這裡能夠看到很直觀的Sql語句拼接的過程,那麼這個方法的參數應該是我們收到的消息的值,只要Hook這個方法,我們就可以去拿到插入資料庫時的值了。代碼片段就是這個樣子,下面我們把這個代碼打包成Apk,勾選,重啟Xposed,下面可以發送消息測試看看效果了。看到這裡,Content的欄位,值就是我們發送的1可以看到一大段代碼,我們看到Reversed欄位是由很多亂碼和欄位以及值組成的,那麼我猜測微信內部實現了一個解碼工具,如果我們能夠Hook到這個解碼工具,是不是就可以獲取到解碼之後的正確數據了呢?說到解碼,根據微信以往的數據傳輸來看,這些數據很有可能是以XML的格式進行傳輸的,既然涉及到xml,那就一定是鍵值對的形式,我們去到的數據中除了有亂七八糟的小方塊,還有諸如「.msg.appmsg.category.item」這類看起來有用的內容。
我們在全文搜索一下奇怪?我們並沒有發現什麼值得的東西?怎麼回事,回想一下是不是我們發送的消息有問題?對!我們應該拿的是微信公眾號的推送,而不是別人向我們推的公眾號文章,那我就用我的公眾號給我自己推一個預覽消息,結果如下我們再根據剛才的邏輯,全文搜索msg.appmsg.mmreader.category.item,之後我們一個個分析,看到下面這個部分,跟進去

我們查看這一段代碼,看到下面這個部分有我們之前攔截到的消息的參數

我們發現我們需要的欄位的值都來自於Yd,而Yd來自於az.Yd,那很可能這個就是我們想要Hook的解密器,我們跟進去看看這段代碼看起來很像是解碼的,話不多說,Hook試試!不出我們的猜想,這個方法果然是,我們再進行解析,得到如圖的效果。總結這次Hook算是比較簡單的案例,主要是尋找Hook方法的思路,把微信公眾號的推送當成一個消息,我們去Hook這個消息存入資料庫的過程從而得到原生數據,再找到原生數據解密的地方,從而通過Hook原生數據解密的方法得到正確的解碼數據,最後完成我們的實時獲取微信公眾號推送的目的。坑點

代碼只是完成了功能,在額外的微信風控部分、Xposed檢測部分估計還需要做額外工作。

項目基於手機微信來開發,需要保持手機常開,穩定性需要額外考慮。

 

燃炸福利來襲:

1.積福氣享1折秒課,超10萬元獎品來就送!

2.免費參與全國AI水平測試,憑AI力拿萬元大獎!

3.每晚8點-10點大咖坐鎮直播!



閱讀原文」直達活動現場!

相關焦點

  • 教程手把手教你微信公眾號文章排版
    特別對於一些寫字的原創作者來說,好不容易打磨好的文章,卻因為排版差強人意,使公眾號的專業度大減,十分可惜。 這段時間有好幾個人加我微信號問關於排版的事,群主也叫我在群裡做一個關於文章排版的分享,於是把我的一些想法和做法做了整理,昨晚在群裡跟大家做了一個分享,但因家裡網絡升級尚未完成,分享只能以圖片發送這種簡單粗暴的方式進行,沒能用太多的語音與大家交流
  • 怎麼獲取公眾號二維碼?
    如果是公眾號的管理員,當然可以從微信公眾平臺直接下載二維碼,但這裡我要說的場景是:不是公眾號的管理員,怎麼獲取公眾號的二維碼(且獲取到的二維碼都是靜態的
  • 搜狗微信公眾號排名規則解密
    搜狗微信公眾號排名規則解密只要有搜尋引擎,就有SEO。那麼此次搜狗上線的微信搜索,就有微信SEO的誕生。那麼搜狗微信SEO的排名規則是什麼?如何通過微信SEO技巧快速提升公眾號和推送文章的排名呢?今天就和大家分享微信SEO的技巧,如何在搜狗微信搜索中獲得較好的排名,爭取更多的展現機會!
  • 利用搜狗微信自製一個簡易微信公眾號爬蟲接口
    在此基礎上,微信公眾號爬蟲變得很有價值,對內容生產型公眾號進行數據挖掘可以得到很多有意思、有價值的信息。就我所知,可用於微信公眾號爬蟲的方式主要有以下幾種:web微信,手機客戶端抓包,搜狗微信入口,appium自動化測試,Xposed框架等。其中,web微信只能被動接受公眾號消息,不能主動去查閱微信公眾號歷史消息。
  • Python爬蟲—優雅地獲取微信公眾號文章(一)
    微信公眾號文章自然是查資料的好去處,不過往往容易迷失在「這篇文章好像剛剛讀過」和「不足千字的營銷號爛文」之中。於是乎想到可以將某個關鍵詞的所有文章利用爬蟲爬取下來,然後做一個簡單的查重和過濾條件,稍微緩解一些查資料的痛苦。
  • Python爬蟲—優雅地獲取微信公眾號文章(二))
    本項目計劃通過爬蟲獲取某個關鍵詞下的所有公眾號文章全文,然後編寫一個簡易的查重算法,篩選出微信公眾號上不重複的文章,降低人為篩選的工作量
  • 怎麼增加微信公眾號的權重
    2、權威性  在搜狗微信搜索,公眾號的權威性怎麼看?答案就是認證,這和百度加V,微博認證是一個道理。而不同的認證對於排名也是有影響的:微信認證權重>騰訊微博認證權重>沒有認證。因為現在網際網路信息量越來越大,更新的速度也越來越大,用戶需求的更多是一些熱門最新的東西,而不是成芝麻爛穀子,所以搜尋引擎為了滿足用戶體驗和用戶需求也會考慮到這方面。  自然地,搜狗微信搜索也不例外。那麼搜狗微信搜索主要是如何判斷公眾號的熱門性的?答案是公眾號粉絲數、發文的閱讀量、文章轉載率以及近期發文量(頻率)等。
  • 「搜狗微信搜索」上線 可搜公眾號內容
  • 搜狗微信公眾平臺搜索助你變身流行達人
    現在,越來越多的時尚一族開始轉向微信公眾號獲取熱門深度信息,正因為這裡每天有數百萬的公眾號文章信息,囊括生活萬象,且有梗有深度。但是,一直以來,大家只能通過訂閱方式閱讀微信公眾號文章,獲取信息成本很高,這讓不少用戶頭疼不已  自從搜狗微信公眾平臺搜索獨家上線以來,這一問題得到了有效解決。通過搜狗微信公眾平臺搜索,用戶可以看到海量公眾號及其文章,無需逐個訂閱。
  • 手把手教會你註冊微信公眾號
    何沐芝手把手教會你註冊微信公眾號。一、為什麼要註冊微信公眾號?而我一直用操作電腦不方便作為藉口,在簡書原創150篇以後才開始自己的微信公眾號運營,真的錯過了大把的粉絲,現在簡書關注有7000人,微信公眾號關注5000人。好在我自己覺悟了,現在開始肯定是最好的時機,簡書和微信公眾號同時更新,微信公眾號更好地保護了自己的原創。現在簡書作者的很多文章被嚴重盜竊,開通自己的微信公眾號更是迫在眉睫。
  • 公眾號從0到1,手把手教你搭建成型!
    微信公眾號現在的用戶群體已經過億,很多用戶已經基於微信APP,大量使用內部應用了,比如小程序,支付消費,或者公眾號文章閱讀。很多知名品牌公司都開始運營公眾號,實現了粉絲增長和留存,用戶通過公眾號內容進行產品變現的轉化率也挺高,所以,越來越多的企業都開始在做公眾號。
  • 微信客戶端公眾號爬蟲
    微信公眾號文章的爬蟲可以通過多種方式,例如搜狗的接口,傳送門等網站,但是有個問題,就是這些網站只能獲取文章的內容,而不能獲取文章相應的點讚數評論數
  • 手把手教你下載微信公眾號所有歷史文章
    發現個別公眾號的文章不錯,想批量下載下來慢慢看,可是在微信裡總是看的不爽,有什麼好辦法麼?
  • 手把手教你怎麼註冊微信公眾號
    我們都知道微信裡面有公眾帳號,很多微信的用戶都會關注不少的公眾帳號。在自媒體的時代,有不少人都想通過一些渠道將自己的想法傳遞給別人,微信的公眾帳號平臺就給予我們很好的支持。是否想過自己開一個公眾帳號呢?下面我們來看看微信的公眾帳號是怎麼申請的。
  • 搜狗微信公眾平臺搜索上「新」,微信「第一次」搜得如此好看
    搜狗微信公眾平臺搜索2.0對於用戶來說最重要的是搜索平臺功能和搜索結果以及呈現方式的升級。除了對微信公眾號和平臺內文章方便的搜索功能外,搜狗搜索利用大數據實現了微信搜索結果(文章內容)的優化排序,這能夠確保被多數用戶認可的最優質的文章都排在搜索結果前面。全面而優質的搜索結果縮短了用戶繁冗篩選的過程,提升了搜索效率,使產品使用感受和閱讀質量得到有效保證。
  • 爬蟲代理之爬微信公眾號文章
    #coding:utf-8#主要目標是利用代理爬取微信公眾號的文章,提取正文、發表日期、公眾號等內容,爬取來源是搜狗微信,
  • 搜狗微信公眾號搜索:真正的想像空間在哪?
    有人說微信SEO馬上就成為一門新生意,有人說微信自媒體們的外衣被扒光了,甚至還有人說微信公眾號查詢將幫助搜狗顛覆百度這一巨頭。筆者卻比較保守,我認為現在對搜狗微信公眾號查詢論成敗還為時過早,搜狗要想與微信聯合顛覆既有市場,還遠沒出發。
  • 個人怎麼申請和使用微信公眾號
    ,或者有自己的公司,僅僅為了發一點自己的東西或者希望靠轉載來做個公眾號,那麼我不建議你去做,不如好易用好易用直接編輯文章、加入自己的內容更直接、便利(好易用微信號 haoeyong)。每次都這樣誰天天幫你轉?是你也會覺得煩,對吧!今天我們就教大家利用微信公眾號來發朋友圈廣告,朋友只需要轉發就可以了。簡單來說就是將你的廣告幾分鐘時間編輯成你每天看到的怎麼做微商(微信號vshenghuo888)的文章一樣,只需要轉發即可幫你擴散到自己的朋友圈了。其實微信公眾號發布是個很簡單的事,如果你已經了解,請忽略註冊微信公眾號只能在電腦上完成。
  • 微信公眾號文章排名,寫文章好的公眾號排名,公眾號文章排名靠前,公眾號文章排名技巧,公眾號文章排名規則
    微信文章seo 的優點在於門檻低、成本低。做百度seo,需要你建站,或者購買某些平臺的帳號,而微信seo 申請一個免費的公眾號即可。就留存率來說,建站>公眾號>某平臺,公眾號只要不涉及傳銷、黃賭毒,誇大,捏造,一般留下微信號,完全不會被刪。所以通過長尾詞文章引流是一個非常值得重度參與的項目。
  • 以中興337案為實例,手把手教你如何獲取ITC訴訟信息
    ↑ ↑ ↑  點擊上方藍字來關注我們▎Global IP Update       文|Global君以Creative Technology發起的對中興等公司的337調查為實例,手把手教你如何獲取▎獲取ITC投訴信息如何獲取ITC訴訟信息,一般分兩步走。