APIHook
linuxpgy
这个作者很懒,什么都没留下…
展开
-
APIHook之DLL注入实例源码
APIHook是需要DLL注入技术的。 为什么这么说? 因为APIHook就是函数的替换,那么这个替换原先功能的函数要放在哪里呢? 放在DLL中是比较方便的,因为Windows提供了这种机制,DLL是和使用它的EXE在同一个地址空间,做替换,以及调用替换函数都可以在DLL中实现。 那么怎样使一个DLL目标EXE所载入呢? 目标EXE可能不是我们编写的,所以目标EXE是没有办法自己载入我们的D原创 2008-05-07 09:35:00 · 1455 阅读 · 1 评论 -
APIHook(API拦截技术)-前言
什么是APIHook(API拦截)? APIHook是一种技术,其实本身它不是很复杂,就是用自己的一个函数来替换原来的系统API,让程序在不修改代码的情况下按照自己的想法去执行。 但是要实现这个过程还是需要一些编程基础的,比如什么是API,什么是函数,什么是DLL,之类要比较清楚。(APIHook里的hook,是钩子的意 思,相当于中文的拦截,在调用原系统API之前执行了你自定义的代码。)原创 2008-05-07 09:33:00 · 1363 阅读 · 1 评论 -
APIHook之APIHook源码实例-任务管理器无法结束的程序
好了,相信大家通过前面的API Hook 专题系列文章的学习,应该大概了解APIHook是一项什么样的技术了。下面就进入真正的应用领域! 学以致用嘛,呵呵~~ 在网上看到很多网友提到一个问题就是我如何做一个程序让别人关不掉,因为可能这个程序需要监控系统,万一被关掉就起不到监控的作用了。 而Windows呢,则没有提供很好的防止程序被关的功能,例如注册为服务,但是一样可以通过服务管理器关掉。 那么原创 2008-05-07 09:38:00 · 1158 阅读 · 6 评论 -
APIHook之APIHook源码1(替换IAT方法)
激动人心的时刻到啦,下面就是正式进入APIHook主题了,先介绍给大家一种很常用的APIHook方法:替换IAT!这种方法我最早见到是在《Windows核心编程》上面,然后自己摘抄下来,加以整理,就成了现在这样的代码。 通过前面文章"APIHook之DLL注入实例源码", 你已经会把一个DLL注入到其他的进程。所以注入部分和前面一样,主要是HookIATDll,我们在里面加入替换IAT原创 2008-05-07 09:36:00 · 1293 阅读 · 1 评论 -
APIHook之APIHook源码2(Detour库方法)
说到APIHook我们不得不提到一个库:Detours。 为什么呢? 因为它是微软提供的一个功能强大的库,可以轻易的实现APIHook的功能,而且实现的比较专业,易用。 实现方法还是和前面文章"APIHook之APIHook源码1(替换IAT方法)" 类似,也是在一个DLL内做替换API(APIHook)的动作,然后用一个主程序将这个DLL注入到其他进程就能对被注入的进程进行APIH原创 2008-05-07 09:37:00 · 1323 阅读 · 0 评论