api接口 pc微信hook_PC微信hook思路讲解

什么是逆向

逆向技术,是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程,以制作出功能一样,并且有你自己想法的程序

体会

逆向技术个人理解,软件的生存意义就在于攻与防,想必来精益的易友都有一颗想成为大神的心,看过世界安全大赛《Pwn2Own》,360 team 在上面为国争光的表现,是否内心已经隐隐触动了

见解 (个人理解)

偶然机会接触到 hook,发现其中的魅力,他不同于逆向协 yi,因为如果是协 yi,那么你需要对服务器的交互来完成完整的组合收包、发包,并且这是非常危险及维护系数非常高的一种形式,假设服务端更新协 yi 格式,那么协 yi 将失效,并且这是不可控的,也就是人家可以随时随地更新,那么接下来介绍 hook 了,简单来说,他就是类似于抓包软件一样,他可以拦截目标软件的各种功能的交互,换句话说,我根本不需要知道软件内部进行了多么复杂的加密处理,一样可以控制软件的功能,就是这么直观的体验

正题 - 微信 hook 原理

1. 下面用到的微信 hook 原理为进程注入,什么是进程注入?简单的描述一下,具体大家可以去自行了解,不然就偏题了,大家知道每个进程都可以加载自己的 dll,进程注入也就是让你的目标软件无声的加载你自己编写的 dll,然后运行,这样你的 dll 就变成了他的程序一部分,可以读取他的任何数据,来进行接下来的拦截过程

在精益模块中可以用到 线程_注入 dll()方法来实现

第一步:因为已经注入,所以微信启动时,这里作为他加载的 dll,一样跟着启动,然后开始安装 hook,也就是安装我们口中的“拦截器”了

2. 接下来是 dll 内的部分,记住这个模块名“WeChatWin.dll”这是微信核心 dll,我们需要的收发消息、转账、发图统统都在这里,所以只需 hook 这里面的功能也就完成了我们需要的功能,

公式 hook 地址 = 基址(“WeChatWin.dll”的基址)+ 偏移地址(这个是变化的,每个要 hook 的功能地址都不一样,至于寻址,这个需要有汇编的基础才能继续,这个只能自行解)

这里是代码,可以自己琢磨,然后自己尝试写一份一样的,最后祝大家心想事成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值