wechat hook 。 PC端微信逆向學習。支援3.8.0.41,3.8.1.26, 3.9.0.28, 3.9.2.23,3.9.2.26版本。
本倉庫發佈的內容,僅用於學習研究,請勿用於非法用途和商業用途!如因此產生任何法律糾紛,均與作者無關!
本項目是逆向練習項目,可能會造成封號等後果。請自行承擔風險。僅用於學習研究,請勿於非法用途。
逆向分析PC端微信客戶端,定位相關功能關鍵Call,編寫dll呼叫關鍵Call。然後將該dll檔案注入到微信進程。
dll在註入成功時,創建了一個預設連接埠為19088的http服務端,然後所有的功能直接可以透過http協定呼叫。
|----------------
-------------------------- 注入 | WeChat.exe |
| ConsoleApplication.exe |————————> |---------------- -------------- 访问 ---------
| | | wxhelper.dll |————————>| 启动http服务 | <----------| clent |
|-------------------------- |----------------- -------------- --------
支援的版本3.8.0.41、3.8.1.26、3.9.0.28、3.9.2.23、3.9.2.26 、3.9.5.81。
源碼和主要實現在對應的分支內。
src:主要的dll程式碼
tool:簡單的注入工具,一個是控制台,一個是圖形介面。
python: tcpserver.py: 簡單的伺服器,用以接收訊息內容。 decrpty.py: 微信資料庫解密工具。 http_server.py:http server端。
source: 簡單的命令列遠端注入來源碼。
其他目錄:熱心作者提供的一些客戶端。
個人精力和程度有限,專案還有許多不足,歡迎提出issues 或pr。期待你的貢獻。
個人常用的方法,請參考https://github.com/ttttupup/wxhelper/wiki
使用上的問題,可查詢https://github.com/ttttupup/wxhelper/discussions
資料庫解密,請參考https://github.com/ttttupup/wxhelper/wiki
個人精力有限,只維護最新版本,舊版的bug會在新版本中修復,而且不維護舊版。
Visual Studio 2022(x86)
Visual Studio code
cmake
vcpkg
先準備好編譯環境。
cd wxhelper
mkdir build
cd build
cmake -DCMAKE_C_COMPILER=cl.exe
-DCMAKE_CXX_COMPILER=cl.exe
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_INSTALL_PREFIX=C:/other/codeSource/windows/wxhelper/out/install/x86-debug
-DCMAKE_TOOLCHAIN_FILE:FILEPATH=C:/vcpkg/scripts/buildsystems/vcpkg.cmake
-SC:/wxhelper
-BC:/wxhelper/build/x86-debug
-G Ninja
cmake --build ..
以下是在vscode中操作,vs中的操作類似。
1.安裝vcpkg,cmake,vscode
2.安裝對應的函式庫,如果安裝的版本不同,則根據vcpkg安裝成功後提示的find_package修改CMakeLists.txt內容即可。或自己編譯。
vcpkg install mongoose
vcpkg install nlohmann-json
3.vscode 配置CMakePresets.json,主要設定CMAKE_C_COMPILER 和CMAKE_CXX_COMPILER 為cl.exe.參考如下
{
"name": "x86-release",
"displayName": "x86-release",
"description": "Sets Ninja generator, build and install directory",
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"architecture":{
"value": "x86",
"strategy": "external"
},
"cacheVariables": {
"CMAKE_C_COMPILER": "cl.exe",
"CMAKE_CXX_COMPILER": "cl.exe",
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}",
"CMAKE_TOOLCHAIN_FILE": {
"value": "C:/soft/vcpkg/scripts/buildsystems/vcpkg.cmake",
"type": "FILEPATH"
}
},
"environment": {
}
}
4.執行cmake build vscode中右鍵configure all projects,在Terminal中點選Run Task,如沒有先設定build任務,然後執行即可
5.命令列注入工具,注入命令
//-i 注入程序名 -p 注入dll路径
// -u 卸载程序名 -d 卸载dll名称
// -m pid 关闭微信互斥体,多开微信
// -P port 指定http端口,需要使用 specify-port 分支的生成的dll
// -I 注入程序的pid
//注入
ConsoleInject . exe - i demo . exe - p E:t estInject . dll
//卸载
ConsoleInject . exe - u demo . exe - d testInject . dll
//多开
ConsoleInject . exe - m 1222
// 注入并指定http端口
ConsoleInject . exe - i demo . exe - p E:t estInject . dll - P 18888
// 注入指定pid并关闭多开限制
ConsoleInject . exe - I 15048 - p E:t estInject . dll - m 15048
6.如果想改變端口,可以在微信目錄下建立config.ini設定檔,修改端口即可。不創建則預設連接埠19088。
[config]
port=19099
2022-12-26 : 增加3.8.1.26版本支援。
2022-12-29 : 新增擷取文字功能。
2023-01-02 : 登出微信登入。
2023-01-31 : 新增修改群組暱稱(僅支援3.8.1.26)。
2023-02-01 : 新增拍一拍(僅支援3.8.1.26)。
2023-02-04 : 新增群組訊息置頂和取消置頂。
2023-02-06 : 新增確認收款。
2023-02-08 : 新增朋友圈訊息。
2023-02-09 : 新增3.9.0.28版本基礎功能。
2023-02-13 : 新增群組暱稱和微信名稱。
2023-02-17 : 新增透過wxid新增好友,搜尋尋找微信。
2023-03-02 : 新增發送@訊息
2023-03-04 : 新增訊息附件下載
2023-03-21 : 新增hook語音
2023-03-30 : 新增獲取語音檔(建議使用這個非hook介面)
2023-04-08 : 3.9.2.23版本功能更新
2023-06-05 :3.9.2.26版本更新
2023-07-07 :3.9.5.81版本更新
0.檢查是否登入
1.取得登入微信訊息
2.發送文字
3.發送@文字
5.發送圖片
6.發送文件
9.hook訊息
10.取消hook訊息
11.hook圖片
12.取消hook圖片
13.hook語音
14.取消hook語音
17.刪除好友
19.透過手機或qq查找微信
20.透過wxid新增好友
23.透過好友申請
25.獲取群組成員
26.取得群組成員暱稱
27.刪除群組成員
28.增加群成員
31.修改群組暱稱
32.取得資料庫句柄
34.查詢資料庫
35.hook日誌
36.取消hook日誌
40.轉發訊息
44.登出登入
45.確認收款
46.聯絡人列表
47.獲取群詳情
48.取得解密圖片
49.圖片擷取文字ocr
50.拍一拍
51.群組訊息置頂訊息
52.群組訊息取消置頂
53.朋友圈首頁
54.朋友圈下一頁
55.取得聯絡人或群組名稱
56.取得訊息附件(圖片,視頻,文件)
57.取得語音檔案(silk3格式)
58.登入二維碼
59.邀請入群
60.取得群組/群組成員詳情
61.撤回消息
62.發送公眾號訊息
63.轉發公眾號訊息
64.發送小程式
65.退款
66.下載頭像(勿用,沒什麼用)
https://github.com/ljc545w/ComWeChatRobot
https://github.com/NationalSecurityAgency/ghidra
https://github.com/x64dbg/x64dbg
https://t.me/+LmvAauweyUpjYzJl