HOOK技术的简单使用

API HOOK
别人求你逆向的时候甩手一个DLL过去,
这种分析方法是不是很炫酷?
这篇文章就与大家谈论如何利用APIHOOK的技术让逆向成为一个DLL的事情!
API HOOK字面上的意思就是勾住(hook)API。
为什么要勾住API呢,是为了让API功能更为强大,也就是给他加上更多的功能。
那就意味着我可以修改程序所调用的API,完成我所需要修改的内存。(逆向)
引用一段百度百科上的话使大家更易理解:
在windows系统下编程,应该会接触到api函数的使用,常用的api函数大概有2000个左右。今天随着控件,stl等高效编程技术的出现,api的使用概率在普通的用户程序上就变得越来越小了。当诸如控件这些现成的手段不能实现的功能时,我们还需要借助api。最初有些人对某些api函数的功能不太满意,就产生了如何修改这些api,使之更好的服务于程序的想法,这样api hook就自然而然的出现了。我们可以通过api hook,改变一个系统api的原有功能。基本的方法就是通过hook“接触”到需要修改的api函数入口点,改变它的地址指向新的自定义的函数。
原理说实话没必要太过的理解,懂得如何使用的就可以了!

这里首先给大家推荐一个工具:

飘云阁的一款DLL劫持的补丁制作工具

以及一个小例子

首先拿OD加载我们的例子
可以看到明显加壳了。。
运行后程序代码段完全解码
这个例子的分析方法我也不多说了
004010F5 |. /0F84 68000000 je 例子.00401163
NOP这条代码即可!
有无数个方法可以实现,

而我还想修改程序判断的文本和信息框的提示呢?
今天我们用API HOOK来实现这些!


 

我们需要选择一个API来进行劫持,
这个API的选择只有一个要求。。
程序第一次使用这个API的时候,
程序代码段已经解码了!
我选择的是CreateWindowExA这个API
大家可以在OD里面反复的实验来找到适合的API进行Hook
打开DLL劫持补丁制作工具,
对所需要HOOK的API进行选择,
填写需要HOOK的程序名称
选择要生成的类型

这个是非常简单的程序。。。
我们如果只想逆向他的话可以直接修改
004010F5 |. /0F84 68000000 je 例子.00401163
90 90 90 90 90 90

如果希望程序输入某串字符才可以登录成功的话
还可以这么写

这样设置好一切之后点击生成
就会在DLL劫持补丁制作工具的文件夹下生成一个DLL,
把他与例子.exe放在同一个文件夹下就能自动hook了!
赶快试试吧!
这个就是我做的DLL!

附上成功修改判断内容以及判断成功提示的文本图!

欢迎大家来加我自己的编程语言交流QQ群群号:387618421

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学编程的闹钟

自愿打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值