微信HOOK之二叉树获取信息 201-12-25
微信版本:3.4.5.27
1.首先找個群,現在有多少人,
2.然后CE搜索[用精確數值],然后刪除,或者增加,
3.減少最后剩下越少越好!【每個地址都是,只不過偏移不一樣】
4.然后OD dd 0D32DCFC 這個地址,看下具體數值,就是群里的人數!
5.上面一個地址,就是鏈表地址,可以回車進入看下!
6.回車之后數據如下:
12CA5C68 1327B898 根地址 終點地址
12CA5C6C 1327BC38 節地址 起點地址
12CA5C70 1327BCF8
12CA5C74 21828300
12CA5C78 4C8EFEDB
7.然后起點地址回車下,就看到有微信ID信息!可以一直回車,看到多個微信ID!
8.重新DD下地址,然后往上拉就看到^G分割的成員Wxid號碼!
wxid_ymmcrtl546rz22Gzhaoxinli2715Gwxid_flxdnz09x4ka12^Gganjiaoyou
9.這個可以用CE附加下地址就能看全
10.重新回到DD一下,往上拉,就看到群號!然后下面也是鏈表地址!
0D32DC28 4F88A911
0D32DC2C 94000000
0D32DC30 02B69898
0D32DC34 0D318A08
0D32DC38 02B69898
11.然后回車第三個地址,就是下一個群!繼續回車到沒有數據的時候就是首地址!
02B69898 0D240390
02B6989C 0D251E20
02B698A0 0C6A9518
02B698A4 00000101
02B698A8 00000000
12.上面是找到人,然后找到聯系人和頭像的!
13.然后用CE搜索 [ 02B69898 ]這個地址,搜索一大堆!
14.找到不排序的地址:DD 04DCE700 之后就到起點地址
15.然后下面地址就是有多少群!182
16.往上查看,出現 MicroMsg.db,這種是數據庫查詢!
Misc.db ContactHeadImg1 這個就是存放頭像的
MicroMsg.db Session 聊天界面
MicroMsg.db Contact 存放聯系人的
04DCDF98 04DA55D0 這個是首地址
04DCDF9C 000006FD 1789人
04DCDFA0 04A77248
04DCDFA4 FFFFFFFF
04DA55D0 0D18D4F8 終點地址
04DA55D4 0C6B9048 起點地址
17.04DCDF98 這個地址下內存訪問斷點,然后切換下微信!
18.斷下之后,回找為EBX
ebx==04DCDF98
ebx來自ecx 看下圖
624DBFA0 55 push ebp
624DBFA1 8BEC mov ebp,esp
624DBFA3 53 push ebx
624DBFA4 8B19 mov ebx,dword ptr ds:[ecx] ; 聯系人 條件斷點
624DBFA6 56 push esi
624DBFA7 8B73 04 mov esi,dword ptr ds:[ebx+0x4]
624DBFAA 807E 0D 00 cmp byte ptr ds:[esi+0xD],0x0
624DBFAE 75 34 jnz short WeChatWi.624DBFE4
19.然后頭部下條件斷點 ecx==04DCDF98
20.下完條件斷點之后,重新操作下微信,斷下來之后堆載第一個返回!
62A492B0 FF75 08 push dword ptr ss:[ebp+0x8]
62A492B3 8D9E B8000000 lea ebx,dword ptr ds:[esi+0xB8]
62A492B9 C745 FC 0000000>mov dword ptr ss:[ebp-0x4],0x0
62A492C0 8BCB mov ecx,ebx
62A492C2 E8 D92CA9FF call WeChatWi.624DBFA0
62A492C7 8BF0 mov esi,eax ; ECX 返回到這里
21.發現這里ecx 是ebx賦的值,然后EBX=ESI+0xB8
EBX-B8
04DCDF98-B8=4DCDEE0
ESI=4DCDEE0
22.發現這里都沒有給ESI賦值,然后頭部下條件斷點 ESI==4DCDEE0
ECX4DCDEE0
22.下完之后,在操作下,然后堆載窗口返回下!發現沒有賦值ESI繼續頭部下條件斷點ECX4DCDEE0
23.在返回之后,發現ECX來自EAX,一般EAX都是上一個CALL的返回值!
24.上一個CALL 回車進入
62846440 56 push esi
62846441 68 90802C64 push WeChatWi.642C8090 ; ASCII “攜F”
62846446 33F6 xor esi,esi
62846448 FF15 4493CC63 call dword ptr ds:[<&KERNEL32.EnterCriti>;
ntdll_19.RtlEnterCriticalSection
6284644E 66:90 nop
62846450 A0 936D2B64 mov al,byte ptr ds:[0x642B6D93]
62846455 84C0 test al,al
62846457 74 70 je short WeChatWi.628464C9
62846459 833D 986D2B64 0>cmp dword ptr ds:[0x642B6D98],0x0
62846460 74 1D je short WeChatWi.6284647F
62846462 46 inc esi
62846463 83FE 01 cmp esi,0x1
62846466 ^ 7C E8 jl short WeChatWi.62846450
62846468 68 90802C64 push WeChatWi.642C8090 ; ASCII “攜F”
6284646D FF15 4893CC63 call dword ptr ds:[<&KERNEL32.LeaveCriti>;
ntdll_19.RtlLeaveCriticalSection
62846473 A1 986D2B64 mov eax,dword ptr ds:[0x642B6D98]
62846478 05 00030000 add eax,0x300
6284647D 5E pop esi ; WeChatWi.6288940C
6284647E C3 retn
25.看到EAX +0x300
EAX=0x642B6D98
基址:62440000
642B6D98-62440000
偏移:1E76D98
鏈表聯系人偏移地址:
[62440000+1E76D98]+0x300+0xB8
[0x642B6D98]+0x300+0xB8
根地址
節地址
下一個
上一個
1.------------------------------
04DCDF98 04DA55D0 終點地址
04DCDF9C 000006FD 好友數量
04DCDFA0 04A77248
04DCDFA4 FFFFFFFF
2.------------------------------
04DA55D0 0D18D4F8 左邊
04DA55D4 0C6B9048 起點地址
04DA55D8 0D0A4BC8 右邊
04DA55DC 00000101
0D18D4F8 04DA55D0
0D18D508 0D1457B8 UNICODE “10090166199@chatroom”
0D18D508-0D18D4F8 10
62440000
592F0000
[592F0000+1E76D98]+0x300+0xB8
開始:
04DCDF98 04DA55D0 起點地址
04DCDF9C 000006FD
04DCDFA0 04A77248
04DA55D0 0D18D4F8 終點地址–相當于上一層起點地址
04DA55D4 0C6B9048 起點地址
04DA55D8 0D0A4BC8
0C6B9048 0C6B95E8 左子樹
0C6B904C 04DA55D0 起點地址
0C6B9050 0C6B91F8 右子樹
0C513498 0CAE9298 UNICODE “zhangxue3982”
0C513498-0C513488 10
0C5134C8 0C9B8920 UNICODE “WY-666666”
0C5134C8-0C513488 40
聯系人
085122DC 0850EC48 起點地址
085122E0 00000021 數量
085122E4 03F51520
085122E8 00000000
0850EC48 085173C8 終點地址
0850EC4C 084A9D40 起點地址
0850EC50 08511330
--------------------------------------2021-12-25
ECX=02DEB8AC
EAX = ECX
ECX==02DEB8AC
ecx =ebx
ebx=esi+0xBC
02DEB8AC-BC
ESI==2DEB7F0
EAX==2DEB7F0
61816573 A1 986D2863 mov eax,dword ptr ds:[0x63286D98]
61816578 83C0 28 add eax,0x28
63286D98-61410000
[0x63286D98]+0x28+0xBC
[61410000+1E76D98]+0x28+0xBC
61410000+1E76E7C
------------------------------------- 群
EBX=ECX
ECX==02DEC2E8
619C05DF 8DBE B8000000 lea edi,dword ptr ds:[esi+0xB8]
619C05E5 C745 FC 0000000>mov dword ptr ss:[ebp-0x4],0x0
619C05EC 8BCF mov ecx,edi
619C05EE 897D D4 mov dword ptr ss:[ebp-0x2C],edi
619C05F1 E8 AAB9AEFF call WeChatWi.614ABFA0
ECX=EDI
EDI=esi+0xB8
ECX=02DEC2E8-B8
ESI2DEC230
ECX2DEC230
ECX=EAX
上一個CALL
61816662 46 inc esi
61816663 83FE 01 cmp esi,0x1
61816666 ^ 7C E8 jl short WeChatWi.61816650
61816668 68 90802963 push WeChatWi.63298090
6181666D FF15 4893C962 call dword ptr ds:[<&KERNEL32.LeaveCriti>;
ntdll_1a.RtlLeaveCriticalSection
61816673 A1 986D2863 mov eax,dword ptr ds:[0x63286D98]
61816678 05 680A0000 add eax,0xA68
6181667D 5E pop esi ; WeChatWi.6179D9C2
[61410000+1E76D98]+0xB8+0xA68
[0x63286D98]+0xB8+0xA68
總結
以上是生活随笔為你收集整理的微信HOOK之二叉树获取信息 201-12-25的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐四个Flutter重磅开源APP项目
- 下一篇: 辗转相除法原理讲解