PC微信多開源代碼-消息鉤子+ZwQuerySystemInformation

目錄

  1. 效果圖
  2. 分析借鑑別人的文章--->https://www.52pojie.cn/thread-608108-1-1.html
  3. 知識點分享
  4. 其他實現多開的方式
  5. 源代碼下載
  6. 後續


    點擊開啓,正常打開微信就可以無限多開,通過消息鉤子,自動注入微信。 

2:分析思路

雖然我看的別人思路,但看時候其實自己也想了一些。

  • windows單例實現方法,CreateEvent CreateMutex FindWindow(不是很好,有可能出現多個,鼠標點的快的話) , 主流就這幾個吧。作爲單例標準:我認爲是跟進程有關資源,當進程結束掉,就會釋放資源。這是非常關鍵的,一旦不具備這樣條件,程序異常退出,用戶是打不開程序,因爲資源還佔用。所以寫文件或者註冊表這種方式是不合適的。根據這個條件那麼命名管道,Socket Bind 理論上也可以作爲單例方法,只是大家用的不多而已. 我們順推就可以分析這些作爲句柄。試着用工具ProcessXp關閉是否能多開
  • 上面方式算是黑盒,所以不一定能百分百分析,可以通過OD 給ExitProcess 通過堆棧分析到他們的單例代碼?這樣子無能用什麼方法,都能分析出來。(前期需要有這個分析能力和經驗)(IDA靜態分析也可以)

 

3: 知識點

  • 前提選擇關閉句柄的方式(引用爲0情況下就會釋放),開始我 注入 微信 CreateMutex 打開然後CloseHandle 能關閉句柄 ,發現都不可以,因爲用CreateMutex引用計算就加1了,所以CloseHandle 也沒有意義。
  • 我們要找到一個能拿到句柄,又不會引用計算增加,於是就用找到ZwQuerySystemInformation 函數,這個微軟一個沒有公開的函數,我把網上封裝了一下,修改部分代碼能夠在我的win10 64系統上跑起來。貌似這個這個函數返回的句柄值,不知道這個跟原始句柄值是不是一樣的,那麼直接CloseHandle() 一下是不是可以(和微信同一個進程情況下,我沒有測試)
  • 關閉句柄,用的DuplicateHandle  DUPLICATE_CLOSE_SOURCE 來關閉句柄。

4: 其他方式多開

  • IDA 找到合適代碼,直接修改那端代碼(可能會增加封號風險,因爲改了文件,如果有檢驗就GG)
  • HOOK CreateMutex ,返回NULL 或者修改名字(每次隨機生成),這種時機要對,必須在微信CreateMutex之前處理。
  • 其他待定

5: 自己源代碼地址:https://github.com/xvsdf100/PCWeChatMore

執行程序:執行程序下載

 

6: 後續

有時間把多開合併到一個窗口裏面再加上快速發言,然後加一個按鈕升級來推廣PC HOOK 微信機器人是不是很爽(雖然只開發了一半就沒有寫了(實現發送和接收和羣的功能))

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章