x64微信hook拦截技术如何学

以下是阿冲老师跟大家一样零起点开始学的个人心得:

1)什么是PC 微信hook:

       PC 微信 HOOK 是一种修改内存汇编逻辑与数据达到改变执行逻辑与结果的技术,通过这种技 术我们可以实现对PC微信 版本程序的控制和监控,通常会被用于一些自动化脚本程序和数据过滤等场景。

(2)用什么编程语言:

      目前市面上主流的辅助开发语言主要是用C++、易语言、python 、C# 这4门语言任选一个都可以。C++(高手的核武器,高手都会)、易语言(辅助模块丰富开发效率高)、python(人生苦短,我只用它,库多开发效率高)、C#(Delphi 作者的作品,多好就不说了

(3)需要掌握的技术:

     要学会基本的调试技术,学会使用64dbg调试,为什么不是OD呢,因为现在主流的大部分软件都转成64位了,微信目前也升级到64位版本了,熟练掌握64dbg就显得很重要,然后在学会CheatEngine 扫描数据就可以了。  64dgb+CE 就可以分析调试数据了。

     A 掌握DLL注入 、APIhook、任意地址hook 、函数JMP跳转偏移计算等。

     B 掌握 远程Hook ,远程CALL技术、无痕注入等

     C 掌握,调试中数据回溯技术,日志分析技术,特征码定位更新技术。

     D 了解常见的检测技术,并调试分析检测点进行防封处理。

64位微信hook需要掌握:64位下的InlineHook 跳转技术。

 第1种 利用push+ret 让Hook的位置跳转为我们的地址,push用来 开栈就可以了。

Push 函数地址(8个字节)

mov dword ptr ss:[rsp + 4],

ret

 第2种 原理: rax + jmp + push 进行恢复还原 reg 代表任意寄存器

push reg

mov reg,address

jmp reg

pop reg

 第3种 原理: jmp + rip 进行寻址. 进行跳转 64位程序可以使用rip寄存器

jmp qword ptr ds:[rip]

(4)总结: 总之要学会抄学网上开源的各种微信hook源码,不是原原本本抄下来,是要参考吸收老师们的调试思路,参考老师们的源码写法,要学会知其所以然。试着跟着图文教学流程,做一遍然后记录下来,自己参考老师的源码写出属于自己风格的源码,并加以创新,才能真正掌握。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是一种计算机编程语言,由美国贝尔实验室的丹尼斯·里奇于1972年开发。C语言是一种通用的高级程序设计语言,被广泛应用于系统软件、应用软件和嵌入式系统的开发中。 C语言的设计目标是提供高效、可移植和可扩展的编程环境。它具有较低的级别和较高的抽象程度,允许程序员直接访问和操作计算机硬件,同时具备更高级别语言的表达能力。 C语言具有简洁而又灵活的语法结构,使得程序员可以轻松地编写和理解代码。它支持丰富的数据类型、运算符和控制流结构,为程序员提供了强大的编程能力。同时,C语言还提供了丰富的库函数,使得编写复杂的程序变得更加简单。 C语言的特点之一是具有良好的可移植性。由于C语言在不同的计算机系统上的实现较为统一,因此编写的程序可以很容易地在不同的平台上运行。这使得C语言成为了跨平台开发的首选语言。 C语言的应用非常广泛。它被用于开发各种类型的软件,包括操作系统、编译器、数据库、网络协议等。此外,C语言还被广泛应用于嵌入式系统的开发中,因为它能够直接访问硬件资源,具备较好的性能和效率。 总之,C语言是一种功能强大、灵活且可移植的编程语言。它在计算机科领域发挥着重要的作用,无论是在系统软件还是应用软件的开发中,都有着广泛的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值