微信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继续头部下条件断点ECX
4DCDEE0
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
ECX
2DEC230

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值