微信無痕清粉分析過程-附源碼地址


 

一、環境

1、微信版本

圖片

2、WeChatWin.dll基址

基址=0FD30000

大小=018A2000 (25829376.)

入口=10A0AA01 WeChatWi.

名稱=WeChatWi

文件版本=2.8.0.121

路徑=C:\Program Files (x86)\Tencent\WeChat\WeChatWin.dll

二、觀察添加好友過程

1、發起添加好友

日志

調試字串: AddFriend wxid_xxxxx

調試字串: new NetSceneVerifyUser (id:330),name:wxid_xxxxx

調試字串: opCode : 1, fromScene : 6 verifyContent: chatroomName :

調試字串: VerifyUser doSceneImpl(seqid:330)

調試字串: in send NetSceneVerifyUser(id:330)

界面

圖片

2、點擊確認

日志

調試字串: new NetSceneVerifyUser (id:332),name:wxid_xxxxx

調試字串: opCode : 2, fromScene : 6 verifyContent: 我是Kong chatroomName :

調試字串: VerifyUser doSceneImpl(seqid:332)

調試字串: in send NetSceneVerifyUser(id:332)

界面

圖片

3、添加好友流程

1、請求服務器判斷是不是好友:opCode : 1

2、收到服務器的回復,判斷是不是好友

2、如果不是好友,彈出添加好友界面

3、最后發起好友請求:opCode : 2

4、清粉思路

1、模擬添加好友,請求好友狀態

2、攔截彈出好友界面,判斷好友狀態

3、配合通訊錄,刪除好友,就能實現無痕清粉功能

三、找Call過程

1、添加好友的界面

圖片

微信界面是用Duilib,參考Duilib的微信分支,Hook創建界面,得到界面的XML文件

圖片

界面文件名:main\VerifyDialog.xml

確認按鈕:okbtn

圖片

2、判斷好友狀態

堆棧往下翻 看到 class AddFriendHelper

圖片

IDA看下AddFriendHelper

圖片

接收服務器的響應是在:AddFriendHelper::eventProc

里面判斷各種情況:好友,刪除,拉黑

這里就找到了判讀好友的狀態了

A7:刪除

A8:好友

AC:拉黑

圖片

3、請求好友狀態

點擊確認按鈕,發送的是opCode : 2,改為opCode : 1,就變成請求好友狀態

搜索字符串下斷點:opCode :

圖片

添加好友,觸發這里的斷點,第一次先跳過,點擊添加好友界面的確認按鈕,再次斷下

圖片

堆棧往回找看到okbtn

圖片

IDA對應的地方,可以看出這里就是對各種按鈕的處理

圖片

點擊確認按鈕:okbtn之后觸發的代碼

這里就找到了請求好友狀態的Call

圖片

四、最終效果圖

圖片

五、源碼

https://github.com/KongKong20/WeChatPCHook


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM