易语言PC微信HOOK

搞这个的主要目的是为了搞微信个人收款的回调,也就是俗称的免签,免签约。毕竟微信支付功能每年收费300块大洋还是很贵的,我等小户还是搞点省钱的吧。实现过程还算毕竟简单,稳定性还未测试,我自己支付了30多笔没有发现异常情况,只是需要一台Windows电脑用来挂微信与支付回调程序。

什么是HOOK

钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

微信HOOK实现原理

由于Windows程序都有一个通用的内置函数叫做 LoadLibrary 用来加载Windows程序的链接库文件(dll),如果我们在微信程序的进程中开辟一块内存存放我们的链接库文件call.dll地址,并让 LoadLibrary 加载,那么call.dll将会被认为是微信在执行,它将能取得所有微信数据。这个call.dll程序被加载的过程一般叫注入,也叫附加调试。

只要我们能找到微信获取数据的内存地址,那么我们就能通过call.dll获得其数据,然后再通过其它手段(如TCP)传输回我们自己的程序中使用。最常见的就是微信机器人了,由于微信web端功能被关闭得差不多了,很多微信机器人都开始采用这种方式实现。

HOOK常用工具

由于HOOK是一种逆向技术,所以使用的软件大都与内存相关,吾爱破解上这种工具使用得最多,比如 Ollydbg(OD)与 Cheat Engine(CE),本文也是使用这两种工具。还有一款叫做 AsmToE 的汇编代码转机器码的软件。

Ollydbg:https://url67.ctfile.com/f/2768367-521584515-eaab62(访问密码:2048)

Cheat Engine:https://url67.ctfile.com/f/2768367-521584508-10d64f(访问密码:1024)

AsmToE:https://url67.ctfile.com/f/2768367-521584497-6a625e(访问密码:1024)

Ollydbg

Ollydbg

说说为什么要用易语言

由于博主熟悉的C#并没有提供操作内存与HOOK的方法,虽然有大佬用C++编译了EasyHook,但教程太少,对于HOOK初学者来说难度太大。而易语言在破解与使用方面都较为方便,特别是其丰富的模块化代码,体验感直追Python。唯一的缺点就是容易被杀毒软件报病毒,不过没关系,仅仅是学习而已,学会了再去学学C++,就能解决这个问题了。

正式教程下一章开始。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/242053.html

(0)
上一篇 2022年4月7日
下一篇 2022年4月7日

相关推荐

发表回复

登录后才能评论