最新版PC微信(3.9.2.23)逆向——收消息hook

处女作,有写错的地方,请各路大佬明确指出。

逆向分析方法:

WeChatWin模块基址:0x5CD60000

a、不停的向测试号发送消息,不要点开,让未读消息总数不断增加(此方法比搜特征码、字符串更通用,所有版本都可以用这个方法快速定位);

b、

        1⃣️、在ce里面首次搜索《未知的初始值》、发送消息、接着再搜索《增加的数值》

        2⃣️、点一下微信界面或者拖动一下微信界面、搜《未变动的数值》

        1⃣️和2⃣️结合使用。

c、不停过滤之后,只剩几条稳定的数据,在od里面下内存写入断点,此时断在此处:

5D78A8EF    8943 30         mov dword ptr ds:[ebx+0x30],eax                             ; 未读消息总数-内存写入断点

d、看数据窗口,可以看到这样的数据结构:

16CC09D0  5F73C350  WeChatWi.5F73C350

16CC09D4  00000000

16CC09D8  170A82B8  UNICODE "wxid_8v3brokcw。。。。"

16CC09DC  00000013

16CC09E0  00000013

16CC09E4  00000000

16CC09E8  00000000

16CC09EC  16F92CD8  UNICODE "微信昵称"

16CC09F0  00000005

16CC09F4  00000005

16CC09F8  00000000

16CC09FC  00000000

16CC0A00  00000001

16CC0A04  00000000

16CC0A08  00000000                 此处为收发标记:1=自己发送的,0=收到消息

16CC0A0C  64364FD1  PicFace.64364FD1

16CC0A10  03146B18  UNICODE "想日啥想日在新"

16CC0A14  00000007

16CC0A18  00000007å…………

16CC0A1C  00000000

e、根据以往的经验,直接搜汇编指令:

mov dword ptr ds:[esi],0x5F73C350

  定位到收消息内存分配的地方:

5D650035    8D8E D8000000   lea ecx,dword ptr ds:[esi+0xD8]

5D65003B    C706 50C3735F   mov dword ptr ds:[esi],WeChatWi.5F73C350

5D650041    E8 DA040000     call WeChatWi.5D650520                                      ; 收消息调用malloc内存分配

但从相关字符串和行为来看,此处其实是内存释放,底层调用了free函数,所以走到此处的时候就填充了完整的消息结构

换不同的寄存器分别搜一遍(除了ebp、esp没必要搜):

        mov dword ptr ds:[寄存器],0x5F73C350                

收消息真正内存分配位置:

5D6505AE    C707 50C3735F   mov dword ptr ds:[edi],WeChatWi.5F73C350

2、收消息最佳hook位置:

5DA4D0D7    E8 04500000     call WeChatWi.5DA520E0                                      ; 收消息hook这里

消息存储在局部变量:EBP-0x408的位置

相关附图:

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24394.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pytorch下载与安装(离线包版本)

笔者因为实验需要,不同的模型需要不同版本版本的pytorch,于是安装pytorch就总是出现一个问题,那就是断。比如需要安装torch1.4版本,使用Anaconda Prompt尝试了几次: pip install torch1.4.0 torchvision0.5.0 -f http…

离线安装PostgreSQL数据库(v13.4版本)

记录:328 场景:在CentOS 7.9操作系统上,离线安装PostgreSQL数据库,版本:v13.4。主要是PostgreSQL的编译、安装、启动、登录、设置远程可登录、创建数据库、创建数据库用户等。 版本: 操作系统&#xff1…

regex101 离线版本

regex101.com是一个在线测试正则表达式的网站,比较赞的地方是右边会显示对应正则各个部分的意思,用来调试和学习都是非常好的。还部分支持中文。 但是因为网络不稳定,为了方便研究和学习,我把这个网页的大部分代码拷贝下来&…

飞秋软件--局域网内离线传输文件及聊天工具

下载地址: 链接:https://pan.baidu.com/s/1ADDsXHA4DXtT9zNsF5Eyqw 提取码:o84g 双击安装,按要求,选择安装目录及数据存储目录。一步步安装就行,这里很简单,安装后会在桌面生成…

纪念QT可直接安装的离线版最后版本5.14.2

为什么说纪念呢?因为,这个版本之后再也没有可下载下来安装的版本了,因为我们以后再也没有这么方便了。为是很么说纪念呢?因为我们从QT还很柔弱的时候开始就是使用的离线版。 以前用c#来做组态,自定义控件开发起来也还…

Ubuntu 20.04.5离线安装

1、下载ubantu镜像 Get Ubuntu Server | Download | Ubuntu 2、运行ubantu镜像 通过Vmware运行镜像,这里就不说了。 3、离线安装java服务需要的依赖gcc 以及make 下载gcc以及make的离线安装包 gcc 链接: https://pan.baidu.com/s/1SvMqbz_zfvglUB4ZScW5_Q 提取…

