api hook
文章平均质量分 78
whitesilt
这个作者很懒,什么都没留下…
展开
-
FS获取KERNEL32基址的三种方法
FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020 进程PID024 线程ID02C 指向线程局部存储指针转载 2013-10-14 08:42:26 · 1909 阅读 · 0 评论 -
Ring3下Hook API实现分析
转载自:http://blog.csdn.net/panda1987/article/details/6149492本文主要针对用户级别下HOOK API的方法进行一下总结。对应的,自然也有ring0下的HOOK API方法,但是这个需要一些驱动方面的基础,暂时不在本文讨论范围内。另外ring3下的HOOK API方法也有很多种,我只列举我所能想到的。 所谓HOO转载 2013-10-15 13:02:57 · 1129 阅读 · 0 评论 -
线程本地存储TLS(Thread Local Storage)的原理和实现——分类和原理
本文为线程本地存储TLS系列之分类和原理。一、TLS简述和分类我们知道在一个进程中,所有线程是共享同一个地址空间的。所以,如果一个变量是全局的或者是静态的,那么所有线程访问的是同一份,如果某一个线程对其进行了修改,也就会影响到其他所有的线程。不过我们可能并不希望这样,所以更多的推荐用基于堆栈的自动变量或函数参数来访问数据,因为基于堆栈的变量总是和特定的线程相联系的。不过如果转载 2013-10-15 13:06:10 · 762 阅读 · 0 评论 -
peb获取kernel32基址,用第一和第二种
通过PEB枚举当前进程空间中用户模块列表也可以获取Kernel32模块的基地址,fs:[0]指向TEB,fs:[30h]指向PEB,PEB偏移0ch是LDR指针,以下可以分别通过加载顺序、内存顺序、初始化顺序获取Kernel32模块的基地址,这里以初始化顺序为例:未公开的LDR_MODULE数据结构如下:typedef struct _LDR_MODULE{ LIST转载 2013-10-15 13:01:43 · 1754 阅读 · 0 评论 -
简单的hookapi C语言版
什么叫Hook API?所谓Hook就是钩子的意思,而API是指Windows开放给程序员的编程接口,使得在用户级别下可以对操作系统进行控制,也就是一般的应用程 序都需要调用API来完成某些功能,Hook API的意思就是在这些应用程序调用真正的系统API前可以先被截获,从而进行一些处理再调用真正的API来完成功能。在讲Hook API之前先来看一下如何Hook消息,例如Hook全局键盘消息,从而转载 2013-10-15 13:02:03 · 4328 阅读 · 0 评论