丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

當(dāng)前位置:首頁 > 話題廣場 > 攻略專題 > 游戲問答

微信本地文件怎么打開方式看這里!PM拓展:聊聊企業(yè)微信的hook

編輯指南:企業(yè)微信在群發(fā)信息、大量添加朋友等場景下難以滿足企業(yè)需求,因此,部分企業(yè)為了滿足企業(yè)的批量處理需求,正在進(jìn)行企業(yè)微信hook。

本文作者對hook的原理及方案進(jìn)行了分析,一起來看一下吧。

由于企業(yè)微信的限制策略,導(dǎo)致在群發(fā)消息、批量添加好友等場景難以滿足企業(yè)訴求。在此背景下,某些企業(yè)便對企業(yè)微信進(jìn)行hook,我們今天就來聊一下hook的原理及方案。

一、基本了解

首先我們要對企業(yè)微信(也是所有C/S架構(gòu))的數(shù)據(jù)傳輸有個基本了解:企業(yè)微信手機(jī)端、PC端按照一定規(guī)則將數(shù)據(jù)上報給服務(wù)端,同時也從服務(wù)端按照規(guī)則拉取最新數(shù)據(jù)到本地。企業(yè)微信通過開放的管理后臺提供API接口給企業(yè)微信服務(wù)商,服務(wù)商通過接口和企業(yè)微信進(jìn)行數(shù)據(jù)交互。

用發(fā)消息場景舉個例子:

  1. 企業(yè)微信賬號A,在手機(jī)客戶端上向客戶B(個人微信)發(fā)送一條消息,內(nèi)容“我是周杰倫”
  2. 這條消息內(nèi)容(連同發(fā)送者、接收者等信息)通過網(wǎng)絡(luò)上報到企業(yè)微信服務(wù)端
  3. 企業(yè)微信服務(wù)端做一系列動作,如判斷A和B是否是好友、B是否合法等等之后,將消息發(fā)送給客戶B
  4. 客戶B收到消息后,服務(wù)商通過API接口將這條消息拉取到自己的數(shù)據(jù)庫里
  5. 同時,如果企業(yè)微信A在PC客戶端處于登陸狀態(tài),企業(yè)微信服務(wù)端會將剛剛發(fā)送消息這件事告訴企業(yè)微信PC客戶端,在PC客戶端上也就能看到剛剛發(fā)送給客戶B的聊天記錄

二、如何hook

我們通常需要在設(shè)備上安裝一個客戶端軟件(我們稱其為小助手)用于hook企業(yè)微信的載體工具。

1)破解數(shù)據(jù)庫/內(nèi)存:拿到想要的數(shù)據(jù)

安裝客戶端后,一般會在當(dāng)前硬件設(shè)備硬盤上建立數(shù)據(jù)庫,用于存儲實時性比較強(qiáng)、數(shù)據(jù)量比較大的數(shù)據(jù)。通過破解數(shù)據(jù)庫我們便能拿到必要的數(shù)據(jù),比如企業(yè)微信的外部聯(lián)系人列表即存儲在本地的sqllite數(shù)據(jù)庫里。

2)破解函數(shù)

通過函數(shù)可以拿到想要的數(shù)據(jù)以及操縱企業(yè)微信(技術(shù)老師通常叫:截取和下發(fā))。

如圖,在發(fā)消息場景下,我們通過破解點1,偽裝成企業(yè)微信用戶A調(diào)用“發(fā)送消息函數(shù)”原始數(shù)據(jù),讓該函數(shù)幫助我們發(fā)送消息(下發(fā))。

(真實的發(fā)送消息場景,是一系列函數(shù)之間的調(diào)用,而不僅僅是一兩個函數(shù))

三、hookid是什么

hookid前面有定語,比如外部聯(lián)系人hookid、賬號hookid、群hookid、朋友圈hookid,在企業(yè)微信中,最常用的就是外部聯(lián)系人hookid。

外部聯(lián)系人hookid,即用于標(biāo)定該外部聯(lián)系人的唯一id。假如2個企業(yè)微信賬號都和外部聯(lián)系人A是好友關(guān)系,那么A在2個企業(yè)微信的好友列表里,hookid是相同的。

hookid是什么怎么生成的?

hooid不是系統(tǒng)自動生成的,是從企業(yè)微信在本地的sqllite數(shù)據(jù)庫的外部聯(lián)系人表中獲取的某個字段。

四、為什么要綁定hookid?

還是拿群發(fā)舉例子,如果想要發(fā)消息,數(shù)據(jù)需要從scrm下發(fā)給企業(yè)微信,完成群發(fā)。