chatgpt赋能Python-python_nmi

Python NMI介绍 Python NMI是一种常见的算法评估指标,用于比较两个或多个聚类结果之间的相似度。NMI全称为归一化互信息(Normalized Mutual Information)。在本文中,我们将介绍Python NMI的定义和用途,并使用示例说明…

代码实践:基于LSTM网络的DEAP情感数据集情感分类

2023/4/5 -4/17 脑机接口学习内容一览: 这一篇文章主要对DEAP数据集转化为python可以处理的格式,并且进一步使用LSTM网络进行分类工作。 一、数据集分析 详情见于官网:DEAPdataset 若想使用数据集可自行在官网申请下载。 以下是对该数据集的简…

员工错误使用 ChatGPT,三星机密数据外泄

ChatGPT 极大地改变了人们的工作方式,不光是普通的个人用户从中受益,一些大型科技公司也同样认可了这些 AI 工具的作用,来帮助其员工提高生产力。 虽然 ChatGPT 确实显著提升了用户的工作效率,但如果员工没有得到充分的提醒和培训…

智能算法系列之模拟退火算法

本博客封面由ChatGPT DALLE 2共同创作而成。 文章目录 前言1. 算法思想2. 细节梳理2.1 超参数的选择2.2 一些trick 3. 算法实现3.1 问题场景3.2 从算法角度分析3.3 python实现 代码仓库:IALib[GitHub] 前言 本篇是智能算法(Python复现)专栏的第二篇文章&#xff0c…

chatgpt赋能python:Python做仿真模拟:一种高效、灵活、易用的工具

Python做仿真模拟:一种高效、灵活、易用的工具 介绍 随着计算机技术的不断进步,仿真模拟已成为许多学科研究中不可缺少的工具之一。在许多领域,例如物理、生物、经济等,都需要使用仿真模拟的技术来预测、测试和优化各种系统的行…

ChatGPT常用的指令(prompts)系列六

系列文章目录 内容翻译自:https://github.com/f/awesome-chatgpt-prompts,并加入自己的实践内容 1、 ChatGPT常用的提示语(prompts)系列一 2、 ChatGPT常用的提示语(prompts)系列二 3、 ChatGPT常用的提示语…

企业级ChatGPT开发入门实战直播21课第2课 运行日志及代码解析

企业级ChatGPT开发入门实战直播21课第2课 运行日志及代码解析 Gavin老师在企业级ChatGPT开发入门实战直播21课第2课中,讲解的ChatGPT应用案例开发架构图: ChatGPT案例运行日志 2023-06-11 16:06:57 DEBUG Calling on_part_begin with no data 2023-06-11

chatgpt赋能python:Python多行注释

Python 多行注释 在 Python 中,我们经常需要写注释来解释代码或者用于调试。Python 的注释分为单行注释和多行注释,本文主要介绍 Python 中如何多行注释。 单行注释 在 Python 中,单行注释以符号 # 开头,可以写在代码的任何位置…

chatgpt赋能python:Python批量加注释:一种简便的代码注释方法

Python批量加注释:一种简便的代码注释方法 介绍 在软件开发过程中,注释是非常重要的。它可以使得代码更易于理解和维护。但是,在大型项目中,加入注释是一个繁琐的过程,它需要耗费大量的时间和精力。Python提供了一种…

云计算在中国的市场格局是怎样的?

2016年余额不足1%了!终于等到今天可以来回答这个问题了!!! 我就以一个普通公有云从业者的视角,用一个字谈一谈我眼中的2016年中国云计算市场格局。 —————— 一言以概之,乱,依然很乱。 但…

Linux在Docker中安装Gitlab

1、安装Gitlab前先把git安装上 yum install -y git 2、安装成功后查看git版本信息 git version 3、设置git的账户信息 git config --global user.name "名称" git config --global user.email "邮箱" 4、创建ssh密钥,密钥默认保存在当前位置下 …

遥望那最悠远的守护

三寸草堂守望,几树落梅花,花落亭前下,怀念了谁的心声,斑驳了谁的年华? 悠远的守望,酸痛了谁心里的青丝。远方的亲人还在劳累中征途遗忘了仅剩的年华。 他们疏忽着命运的磨练,时至今日我得以用手中的墨笔…

halcon 21.05深度学习下载和安装

halcon21版本下载连接地址: 链接:https://pan.baidu.com/s/142qWteiIgHm6QuZVOkX_pw?pwd2tw5 提取码:2tw5 下载后目录如下: 下载完毕后执行som.exe文件后,在浏览器中进行下载即可。 执行exe文件进入浏览器后&#x…

微信小程序【遥望小空投】

项目介绍 1、技术选型 前端:采用最新版的uniapp后端: 采用gin 2、产品示意图 3、有关技术交流欢迎私信