吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1113|回复: 9
上一主题 下一主题
收起左侧

[调试逆向] linux 微信 调试原创,可打印接收的消息,仅限技术交流,不定期更新

  [复制链接]
跳转到指定楼层
楼主
lmclmc 发表于 2024-8-17 18:18 回帖奖励
本帖最后由 lmclmc 于 2024-8-17 18:26 编辑

请先安装 wechat-beta_1.0.0.145_amd64.fixed.deb 版本的微信,然后将我的应用程序wechat 还有libX.so替换进去,即可实现收消息打印,效果如下。


原理:
通过gdb分析 当linux 微信收到消息后,必然会走到地址 0x9b0a7a  ,并且明文消息的内存地址会存放在x64架构的寄存器里面,我们接下来的做法就是hook这个地址位置,然后将寄存器里面的内容打印出来。

hook原理:
首先修改wechat的二进制文件,让其运行链接动态库时,多链接一个我的动态库libX.so.然后在libX.so里面做初始化操作,这个初始化操作主要就是修改机器指令,修改wechat应用内存地址 0x9b0a7a的指令,修改前记得先将里面的指令读取出来做个备份,然后插入mov rax, addr
jmp rax. 这两条指令的意思就是远程跳转,让CPU远程跳转到libX.so的动态库里面,跳转后,立即执行如下指令:

这一步的操作主要是为了备份寄存器信息,避免因为libX.so内部的函数调用等操作污染之前的寄存器。
然后将备份的寄存器地址输出出来,取数据并打印出来,这个数据就是明文消息内容。
[
如图所示,在rdi寄存器里面,
最后,我们要想办法把cpu跳转回wechat应用里面,恢复环境,
由于wechat应用内存机器指令被修改,所以现在拿出之前已经备份的wechat指令进行运行,然后再跳转回去,即可恢复环境,代码如下:

h


代码链接如下:
https://github.com/lmclmc/linux-wechat-hook.git

免费评分

参与人数 5吾爱币 +11 热心值 +4 收起 理由
willJ + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
xinyangtuina + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Yegong0224 + 1 热心回复!
wholdcat + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
fs000x + 1 + 1 用心讨论,共获提升!

查看全部评分

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

沙发
baigeinan 发表于 2024-8-20 13:32
感谢分享好用
3#
wholdcat 发表于 2024-8-20 15:58
大佬. 麻烦继续研究下 如果对方发来一张图片/视频/ 表情以及 分享一个网页 以及小程序这些的 是怎样的
4#
left3721 发表于 2024-8-20 17:19
5#
fanliansuo1 发表于 2024-8-20 18:15
谢谢分享
6#
xinyangtuina 发表于 2024-8-20 21:04
楼主加油
7#
败笔网络 发表于 2024-8-20 21:26
是不是可以做机器人?
8#
 楼主| lmclmc 发表于 2024-8-21 07:33 |楼主
败笔网络 发表于 2024-8-20 21:26
是不是可以做机器人?

可以,但还需要定位发消息的地址
9#
dengdeng123 发表于 2024-8-21 11:07

感谢分享
10#
htxz2022 发表于 2024-10-9 21:40
这个不错,可以往机器人开发了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-10-23 02:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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