自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (3)
  • 收藏
  • 关注

原创 Windows驱动中使用数字签名验证控制设备访问权限

在一般的驱动开发时,创建了符号链接后在应用层就可以访问打开我们的设备并进行通讯。但我们有时候不希望非自己的进程访问我们的设备并进行交互,虽然可以使用 IoCreateDeviceSecure 来创建有安全描述符的设备,但大数的用户账户为了方便都是管理员,因此该方法不太完整。

2023-12-03 19:11:11 1249

原创 Windows驱动中校验数字签名(使用 ci.dll)

对于常规应用程序来说,在应用层可以使用 WinVerifyTrust, 在驱动层使用常规的 API无法使用,自己分析数据又太麻烦。但在内核中 ci.dll 包装了数据签名验证相关的功能,我们可以使用该 dll 来实现我们的数字签名验证。

2023-12-03 11:30:13 1237

原创 Windows ObjectType Hook 之 SecurityProcedure

Object Type Hook 是基于 Object Type的一种深入的 Hook,比起常用的 SSDT Hook 更为深入。有关 Object Type 的分析见文章。这里进行的 Hook 为 其中之一的 SecurityProcedure。文章实现进程打开的过滤。

2023-11-07 11:23:46 218

原创 Windows ObjectType Hook 之 OkayToCloseProcedure

Object Type Hook 是基于 Object Type的一种深入的 Hook,比起常用的 SSDT Hook 更为深入。有关 Object Type 的分析见文章。这里进行的 Hook 为 其中之一的 OkayToCloseProcedure。文章实现文件对象的过滤。

2023-11-05 11:08:23 346 1

原创 Windows ObjectType Hook 之 ParseProcedure

Object Type Hook 是基于 Object Type的一种深入的 Hook,比起常用的 SSDT Hook 更为深入。有关 Object Type 的分析见文章。这里进行的 Hook 为 其中之一的 ParseProcedure。文章实现注册表 Key 对象的过滤。

2023-11-02 11:19:33 446

原创 Windows ObjectType Hook 之 OpenProcedure

Object Type Hook 是基于 Object Type的一种深入的 Hook,比起常用的 SSDT Hook 更为深入。有关 Object Type 的分析见文章。这里进行的 Hook 为 其中之一的 OpenProcedure。文章分两部分,分别实现 Event 对象和 Process 对象的过滤。

2023-11-01 11:22:23 387

