PC微信機器人介面api之微信多開原理

myeyee發表於2021-06-22

大家都知道,正常情況下,電腦微信客戶端只能開啟一個微信,如果再次點選是沒法開啟第二個的。微信是怎麼實現,禁止一個客戶端開啟多個微信的呢?

PC微信機器人介面api之微信多開原理
微信每次啟動的時候,都呼叫:OpenMutexA( )函式,微信有一個自己的互斥體名稱,每次呼叫這個函式,如果函式返回真,則說明找到了,說明微信已經開啟一個了。他就不讓再開啟第二個了。如果沒找到,就開啟一個新微信,就是這個原理實現的。

PC微信機器人介面api之微信多開原理
在OD中(如下圖),用快捷鍵Ctrl+G ,彈出搜:CreateMuteW(微信是寬字元) ,搜尋之後,下斷點,

PC微信機器人介面api之微信多開原理
斷點之後,找到該函式,其中有三個引數:一個是互斥體名稱,一個是bool值,一個他寫的null

PC微信機器人介面api之微信多開原理
然後用CE 找他他這個名稱,把他的互斥體名稱改掉,如下圖:

PC微信機器人介面api之微信多開原理

改掉之後,在OD裡面把斷點取消,然後自動就啟動了一個微信。然後在自己電腦上,再點選微信圖示,開啟,就又開啟一個微信。這樣就開啟了兩個微信,實現了多開。
目前已經實現了大部分功能,執行穩定,比如:發各種訊息,
接收各種訊息,群管,下載檔案,加好友,檢測殭屍粉等等功能,
可提供介面,方便各種語言二次開發,歡迎技術交流

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章