日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Dump微信PC端的界面Duilib文件

發布時間:2024/3/26 编程问答 72 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Dump微信PC端的界面Duilib文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

零、有啥用

網上大多數的微信逆向思路,是CE搜索數據得到地址,OD下訪問斷點,然后在堆棧里面大海撈針的找Call,效率太低了。

其實微信的界面是用Duilib做的,Duilib的界面布局寫在XML文件。然后界面的消息處理,是通過控件名處理的。比如發送按鈕,XML文件里面是"send_btn",代碼里面是 if(xxx== “send_btn”)。利用這個特性,可以直接用字符串定位,省事很多。

一、資料

原版Duiib源碼地址:https://github.com/duilib/duilib

微信Duilib源碼地址:https://github.com/tencentyun/TIMSDK/tree/master/cross-platform/Windows/IMApp/Basic/duilib

二、界面創建流程

創建界面流程

窗口過程:CWindowWnd::__WndProc

消息處理函數:WindowImplBase::HandleMessage

處理創建窗口消息:WM_CREATE:? ? WindowImplBase::OnCreate

創建界面:CDialogBuilder::Create(加載界面) CDialogBuilder::Create(處理控件)

加載界面資源:CMarkup::Load CMarkup::LoadFromFile CMarkup::LoadFromMem

三、分析過程

1、切入點

WindowImplBase::OnCreate

MessageBox(NULL, _T(“加載資源文件失敗”), _T(“Duilib”), MB_OK | MB_ICONERROR);

2、找偏移過程

IDA打開 WeChatWin.dll

搜索字符串 Duilib

參考源碼備注

調用偏移 080D8C0

builder.Create 偏移 0x08199EA

F7進入,F8單步調試,發現亂碼XML

再F7進入,F8單步調試,兩次MultiByteToWideChar就得到xml

對應源碼 這里是bool CMarkup::LoadFromMem

四、偏移記錄

0FD7DC62? ? 53? ? ? ? ? ? ? push ebx

0FD7DC63? ? 6A 00? ? ? ? ? ?push 0x0

0FD7DC65? ? 68 E9FD0000? ? ?push 0xFDE9

0FD7DC6A? ? FF15 B4A47510? ?call dword ptr ds:[<&KERNEL32.MultiByteT>; kernel32.MultiByteToWideChar

0FD7DC70? ? 8B5D FC? ? ? ? ?mov ebx,dword ptr ss:[ebp-0x4]

0FD7DC73? ? 33C9? ? ? ? ? ? xor ecx,ecx

Executable modules, item 6

Base=0F560000

Size=018A2000 (25829376.)

Entry=1023AA01 WeChatWi.

Name=WeChatWi

File version=2.8.0.121

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

偏移 0FD7DC70 - 0F560000 =? 81DC70?

五、Hook代碼

源碼地址:https://github.com/KongKong20/WeChatPCHook

總結

以上是生活随笔為你收集整理的Dump微信PC端的界面Duilib文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。