原创 KdMapper扩展实现之AVG(aswArPot.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-10-16 11:24:09 160

原创 KdMapper扩展实现之SOKNO S.R.L(speedfan.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-10-11 11:05:04 576

原创 KdMapper扩展实现之REALiX(hwinfo64a.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-10-10 16:10:15 153

原创 KdMapper扩展实现之Dell(pcdsrvc_x64.pkms)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-10-07 11:27:41 207

原创 KdMapper扩展实现之microstar(NTIOLIB_X64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-27 10:20:02 111

原创 KdMapper扩展实现之MICSYS(MsIo64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考《【转载】利用签名驱动漏洞加载未签名驱动》)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-26 19:17:01 236

原创 KdMapper扩展实现之LG(LHA.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-19 18:31:38 124

原创 KdMapper扩展实现之Huawei(Phymemx64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-14 20:48:03 228

原创 KdMapper扩展实现之GMER(gmer64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-12 11:26:05 236

原创 KdMapper扩展实现之CrystalMark(winring0x64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-09 12:04:32 174

原创 KdMapper扩展实现之CPUID(cpuz141.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-08 18:11:48 118

原创 KdMapper扩展实现之ATI(atillk64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-07 10:30:26 96

原创 KdMapper扩展实现之ASUS(GLCKIo.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-05 10:38:47 164

原创 KdMapper扩展实现之ASUS(EneIo64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-05 09:55:51 92

原创 KdMapper扩展实现之ASUS(asmmap64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-04 21:07:45 125

原创 KdMapper扩展实现之ASUS(ATSZIO64.sys)

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能。需要大家对KdMapper的代码有一定了解。

2023-09-04 17:32:26 140

原创 KdMapper被加载驱动的实现

  内核映射器有较多年历史了,其中KdMapper是比较著名的,原版中它使用intel的驱动漏洞可以无痕的加载未经签名的驱动。本文章对被加载的驱动的实现进行简单的介绍。  正常情况下,驱动是被KdMapper加载到内存,然后解析导入函数后直接调用其入口函数,故其加载的驱动有以下要求:      入口函数的两个参数 PDRIVER_OBJECT 和 PUNICODE_STRING 不能使用,因为KdMapper在进行无痕加载时并未初始化这两个参数,所以一般情况下驱动代码如下:    如图:  调试加载的

2023-09-04 17:08:31 848

原创 KdMapper扩展实现之虚拟地址转物理地址

KdMapper是一个利用intel的驱动漏洞可以无痕的加载未经签名的驱动,本文是利用其它漏洞(参考)做相应的修改以实现类似功能时遇到的问题,需要大家对KdMapper的代码有一定了解。在中有很多利用MmMapIoSpace和ZwMapViewOfSection将物理内存映射后进行内存数据读写的情况,一般情况下需要先将虚拟地址转换为物理地址,内核中使用MmGetPhysicalAddress即可。但有发现大多数的漏洞驱动并没有MmGetPhysicalAddress的利用。

2023-09-04 10:44:20 318 1

原创 KdMapper扩展中遇到的相关问题

这样就导致一个问题,MapDriver在将驱动文件写入内存中WriteMemory时,使用的物理内存映射的地址,虽是连续的,但实际的虚拟页面可能就只写了第一个,其它的页面没有真正写入数据,这样在调用驱动文件入口函数CallKernelFunction时就会出现,导致BSOD。可以看到加载指定的驱动文件时根据是否是mdl加载来分配内存,调用的是AllocatePool或者AllocMdlMemory,而这两个函数分配的都是内存虚拟地址是连续的,但物理内存是不连续的,在有些情况下会导致问题。

2023-09-03 16:51:37 270

原创 内核映射器(KernelMapper)开发-扩展KdMapper在Window 7 x64的支持

内核映射器有较多年历史了,其中KdMapper是比较著名的,原版中它使用intel的驱动漏洞可以无痕的加载未经签名的驱动。只不过当前只支持在Win10及Win11上运行,现在进行功能的修改以支持在Win7 x64环境上。当前假定读者对KdMapper的原理比较了解并编译调试过相关代码。

2023-07-22 11:47:36 652

原创 WinDbg打印SSDT的参数个数脚本

WinDbg打印SSDT的参数个数脚本

2023-07-21 15:58:25 124

转载 【转载】利用签名驱动漏洞加载未签名驱动

设置电脑为测试模式加载驱动,某些游戏在该模式下不运行。自己写的驱动没有签名,系统不加载。自己写的驱动没有签名,系统不加载。

2023-06-14 15:49:00 761

原创 Windows驱动开发学习记录-ObjectType Hook之ObjectType结构相关分析

其中用不着EPROCESS的结构,获取这个的地址是为了获取_OBJECT_HEADER的地址,在XP环境的代码中可以用以下来获取到_OBJECT_HEADER地址,因为_OBJECT_HEADER结构中的Body部分就是获取的对应的对象,如EPROCESS。在64位系统上 _OBJECT_HEADER中并没有字段直接包含_OBJECT_TYPE结构,而是一个索引,索引的是一个名叫 ObTypeIndexTable的表,这个表是一个包含所有ObjectType的表结构,详细可见我另一篇文章。

2023-06-11 20:41:35 344

原创 Windows桌面水印去除工具Universal Watermark Disabler原理分析及实现

通过分析加猜测(后边也证实了)相关逻辑是启动进程时加载此dll,此dll在加载时进程导入表Hook,对shell32.dll中导入的gdi32.dll的ExtTextOutW函数进行挂钩,然后过滤相关字符串。注册表项的相关文件和桌面进程相关,应该是在桌面进程启动时加载了相应的dll文件,而该工具替换成painter_x64.dll,该dll做了相应的功能来实现水印过滤。关于自定义ExtTextOutW,用上边代码可以去除一般水印,也可以使用函数中注释的代码去除指定水印。上边代码只把测试模式去掉,效果如下。

2023-06-10 13:31:21 6462

原创 Windows驱动开发学习记录-使用Inf安装过滤驱动时自动添加注册表相关内容

其中倒数第二个参数一般用0x00010000,这个参数代表用后边指定的内容进行覆盖,但这里需要的是附加内容,所以用的0x00010008,然后右键点击安装就可以了。如果指定的字符串值已存在,则不会追加指定的字符串值。此可选的十六进制值,表示为系统定义的低单词和高字标志值的 ORed 位掩码,定义值条目和/或控制加载项注册表操作的数据类型。后面的值字段可以是用逗号分隔的字符串列表。行中省略标志值,该行对此类型的值项进行操作。,但忽略任何提供的值条目名称和/或值。给定的值项和/或值的类型。

2023-05-26 15:56:35 316

原创 Windows驱动开发学习记录 根据DeviceObject获取设备名称和硬件ID

根据DeviceObject获取设备名称和硬件ID

2023-05-24 17:04:36 209

原创 Windows驱动开发学习记录-客户端与驱动交换数据之挂起IRP后客户端无法退出问题

没有特别好的方法,本人采用的思路是驱动创建一个设备进行通讯,客户启动后创建一个线程,该线程调用 DeviceIoControl,驱动层将该操作的IRP挂起,然后有数据时再将数据复制到IRP对应的Irp->AssociatedIrp.SystemBuffer中并完成操作。第二段代码中的关键部分在一开始并没有,也就是说开始没有设置IRP的取消例程,这样在客户端关闭时IRP还是处于挂起状态,导致客户端退不出后。当前的需求时驱动层进行了过滤,想把相应的过滤做成事件通知给应用层并显示。

2023-02-27 17:53:30 114

原创 Windows驱动开发学习记录-IRP取消例程问题

接着把 IRP状态设置为 STATUS_PENDING, 再返回 STATUS_PENDING。这种取消函数会引起问题,在XP上表现为系统假死,在WIn7 x64上直接崩溃,如图。先调用 IoSetCancelRoutine设置取消例程为自定义函数。原因是取消例程的自旋锁的问题, 代码中要加上。一般设置IRP取消例程很简单,大致代码如下。

2023-02-27 17:12:12 169

原创 Windows驱动开发学习记录-应用层打开设备符号链接在不同系统的区别

基中MY_CONTROL_DEVICE_SYMBOL_LINK的定义稍有不同。两种差别是 是个是 \\.\XXXX 另一个是 \\?这个名字在XP 32位及 Win7 64位以上都成立。客户端打开调用的CreateFile。

2023-02-27 16:49:01 107

原创 遍历Windows内核ObjectType

遍历Windows内核ObjectType

2022-07-18 21:27:42 793

原创 Windows驱动开发学习记录-Windbg打印Shadow SSDT 脚本

使用Windbg获取Shadow SSDT的GDI相关系统服务函数的相关信息

2021-11-20 16:34:58 571

原创 Windows驱动开发学习记录- Hook NtCreateProcessEx/NtCreateUserProcess实现创建进程过滤

学习SSDT Hook、SSDT InlineHook的一点记录。1.实现前提 使用常规的SSDT hook或者 SSDT inline hook进行挂钩,这里只讨论过滤函数的实现和调试中的一些问题。测试环境为XP sp3 x86 和 Win7 SP1 x86。2.两个系统的差别 Win7以上的系统环境,在后来系统中创建的进程的是NtCreateUserProcess,之前一直挂钩NtCreateProcessEx并不起作用,这里需要注意...

2021-11-14 17:54:50 1183

原创 Windows驱动开发学习记录-在内核中返回错误但用户层不提示错误

最近学习SSDT inline hook中有个需要是想静默的过滤用户行为,也即在驱动中用户行为返回错误,但又想让用户层不提示错误。查了许久,在一帖子里有回复说定义一个错误码为:#define STATUS_SILENT_RETURN (0x80070000) 即定义错误码为0x80070000。一个magic number。win2k源代码private\ntos\rtl\error.c:ULONGRtlNtStatusToDosEr...

2021-11-14 16:39:05 218

原创 Windows驱动开发学习记录-Windbg打印SSDT脚本

一、脚本 x86环境 aS ufLinkS "<u><col fg=\\\"emphfg\\\"><link name=\\\"%p\\\" cmd=\\\"uf 0x%p\\\">";aS ufLinkE "</link></col></u>"; r $t1 = nt!KeServiceDescriptorTable;r $t2 = poi(@$t1 + 0x8);r $t1 = poi(@$t1); .p.

2021-11-04 14:05:56 199

HookAPILib 0.4.rar

Windows x86 环境下InlineHook字节数计算库,原文地址https://bbs.pediy.com/thread-58101.htm

2021-11-02

Intel开发者手册 [2021年最新打包版]

Intel开发者手册2021年最新版 官网可以免费下载,我这里整合一下 包括卷1到卷4的单本: Intel 64 and IA-32 Architectures Software Developer's Manual Volume 1-Basic Architecture.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2A-Instruction Set Reference, A-L.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2B-Instruction Set Reference, M-U.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2C-Instruction Set Reference, V-Z.pdf Intel 64 and IA-32 Architectures Software Developer’s Manual Volume 2D-Instruction Set Reference.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A-System Programming Guide, Part 1.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3B-System Programming Guide, Part 2.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3C-System Programming Guide, Part 3.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3D-System Programming Guide, Part 4.pdf Intel 64 and IA-32 Architectures Software Developer's Manual Volume 4 Model-Specific Registers.pdf 卷2合集: Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 2A, 2B, 2C, and 2D Instruction Set Reference, A-Z.pdf 卷3合集: Intel 64 and IA-32 Architectures Software Developer's Manual Combined Volumes 3A, 3B, 3C, and 3D System Programming Guide.pdf 卷1-4合集 : Intel 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D, and 4.pdf

2021-09-06

AMD开发者手册[2020年最新打包版]

AMD开发者手册2020年最新版 官网可以免费下载,我这里只是打包在一起 包换1-5单卷 AMD64 Architecture Programmer’s Manual Volume 1(Application Programming).pdf AMD64 Architecture Programmer’s Manual Volume 2(System Programming).pdf AMD64 Architecture Programmer’s Manual Volume 3(General Purpose and System Instructions).pdf AMD64 Architecture Programmer’s Manual Volume 4(128-bit and 256 bit media instructions).pdf AMD64 Architecture Programmer’s Manual Volume 5(64-Bit Media and x87 Floating-Point Instructions).pdf 以及合集 AMD64 Architecture Programmer’s Manual Volumes 1-5.pdf

2021-09-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除