C/C++ WinApiHook注意调用方式!!!

本文介绍了作者在使用C++和MHook进行WinApi Hook时遇到的问题及解决方案。首先,作者放弃了易语言,转向C++,并通过MHook简化了Hook过程。在Hook某些API时,程序出现崩溃。作者发现原因在于Hook函数的调用约定错误,原程序使用了__stdcall,而Hook函数默认使用了__cdecl。通过在Hook函数前添加__stdcall解决了问题。
摘要由CSDN通过智能技术生成

 

前言

在前段时间使用易语言hook的方式,实现了《11月的阿卡迪亚》的部分汉化,当时只是抱着试一试的心态,不过既然成功了,就当然想要深入的理解和研究。

最近又发现了个有趣的エロ游戏,于是乎我又打算尝试汉化,不过机会渺茫,没有搞懂资源结构,但是修改程序使其支持中文显示,应该还是可以的。

然后在尝试Hook某些API的时候,程序崩溃了,研究了整整一天才发现原因,So,写篇文章记录下来。

过程

放弃易语言

于是乎使用OllyDbg分析了一波api,发现这次的程序创建字体使用的是CreateFontIndirectA,传入参数是一个结构体,这d*g sh*t 易语言涉及到结构体的参数就不好处理,由于并不打算再深入研究易语言,So 我花了两天时间学习了C++

使用C++ & MHook

虽然搞懂了C++的基本使用,不过我还不打算直接就干新的程序,首先参考之前汉化《11月的阿卡迪亚》做一个C++ Ver的Hooker替代易语言Ver的Hooker,了解了一番C++ APIHook后,我选择了使用M

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值