吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14848|回复: 240
上一主题 下一主题
收起左侧

[原创] 微信hook消息接收

    [复制链接]
跳转到指定楼层
楼主
Dellevin 发表于 2025-3-9 23:38 回帖奖励
本帖最后由 Dellevin 于 2025-12-23 08:35 编辑

微信hook消息接收

微信版本:3.9.12.45

账号:两个微信账号,大号用来发消息,小号用来测试

工具:微信、CE修改器、x64dbg

微信版本

定位消息地址

选择微信进程

选择微信进程

大号给小号发送消息,扫描类型选择字符串,数值填写消息内容

发送消息

重复之上的步骤,不断重复,直到无法定位的时候(我这里有三个),一个个查看浏览器内存区域

请输入图片描述

找到带着wxid和xml格式的就是内存地址

请输入图片描述

请输入图片描述

x64dbg断点

记录一下当前的微信地址1B6555E11BD,关闭CE修改器,打开x64dbg,附加微信,按住alt+e选择wechatwin.dll

请输入图片描述

点进去,再内存窗口搜索刚才记录的地址

请输入图片描述

设置写入断点

请输入图片描述

此时微信大号给小号发送消息,查看堆栈信息

请输入图片描述

找到有个db的那个(这一步骤是再写入微信数据库之前定位call)

请输入图片描述

选择,右键“在反汇编中转到指定QWORD”

请输入图片描述

跳转之后,先取消上一个断点

请输入图片描述

然后针对跳转的位置,找到上一个call位置,在call处进行断点

请输入图片描述

发送消息,断点到了,查看RDI

请输入图片描述

请输入图片描述

在地址栏的第一个双击一下

请输入图片描述

这样我们可以得出

0x48 是 微信id

0x88 是 微信消息的内容

计算偏移

找到断点位置,复制文件偏移

请输入图片描述

然后打开计算器那个图标,用偏移地址+C00

请输入图片描述

得出结果250AEA7

验证结果

找到断点位置,复制地址

请输入图片描述

然后按住ALT+E,找到复制wechatwin.dll的基址

请输入图片描述

用计算器两者相减得出结果250AEA7

请输入图片描述

结果是对的,此时编写frida脚本

var wechatWin = Module.findBaseAddress("WeChatWin.dll");
if (!wechatWin) {
    console.error("WeChatWin.dll模块未找到!");
    throw new Error("模块未找到"); 
}
var hookAddress = wechatWin.add(0x250AEA7);
Interceptor.attach(hookAddress, {
    onEnter: function (args) {
        var timestamp = this.context.rdi.add(0x44).readInt();
        var wxid = this.context.rdi.add(0x48).readPointer().readUtf16String();
        var msg  = this.context.rdi.add(0x88).readPointer().readUtf16String();
        console.log("[++++] "+ timestamp +"    "+ wxid +"  :  "+msg)
    }
});

console.log("Hook已安装,等待接收消息...");

运行脚本
请输入图片描述

发送消息测试

请输入图片描述

免费评分

