windows10驱动 --- x64线程隐藏(一)

windows10 x64线程隐藏

提示:最近在研究Windows驱动


前言

发展到windows10 之后,驱动层已经不像之前那样可以hook来hook去了,有了pg保护和页隔离机制

一、环境

1:windows10 19044.2130 属于最新版
2:vs2019
3: vm15.1虚拟机

二、代码数据

代码如下(示例):

UNREFERENCED_PARAMETER(pDriverObject);
//#include <ntddk.h>
#include "ntifs.h"
#include<wdm.h>
//+ 0x220 Process          : 0xffffbf0f`64bde340 _KPROCESS
//PROCESS ffffbf0f64bde340
//srv*C:\Symbols;F:\xiangmu\MyDriver2\x64\Debug
UCHAR* PsGetProcessImageFileName(PEPROCESS Process);

VOID HideThread(PUCHAR szProcessName)
{
	BOOLEAN bFlag = FALSE;
	NTSTATUS ntstatus = 0;
	PEPROCESS pEprocess = NULL;

	//1.定位进程内核结构
	for (size_t i = 4; i < 0x100000; i += 4)
	{
		ntstatus = PsLookupProcessByProcessId((HANDLE)i, &pEprocess);
		
		if (NT_SUCCESS(ntstatus))
		{
			//释放内核对应引用计次
			ObDereferenceObject(pEprocess);
			//+0x5a8 ImageFileName    : [15] UChar
			
			//获取进程名
			szProcessName = PsGetProcessImageFileName(pEprocess);
	
			//DbgPrint("%s\n", szProcessName);
			if (strcmp("Project3.exe", szProcessName) == 0)
			{
				DbgPrint("pEprocess1 value = %p\n", pEprocess);
				bFlag = TRUE;
				break;
			}
		}
	}

	if (!bFlag)
	{
		return;
	}

	DbgPrint("Project3.exe \r\n");
	//2.隐藏线程头部
	RemoveEntryList((PLIST_ENTRY)(*(PULONGLONG)((char*)pEprocess + 0x030)));	//KTHREAD -> ThreadListEntry
	RemoveEntryList((PLIST_ENTRY)(*(PULONGLONG)((char*)pEprocess + 0x5e0)));   //ETHREAD -> ThreadListEntry

}


NTSTATUS DriverUnload(PDRIVER_OBJECT DriverObject)
{
	DbgPrint("Driver Exit \r\n");
	return STATUS_SUCCESS;

}
NTSTATUS DriverEntry(PDRIVER_OBJECT DriverObject, PUNICODE_STRING Regedit)
{
	DbgPrint("Driver Load \r\n");
	

	HideThread("Project3.exe");
	DriverObject->DriverUnload = DriverUnload;
	return STATUS_SUCCESS;
}

下次更新指定隐藏线程id,有问题可私聊我。


总结

`提示:虚拟机需要关闭禁止驱动签名
具体步骤:菜单栏—》设置—》更新和安全—》恢复—》高级启动(立即重新启动)
启动后按疑难选项----》按F7禁止驱动签名

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: openlogic-openjdk-8u292-b10-windows-x64是一个基于开源技术的Java平台,它是OpenLogic公司为Windows操作系统开发的一款Java开发工具,它主要适用于64位的Windows系统。该平台集成了包括Java开发工具、类库、以及运行环境等在内的一系列开发应用工具。 OpenLogic-OpenJDK-8u292-b10-windows-x64具有高效性、灵活性和稳定性,它可以支持多种应用程序的开发和运行,广泛应用在企业级应用、Web应用、嵌入式设备、移动设备等领域。在Java编程语言上,openlogic-openjdk-8u292-b10-windows-x64提供了一系列即时编译(JIT)、垃圾回收(GB)、Java线程、Java类库和运行环境等的优化技术,可以让Java程序在Windows系统上更加高效地运行和开发。 Openlogic-openjdk-8u292-b10-windows-x64还支持多语言开发,不仅可以用于Java语言的开发,还可以用于开发其他语言的编程环境。同时,该平台还支持多种数据库连接池、网络协议栈等开发应用程序的关键技术,可以更好地满足不同开发者及应用场景的需求,扩展Java应用程序的开发和运行能力。 总之,openlogic-openjdk-8u292-b10-windows-x64是一款高度适应性、效率高、可靠性强的开源Java平台,它可以帮助开发者们快速开发和部署Java应用程序,提升应用程序的开发效率和运行性能,是Java开发者们不可缺少的开发利器。 ### 回答2: OpenLogic-OpenJDK-8u292-b10-Windows-x64是一个供Windows 64位操作系统使用的免费Java开发环境,它基于OpenLogic社区推出的OpenJDK项目。它包含了Java开发所必需的工具,如Java编译器、Java执行环境、Java虚拟机等,并且具有很高的可移植性。 OpenLogic-OpenJDK-8u292-b10-Windows-x64采用GPLv2开源协议,因此任何人都可以免费使用、复制、修改和分发它。Java开发人员可以利用它所提供的强大功能,来编写跨平台的应用程序、applet、游戏或者Web应用程序,从而实现Java代码的多平台运行。同时,它还支持JRE(Java运行时环境),允许用户在没有JDK的情况下直接运行Java程序。 OpenLogic-OpenJDK-8u292-b10-Windows-x64是一种十分流行的Java开发环境,它提供了稳定、高效的Java运行时环境和优质的开发工具,让Java开发人员可以更加轻松愉快地进行软件开发工作。总之,如果您是一名Java开发者,那么OpenLogic-OpenJDK-8u292-b10-Windows-x64将会是您的一款不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值