![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows内核
文章平均质量分 51
mi-key
欢迎访问我的博客,这里是专注于Windows逆向与内核学习,欢迎大家一起探讨学习
展开
-
内核上项目【通信】
获取ExRegisterAttributeInformationCallback中ExpDisSetAttributeInformation、ExpDisQueryAttributeInformation全局变量位置,并将其置为0,以实现执行到注册的目标回调函数。箭头所标记位置进行判断全局变量ExpDisSetAttributeInformation、ExpDisQueryAttributeInformation是否为空,如果不为空就不进行注册,所以需要在操作步骤一中将其进行置0。进行通信,最后一项的。原创 2023-12-12 22:27:44 · 266 阅读 · 1 评论 -
内核上项目【获取模块】
在Win7 64位系统编写驱动获取目标进程的模块地址。原创 2023-11-04 19:13:14 · 209 阅读 · 0 评论 -
APC学习记录
插入过程主要是根据参数决定APC插入链表的位置执行过程主要是先执行参数的KernelRoutine的代码,如果有NormalRoutine则跳到三环去遍历执行再回到内核,以此往复将链表中的所有APC执行完毕。原创 2023-10-28 19:16:16 · 663 阅读 · 0 评论 -
指定PID句柄提权
上一节句柄降权是降权驱动将我们CE中的私有句柄表的DbgVIew成员权限给换了,所以我们的方案就是将这个权限提升回去,但是这样就会出现一闪一闪的样子,因为降权驱动一遍在降权提权驱动一遍在提权,所以这时候的思路是让降权驱动失效。根据上节我们可以看到降权驱动是在判断CE中的私有句柄表中是否有DbgView的句柄,那么办法就是换掉这个CE私有句柄表中的DbgView句柄,但是新的DbgView句柄中内容和原来保存的是一致的,代码如下。3.在驱动中抹除CR3、PID、名称只是为了防止更深层检测,并不影响提权。原创 2023-07-28 12:39:26 · 618 阅读 · 0 评论 -
指定PID句柄降权
遍历指定PID进程的私有句柄表,如果发现其有DbgView.exe进程的EPROCESS则将其句柄权限进行修改,俗称句柄降权。原创 2023-07-26 16:01:25 · 271 阅读 · 0 评论 -
隐藏句柄表防止结束进程
三环传入一个指定的PID,驱动将保护通过删除目标进程的句柄表和PID,这样在任务管理器中将无法结束进程(注意:虽然任务管理器无法结束,但是由于VMware注册了一个回调函数,导致只要自身关闭会发生蓝屏,所以需要把VM3DMP.sys去掉)我所使用的系统是Win7 sp1,不同的系统特征码等也会不一样,请自行提取。原创 2023-07-24 15:30:01 · 263 阅读 · 0 评论 -
微过滤驱动实现保护特定程序
minifiter驱动,实现对特定的文件进行保护,防止打开、删除、修改属性等。三环程序C语言实现Minifilter动态安装与卸载。1.首先链接器的附加依赖项中导入。原型如下,其中第二参数是最重要的。原创 2023-07-14 15:07:51 · 356 阅读 · 0 评论 -
Windows内核编程【对象和注册表通知】
那么接下来就可以直接使用了,注册时给各个参数赋值,然后在回调函数中对获取的信息进行操作(以下代码是从链接中改写过来的)可以看到有两个参数,第一个参数是为了更好的描述回调中的相关信息,第二个参数是返回注册后的回调句柄。不好理解,这是因为回调的时候有处理操作前和处理操作后,还有删除注册表和设置键值等等这种类型,所以在。实验结果如下,在任务管理器中无法直接终止目标程序,但是程序自身可以将自己退出,原理就是在。那么接下来就要看申请的空间中存放的是什么数据,可以观察到在上方。所对应的不同的值,上图中结构类型就是。原创 2023-07-12 22:51:27 · 390 阅读 · 0 评论 -
句柄表学习记录
句柄表分为全局句柄表与私有句柄表。原创 2023-07-11 11:24:21 · 65 阅读 · 0 评论 -
线程被动切换【时钟中断】
线程切换的三种情况1.当前线程主动调用API:API函数–>KiSwapThread–>KiSwapContext–>SwapContext2.当前线程的时间片到期:KiDispatchInterrrupt–>KiQuantumEnd–>KiSwapContext–>SwapContext3.有备用线程:KiDispatchInterrrupt–>SwapContext4.如果时钟中断的时候时间片没有到期且没有备用线程,那么函数会直接返回,不会发生线程切换第一种是主动调用到内核API发送的,所以叫。原创 2023-07-10 17:32:16 · 89 阅读 · 0 评论 -
Windows内核编程【进程和线程通知】
Windows 内核编程》作者: [美] 帕维尔·约西福维奇(Pavel Yosifovich)(可以获取命令行等更多信息,创建注销是同一个函数)(注销,没有回调机制)原创 2023-07-05 15:57:53 · 245 阅读 · 0 评论 -
KiSwapThread逆向分析
这个函数主要功能是寻找一个新的线程,然后切换线程并判断是否是同一进程,进而判断是否要切换CR3,而切换线程的本质就是切换堆栈也就是esp(从下面的分析图片中可以看出)在这个函数当中会有很多与主线无关的汇编代码,但是并不影响主线的分析,所以基本遇到这种直接跳过,那么我们接下来说一下主线的逆向分析结果。原创 2023-07-03 00:23:15 · 529 阅读 · 0 评论 -
KiFindReadyThread逆向分析
每个核都有32个链表,在运行时该核触发时钟中断后,会寻找32位数组链表从大到小遍历每个线程,如果遍历的目标线程的亲核性就是运行的本核心,那么从就绪链表中摘除它,并将该线程的NextProcessor进行更改为新的核心的KPRCB.Number这里其实很好理解,就好比这个32位数组链表就是一个线程池,每个CPU需要切换线程的时候就从里面遍历看看谁的亲核性是自己,然后再从里面拿出该线程。原创 2023-06-27 14:55:20 · 437 阅读 · 0 评论 -
内核断链(ActiveProcessLinks)
3.在这个程序中没有直接使用EPROCESS+0xE8是为了兼容所有系统,而且通过搜寻特征的方法可以躲避各种检测。2.将其转换为大写匹配是否是目标程序,如果是则通过寻找目标EPROCESS结构体的。1.首先通过遍历所有的PID,使用。函数得到目标进程的全路径名称。原创 2023-06-23 17:07:34 · 204 阅读 · 0 评论 -
SSDT HOOK
1.首先通过MmCreateSection、MmMapViewInSystemSpace将ntdll加载到内存中,然后进行导出表搜索找到目标函数的服务号。2.然后通过内核导出的变量KeServiceDescriptorTable进而找到SSDT表。3.最后通过在SSDT表修改目标函数地址为自定义地址即可。原创 2023-06-22 21:49:59 · 195 阅读 · 0 评论 -
内核线程同步【待更新实现代码】
1.互锁操作如:InterlockedCompareExchange2.分发器对象也被称为可等待对象,通过KeWaitForSingleObject 和 KeWaitForMultipleObjects实现等待的目标函数都属于可等待对象3.互斥量注意:如果某个线程是一个互斥量的拥有者,那么此线程是唯一能释放该互斥量的线程(KeInitializeMutex)4.快速互斥量只能在内核中使用,也是比较常用的一种,故名思意速度要比普通的互斥量块(ExAcquireFastMutex )原创 2023-06-13 15:12:11 · 57 阅读 · 0 评论 -
Windows 内核编程【驱动程序:从头到尾】
本章主要因为Windows的API功能太弱,只能对线程设置几个级别,于是调用驱动的API来进行设置线程优先级别,于是客户端与驱动的代码如下。原创 2023-05-31 15:58:00 · 406 阅读 · 0 评论 -
驱动隐藏模块
以下代码为驱动隐藏代码,代码比较简单,只需要修改一下PsCreateSystemThread函数最后一个成员,改为自己的驱动名称就可以了(注意不加后缀),这份代码与很多网上的相似,但是当我用网上的代码运行时各种蓝屏,不是少写了个取地址就是IoDriverObjectType没有声明为指针的指针,于是修复了他们写的bug。原创 2023-04-22 19:23:01 · 439 阅读 · 0 评论 -
内核学习记录【保护模式与驱动编程】
滴水内核学习记录看前须知保护模式学习保护模式意义段寄存器段描述符门页TLB中断与异常PEB与TEB驱动编程分页与非分页内存三环与0环通信看前须知从今天起开始记录文章,你我共同学习,体会学习的快乐。因为之前这些东西我都在本地记录,所以一次发布的比较多。我个人比较喜欢以问答的方式记录学习,所以可能如果大家光看我的文章是看不懂,你可以把我文章当成是已经学习过后进行快速复习的一种途径,文章也是按照学习路线进行书写的。当然有些我个人感觉很简单或者不重要的我就没有记录,大家也可以提出,方便你我共同进步。学习的过程原创 2022-04-27 16:34:05 · 2383 阅读 · 0 评论