参与人数 87威望 +1 吾爱币 +92 热心值 +75 收起 理由
DdddDdddDddd + 1 + 1 谢谢@Thanks!
xz959 + 1 + 1 用心讨论,共获提升!
wanshu007 + 1 + 1 谢谢@Thanks!
52pjadmi + 1 我很赞同!
Hollower + 1 + 1 现在3.9的意义不大了,会提示版本过低不允许登录。能研究4.0的吗?
fortytwo + 2 + 1 用心讨论,共获提升!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
吾恋兮不知 + 1 热心回复!
诸葛文诚 + 1 + 1 谢谢@Thanks!
Mars—清弦 + 1 + 1 用心讨论,共获提升!
Cleopatra + 1 + 1 我很赞同!
kurokawayuki + 1 用心讨论,共获提升!
东风破解 + 1 热心回复!
fuy56go + 1 + 1 我很赞同!
wupup + 1 用心讨论,共获提升!
DUDU666 + 1 + 1 谢谢@Thanks!
fvv123456 + 1 + 1 谢谢@Thanks!
pw0n + 1 + 1 我很赞同!
max2012 + 1 谢谢@Thanks!
cash_shop + 1 + 1 谢谢@Thanks!
DamonZCR + 1 热心回复!
hellohack000 + 1 用心讨论,共获提升!
Dvgdada + 1 谢谢老哥分享
mhw1 + 1 我很赞同!
CatSprinkle + 1 我很赞同!
tianfeng0v0 + 1 + 1 用心讨论,共获提升!
eoocooo + 1 + 1 我很赞同!
kk0913 + 1 + 1 我很赞同!
Aichifanque + 1 我很赞同!
Koiiiiii + 1 热心回复!
dy2022DY + 1 + 1 用心讨论,共获提升!
Once778 + 1 我很赞同!
mayday5525 + 1 6热心回复!
xcodere2024 + 1 + 1 我很赞同!
jikic + 1 + 1 热心回复!
yhyclown + 1 鼓励转贴优秀软件安全工具和文档!
哒劳德 + 1 + 1 我很赞同!
VnYzm + 1 + 1 用心讨论,共获提升!
cody8888 + 1 热心回复!
HUAJIEN + 1 + 1 谢谢@Thanks!
mhaitao + 1 + 1 我很赞同!
Suiycs + 1 + 1 用心讨论,共获提升!
水到渠成的执着 + 1 + 1 用心讨论,共获提升!
wyl0205 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
52rap + 1 + 1 谢谢@Thanks!
水木杉 + 1 + 1 热心回复!
yaan + 1 + 1 热心回复!
无尘浪子 + 1 谢谢@Thanks!
BayMax2911 + 1 + 1 虽然看得一脸懵,但不影响我加分~~
呆萌爱士 + 1 + 1 热心回复!
mr88fang + 2 + 1 我很赞同!
bfqn123 + 1 + 1 微信聊天发送的文字、图片信息是否泄露。对这方面的技术很感兴趣。
Monkey0 + 1 + 1 谢谢@Thanks!
chaifengbox + 1 + 1 谢谢@Thanks!
aa20221101 + 1 + 1 我很赞同!
凌风取雪 + 1 谢谢@Thanks!
zhaiang + 1 + 1 感谢分享
9324 + 1 热心回复!
安道尔的鱼 + 1 + 1 我很赞同!
Leaf08 + 1 热心回复!
yimk + 1 用心讨论,共获提升!
MHCANDHS + 1 我很赞同!
zhai0122 + 1 我很赞同!
笙若 + 1 + 1 谢谢@Thanks!
Miracle0927 + 1 + 1 我很赞同!
fireworld + 1 我很赞同!
qwq5555 + 1 + 1 pc端的hook不好玩,还是Android端的好玩
gqdsc + 1 + 1 谢谢@Thanks!
fengshengshou + 1 + 1 谢谢@Thanks!
csbby + 1 + 1 我很赞同!
slslsl + 1 + 1 我很赞同!
xoyi + 1 我很赞同!
ChaDianQian + 1 + 1 用心讨论,共获提升!
PoJieDaWang123 + 1 谢谢@Thanks!
allspark + 1 + 1 用心讨论,共获提升!
QQ2024 + 1 + 1 谢谢@Thanks!
chao0927 + 1 谢谢@Thanks!
ldark + 1 + 1 谢谢@Thanks!
sht281 + 1 + 1 谢谢@Thanks!
Ghang + 1 + 1 热心回复!
lsb2pojie + 1 + 1 热心回复!
猴猴小恶魔 + 2 + 1 用心讨论,共获提升!
app740520 + 1 + 1 谢谢@Thanks!
woyucheng + 1 + 1 谢谢@Thanks!
jandyx + 1 + 1 用心讨论,共获提升!
lgc81034 + 1 热心回复!
LogicLiu + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
Yifan2007 发表于 2025-3-10 00:03
思路很清晰,小白有个疑问 怎么通过db判断写入数据库的,还有怎么确定查看EDI的呢
推荐
bfqn123 发表于 2025-3-12 04:23
Dellevin 发表于 2025-3-11 22:40
不是,这就是正常的网络通信,人家腾讯的公网服务器。况且监听也不是这么监听的。

事情好像没有这么简单:
1.我用不同的手机和电脑做过多组测试,结果显示“同城之间”的微信聊天文字和图片的发送和接受的ip是不需要经过上海的。但是一定会经过深圳,这个不难理解,因为腾讯在深圳,人家服务器在那里。
我用正常的两个手机也做过测试,比如同在辽宁大连,我登录另一台电脑,打开手机A里的微信,然后我用A手机给C手机发信息,同时用资源管理器查看数据包的ip情况,这里就显示,数据包的ip在辽宁省和深圳。没有其它地方。
2.而且我还用同样的方法测试过我的QQ.同城(比如辽宁大连)手机之间互发QQ文字和图片消息,用电脑登录其中一个QQ,并用资源管理器查看数据包ip,这里除了辽宁省的ip,和深圳ip,多次出现上海ip,南京ip (还有一些江苏其它城市的ip)。
请教群里大神,从技术上说,怎么进一步分析这种情况?
推荐
1002217709 发表于 2025-3-12 01:47

按照你的方法,我找到了关键call,并且在关键call下F2断点,接收消息暂停后,寄存器RDI右键“在内存窗口中转到”,但是左下角内存窗口中看不到微信的结构体和消息内容?
推荐
 楼主| Dellevin 发表于 2025-3-12 08:13 |楼主
bfqn123 发表于 2025-3-12 04:23
事情好像没有这么简单:
1.我用不同的手机和电脑做过多组测试,结果显示“同城之间”的微信聊天文字和图 ...

你应该理解一个服务器集群,异地容灾,oss,等其他的概念。如果仅从ip来判断的话,显然是不科学的。微信并没你想的那么简单,里面包含的知识可以说是岁月的史书了。人家服务器还有在国外的呢,华北,广州,上海,华东,香港,新加坡的都有。你有些太小瞧腾讯的体量了
推荐
xy8585799 发表于 2025-3-10 07:26
具体有什么用啊?没看懂
推荐
a435751757 发表于 2025-3-9 23:57
看不懂
但还是想学习学习
推荐
lj98 发表于 2025-3-10 00:28
谢谢,学习学习
6#
MRXZ1994 发表于 2025-3-10 00:06
牛啊,学习了
7#
289 发表于 2025-3-10 01:55
用DELPHI 写一个呢!?
8#
sdieedu 发表于 2025-3-10 06:26
非常不错
9#
laozhang4201 发表于 2025-3-10 06:34
收藏,学习。
10#
1002217709 发表于 2025-3-10 06:56
为什么有时候会找不到DB呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-3-10 05:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表