02 2022 档案
摘要:一、概述 IAT hook,就是我们要hook的目标函数在导入表IT中,通过修改目标函数所在IAT中项的地址为我们自定义函数的地址,从而实现函数hook。 在这里我们要hook的目标是一个远程进程,采用之前博客《Windows上的进程注入》一文中用到的反射式dll注入这一技术,在其中添加额外的IAT
阅读全文
摘要:一、概念 进程注入,是在正在运行的进程中注入自己代码并运行的一种方法。 我个人的理解,进程注入可以分为线程注入、dll注入、以及PE注入。 线程注入,也是最简单的进程注入,通过创建远程线程的方式在目标进程创建一个线程,执行自己的任务。 dll注入,通过编写一个自己的dll库文件,并把它注入到目标进程
阅读全文
摘要:一、概念 DLL(Dynamic-link library)是Windows操作系统上实现的共享库,又称动态链接库。DLL 的文件格式与 EXE 文件的文件格式相同,即还是32位和64位Windows的可移植可执行文件(PE文件)。 SO 是Linux操作系统上实现的共享库,又称动态链接库。SO 的
阅读全文
摘要:PLT表和GOT表应用于Unix/Linux上的ELF文件,至于Windows系统PE文件使用的是IAT表。 PLT 过程链接表,用于调用链接时地址未知的外部函数,并在首次调用时访问并进行地址解析(获取真正的地址)。 GOT 全局偏移表,用于储存真正的地址。这是链接器在执行链接时需要填充的部分,保存
阅读全文
摘要:一、概念 一个真实物理设备与设备对象可以是一对多的关系,驱动程序或驱动对象与设备对象也可以是一对多的关系。 设备栈 第一种理解:每一个设备对象都可以绑定一个真实硬件设备(也可以不绑定),当一个硬件设备被多个设备对象所绑定时,这组设备对象被称为设备栈(一般最初是至少有一个设备对象的)。 第二种理解:I
阅读全文