發(fā)消息需要指明消息的接收人是誰。但問題是,scrm的外部聯(lián)系人列表是從官方API接口獲取的,而我們最終只能通過hook獲取的外部聯(lián)系人列表來完成群發(fā),兩個列表的口徑并不一致,這時就需要利用hookid來完成數(shù)據(jù)的綁定。

五、如何綁定hookid

1)差異化同步流程

小助手客戶端從企業(yè)微信客戶端同步完成數(shù)據(jù)后,會通知小助手服務(wù)端。

觸發(fā)條件:登錄小助手客戶端,并從小助手中打開企業(yè)微信。

服務(wù)端接到小助手客戶端的同步完成通知,會從庫中獲取該企業(yè)微信賬戶已經(jīng)綁定hookid的列表。

觸發(fā)條件:服務(wù)端獲得小助手同步完成的通知。

將已綁定的hookid下發(fā)給小助手。

觸發(fā)條件:拉取到完整的hookid列表。

下發(fā)方式:一次下發(fā)200個hookid,當(dāng)所有hookid都給到小助手客戶端后,會告知小助手客戶端。

小助手將已綁定的hookid在本地數(shù)據(jù)庫打上標(biāo)記。

觸發(fā)條件:被服務(wù)端告知,hookid已經(jīng)同步完畢。

服務(wù)端向小助手客戶端下發(fā)指令:上報無hookid外部聯(lián)系人。

小助手上報服務(wù)端未綁定hookid的外部聯(lián)系人。

內(nèi)容:外部聯(lián)系人頭像、昵稱、hookid。

方式:一次給200個外部聯(lián)系人信息,所有未綁定用戶都給到服務(wù)端后,會告知服務(wù)端。

服務(wù)端將官方數(shù)據(jù)和小助手客戶端上報數(shù)據(jù),根據(jù)頭像和昵稱進(jìn)行綁定。

2)增量同步邏輯

  • 服務(wù)端獲取未綁定hookid列表
  • 將未綁定hookid列表下發(fā)給小助手(頭像、昵稱等)
  • 小助手從自己的庫里和服務(wù)端下發(fā)的列表進(jìn)行比對,將比對結(jié)果相同的聯(lián)系人上報給服務(wù)端,上報完成后通知服務(wù)端
  • 觸發(fā)條件:比對完成后。如果沒有相同的,則?
  • 服務(wù)端將官方數(shù)據(jù)和小助手上報數(shù)據(jù),根據(jù)頭像和昵稱進(jìn)行綁定
  • 觸發(fā)條件:接受到小助手上報完成通知

3)備注綁定邏輯

  • 服務(wù)端為某個hookid生成一個備注內(nèi)容,并下發(fā)給小助手
  • 小助手為用戶修改備注,修改后,企業(yè)微信內(nèi)部會將新的備注上報給企業(yè)微信服務(wù)端
  • 數(shù)據(jù)同步模塊會定時從企業(yè)微信官方拉取到該用戶對應(yīng)的備注內(nèi)容
  • 服務(wù)端根據(jù)備注內(nèi)容,找到該備注對應(yīng)的hookid,進(jìn)行綁定
  • 服務(wù)端通過官方接口,將備注還原

最后,分享一張企業(yè)微信(hook)服務(wù)商的整圖:

本文由 @Shanker 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自 Unsplash,基于 CC0 協(xié)議

1.《微信本地文件怎么打開方式看這里!PM拓展:聊聊企業(yè)微信的hook》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《微信本地文件怎么打開方式看這里!PM拓展:聊聊企業(yè)微信的hook》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3132879.html

上一篇

關(guān)于微信本地文件怎么打開,你需要知道這些Charles微信小程序抓包指南

微信本地文件怎么打開方式看這里!看齊移動端!微信PC內(nèi)測版發(fā)布重磅更新:小內(nèi)存電腦有救了

  • 微信本地文件怎么打開方式看這里!看齊移動端!微信PC內(nèi)測版發(fā)布重磅更新:小內(nèi)存電腦有救了
  • 微信本地文件怎么打開方式看這里!看齊移動端!微信PC內(nèi)測版發(fā)布重磅更新:小內(nèi)存電腦有救了
  • 微信本地文件怎么打開方式看這里!看齊移動端!微信PC內(nèi)測版發(fā)布重磅更新:小內(nèi)存電腦有救了
微信本地文件怎么打開方式看這里!微信里的文件怎么打印出來,如何打印微信文件

微信本地文件怎么打開方式看這里!微信里的文件怎么打印出來,如何打印微信文件

微信本地文件怎么打開方式相關(guān)介紹,很多人的手機(jī)微信里儲存著很多文件資料,這些資料不能被刪除或刪除。因為工作的時候總會看到。為了防止意外刪除這些文件,可以將微信中的文件打印為紙張文件,以便以后輕松查看。 微信里的文件怎么打印出來呢?如何...