微信版本: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相关推荐

  1. golang微信公众号请求获取信息

    初次用golang在公众号中获取信息,记录一下 看了下文档,粗略的写了个demo,如下: func HttpGet(c*gin.Context) {var param GetTypeif er:=c. ...

  2. PC企业微信HOOK接口,获取指定好友的详细信息

    简要描述 获取指定好友的详细信息 操作码 102017 请求说明 参数名 必选 类型 说明 type 是 int 类型 user_id 是 string 用户id syncKey 是 string 同 ...

  3. 微信小程序微信公众号支付宝小程序H5(获取信息用户信息,支付,分享,人脸识别)

    文章目录 一.微信小程序 1. 获取信息用户信息 2.支付 3.分享 4. 腾讯云小程序人脸核身 二.微信公众号 1.获取信息用户信息 2.支付 3. 分享(普通分享) 4.分享(vue单页面 配置分 ...

  4. PC微信hook学习笔记(一)—— 获取个人信息

    PC微信hook学习笔记(一)-- 获取微信个人信息 1 起步 2. 获取基址 2.1 用CE查看个人信息 2.1.1 获取昵称基址 2.1.2 dll模块基址 2.2 用OD查看个人信息 2.3 内 ...

  5. vue h5微信公众号授权获取用户信息

    vue h5微信公众号授权获取用户信息 1.申请测试账号 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 2.修改网页授权 ...

  6. 微信小程序地图获取地点信息(打卡签到功能为例)-2020-7-26

    目录 微信小程序地图获取地点信息(打卡签到功能为例) 效果图 前提步骤 首先需要了解的 代码部分 配置性代码 功能性代码 demo 下载 微信小程序地图获取地点信息(打卡签到功能为例) 解决方案:利用 ...

  7. Xposed hook微信二维码收款信息

    学习借鉴Xposed微信支付宝个人免签收款 这里我只是hook到微信收款信息后显示出来 项目github地址ObtainWXBillInfo 资源地址(里面有xml和json转换工具JASONJava ...

  8. 微信网页授权,获取微信code,获取access_tocken,获取用户信息

    微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的" ...

  9. 微信小程序制作——获取用户信息

    微信小程序制作--获取用户信息 1.获取用户信息 方式一 wxml <view bindtap="getUserName">获取当前用户名</view> j ...

  10. 企业微信自建应用获取用户信息

    记录一下企业微信自建应用获取用户信息开发过程: 1.第一步,获取授权code,这个在原来首页开发不太合适,在进入首页前新建页面进行授权,点击页面按钮进行授权.需要拼接的授权url.其中corpid是企 ...

最新文章

  1. 8786:方格取数 (多线程dp)
  2. java 中的点_java————形参中的点点点 | 学步园
  3. 【转】主流PHP框架间的比较(Zend Framework,CakePHP,CodeIgnit...
  4. Codeforces Good Bye 2015 A. New Year and Days 水题
  5. androidstudio自带git用法_Android Studio使用Git版本控制github
  6. NYOJ 1077 【博弈+大整数取模】
  7. Android成长的幕后推手:工程师鲁宾
  8. VeraCrypt文件硬盘加密使用教程
  9. 智能合约语言 Solidity 教程系列8 - Solidity API 1
  10. html table 斜线表头,Table表格加斜线表头
  11. ACTS:首屈一指的软件测试策略是什么?
  12. java 日期加7天_java – 如何检查日期是否超过七天
  13. 新浪微博--分享到微博的简单使用
  14. 主要是web开发和android开发 最好是选择一个方向先专一去学, 半瓶子醋什么都想学你会发现到最后什么都不会,或者比别人多花出了太多的精力 我曾经学java的时候好高骛远,因为当时老师是一个c+
  15. SECS/GEM/GEM300/EAP 讲解(三)半导体协议
  16. java jtextarea清空_Java:JTextArea类
  17. [设计分析]3-1 v0.1 教学辅助——点名册外观详细设计
  18. 订单搜索分页失效的教训:怠惰必受惩罚
  19. 【华为手机官方抢购】自动抢购华为手机软件,亲测可用2021新年福利!(Python版)
  20. asp.net实现在线人数及访问量总计

热门文章

  1. matlab 圆和直线的交点,用matlab求直线和椭圆的交点坐标!
  2. cad转dxf格式文件太大_如何将DWG DXF互转,一招教你解决难题
  3. 蓝桥杯真题:单词分析
  4. EPLAN软件卡顿的解决办法
  5. 项目汇报模板—再也不怕撕逼了
  6. 大学生创新项目——机房监控系统设计概述
  7. 视频剪辑,教你如何给视频水平翻转
  8. java如何实现英文翻译中文,22年最新
  9. word文档如何设置多级标题
  10. Unicode编码详解