驱动防杀防删代码编程

不需提权进程!全网首创!加强版C++ Guest权限下进程加强版!全网首创!C++ 老版本请先参考我的上一篇blog(就是老版本),友链https://blog.csdn.net/Hnnnbhnnnb/article/details/99237053 好了步入正题,既然说好的是不需要提权,那么我们就来换一种思路。原理就是利用了结束进程这个操作获取进程句柄到死进程之间的这个时差,没错和老版本的基本原理是一样的,但是这次的加强版可以... 阅读详情
 

#include <ntddk.h>
#include <stdio.h>

typedef struct _SRVTABLE {
PVOID *ServiceTable;
ULONG LowCall; 
ULONG HiCall;
PVOID *ArgTable;
} SRVTABLE, *PSRVTABLE;

extern PSRVTABLE KeServiceDescriptorTable;

//调用原函数
#define SYSCALL(_function) ServiceTable->ServiceTable[*(PULONG)((PUCHAR)_function+1)] 

PSRVTABLE ServiceTable;

NTSTATUS
(*RealZwSetInformationFile)(IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PVOID FileInformation,
IN ULONG Length,
IN FILE_INFORMATION_CLASS FileInformationClass); //原函数

NTSTATUS HookZwSetInformationFile(IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PVOID FileInformation,
IN ULONG Length,
IN FILE_INFORMATION_CLASS FileInformationClass); //自己的函数


VOID HookAPI();
VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject);
VOID UnHook();
VOID UnhookSystemCall();

NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath)
{

DriverObject->DriverUnload = DriverUnload;
ServiceTable = KeServiceDescriptorTable;
HookAPI();
return STATUS_SUCCESS;
}

VOID HookAPI()
{
RealZwSetInformationFile = SYSCALL(ZwSetInformationFile);
__asm
{
cli
mov eax,cr0
and eax,not 10000h
mov cr0,eax
}
SYSCALL(ZwSetInformationFile) = (PVOID)HookZwSetInformationFile;
__asm
{
mov eax,cr0
or eax,10000h
mov cr0,eax
sti
}
return;
}


NTSTATUS HookZwSetInformationFile(IN HANDLE FileHandle,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PVOID FileInformation,
IN ULONG Length,
IN FILE_INFORMATION_CLASS FileInformationClass)
{
PFILE_OBJECT pFileObject;
NTSTATUS nRet= ObReferenceObjectByHandle(FileHandle, GENERIC_READ, 
*IoFileObjectType, KernelMode, (PVOID*)&pFileObject, 0);

if(NT_SUCCESS(nRet))
{
UNICODE_STRING uDosName;
nRet = IoVolumeDeviceToDosName(pFileObject->DeviceObject, &uDosName);
if (NT_SUCCESS(nRet))
{
if (!_wcsicmp(pFileObject->FileName.Buffer, L"//工作//HOOK//objchk_wxp_x86//i386//test.txt") &&
!_wcsicmp(uDosName.Buffer, L"D:"))
{
ExFreePool(uDosName.Buffer);
return STATUS_ACCESS_DENIED;
}
ExFreePool(uDosName.Buffer);
}
}
return RealZwSetInformationFile(FileHandle, IoStatusBlock, FileInformation, 
Length, FileInformationClass);
}

VOID DriverUnload(IN PDRIVER_OBJECT pDriverObject)
{
UnHook();
}

VOID UnHook()
{
__asm
{
cli
mov eax,cr0
and eax,not 10000h
mov cr0,eax
}
UnhookSystemCall();
__asm
{
mov eax,cr0
or eax,10000h
mov cr0,eax
sti
}
}

VOID UnhookSystemCall()
{
SYSCALL(ZwSetInformationFile) = (PVOID)RealZwSetInformationFile;

return;
}

Ring3级别进程技术实战指南 Ring3级别进程是指在用户模式下采取的一系列技术手段来止恶意进程被操作系统终止或被安全软件检测和处理的策略。这些技术通常用于合法的软件,比如游戏或者特定的业务应用,以避免被错误地识别为恶意软件。但是,这类技术也可能被恶意软件利用,以规避被查。系统调用是操作系统提供给应用程序使用的接口集合。这些接口是由操作系统内核实现的,能够响应用户程序的请求并完成特定的操作。系统调用的使用通常是通过触发一个软件异常来实现的,该异常会被操作系统捕获并执行相应的服务程序。 阅读详情

相关推荐

掌握隐藏进程技术:深入进程保护与软技巧

htmltable {th, td {th {pre {简介:该简介介绍了进程隐藏技术及其在计算机安全领域中的应用,重点涉及了进程隐藏方法、技术、驱动级加载与保护。这些技术通常用于止安全软件检测和清除特定程序,但也可能被恶意软件利用。文章也提到了使用这些技术的风险,并强调了日常安全护的重要性。

weixin_34163588的博客 1006

win10系统64位驱动止进程关闭资源

win10系统64位驱动止进程关闭资源,资源注释详细,适用于研究SSDT,SHADOW SSDT的同学参考

驱动级的强文件工具失效代码 - 黑白网络

驱动级的强文件工具失效代码 - 黑白网络

文件删除

文件删除一般有两类方法 第一类方法比较简单,通过隐藏、设置权限等等系统提供的方式进行,这类方式有些时候不一定减小。   第二类方法就是修改文件系统驱动程序,采用hook的方式,只要hook主进程不死就可生效(进程保护是另一个话题)。 对SSDT使用hook,监控内核文件函数调用即可。 就是hook NtCreateFile,NtReadFile,NtWriteFile,NtQuer

sondx的专栏 2436

共享我写的:本地目录的只读控制(禁止写、删除、新建)

共享我写的:本地目录的只读控制(禁止写、删除、新建))2005.4.26 几句废话: 这是我在驱网发的第二篇文章,第一篇是关于利用过滤驱动将U盘设置为只读的。 这篇是利用文件系统过滤驱动将一个目录(本地硬盘)设置为只读,包括禁止修改 文件禁止删除文件禁止新建文件等。 我最终的目的是想实现 利用文件过滤驱动 将任意盘(包括移动,A等)设置为只读。因此我的路还很长,还需要各位的帮助。 正文: 0

不论你在什么时候开始,重要的是开始之后就不要停止。 2862

计算机系统如何禁止文件删除功能,Win7如何禁止在C盘上安装软件?|win7系统c盘哪些文件是可以删除的...

Win7如何禁止在C盘上安装软件?Win7如何禁止在C盘上安装软件?大家都知道系统C盘是不能装太多东西的,如果C盘爆满,系统的运行速度就会非常慢。然而我们在Win7系统下安装软件时,系统默认的安装目录都是C盘,如果忘记选择,就直接下载安装到C盘了。面对这种问题,最好的办法就是设置禁止在C盘上安装软件,那么该如何操作呢?请看下文。一、限制驱动器的使用如果我们不想让别人使用我们的驱动器,来查看我们比较...

weixin_39766910的博客 1219

内核级驱动对抗Hook ZwSetInformationFile删除技术

网络安全中的文件删除与保护一直都是大家谈论的焦点问题,针对如何保护磁盘上属于自己的专有文件,已经存在一些现成技术,比如信息隐藏技术。笔者详细的谈论过有关基于有序规则的信息隐藏与加密技术,利用一些常见图片、视频等作为载体将文件嵌入其中,达到掩人耳目的目的。这种方式如果在图像的鲁棒性、文件规则的健壮性、加密算法的有效性上能够很好的满足,是可以很好的实现文件的保护的。下面论述的是文件在没有隐藏的情况下,

Floating Guy 2913

三两行代码实现进程,免驱动,IceSword,WSysCheck等无效.

其实这个已经是一个很老的技巧了,今天挖出来写到blog上。windows在强制结束进程的时候会先结束掉所有的线程,而结束线程调用的是:PspTerminateThreadByPointer,这个函数很有意思。看看就知道了。 它判断ETHREAD里面的CrossThreadFlags;的值,如果这个值等于PS_CROSS_THREAD_FLAGS_SYSTEM ,即是一个系统线程,那么直接返回拒

KeSummer的专栏 1万+

进程技术资源包介绍:六种方案,守护软件安全

进程技术资源包介绍:六种方案,守护软件安全 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 进程技术资源包是一个开源项目,为开发者和研究人员提供了一套全面的进程解决方案。它涵盖了六种不同的方案及源码,旨在增强软件服务程序的安全性。无论是希望提高软件护能力,还是对进程技术感兴趣,这个资源包都能提供丰富的实践材料和理论知识。 项目技术分析 进程...

gitblog_06704的博客 802

驱动代码---源码学习

驱动代码 驱动代码 驱动代码

挂钩KiFastCallEntry实现驱动级进程保护

采用挂钩KiFastCallEntry函数来保护进程,使运行进程不会被恶意软件非正常终止,代码包含VC,vb调用实例.

加载驱动进程的软件源码

加载驱动进程本人精心收集的VB源码,绝对实用

进程程序(小心使用)

进程程序(小心使用)驱动级别的进程,大家下载

进程技术资源包介绍

进程技术资源包介绍 去发现同类优质开源项目:https://gitcode.com/ 此资源包提供了六种不同的进程方案及相应的源码,适用于希望增强软件服务程序安全性的开发者和研究人员。以下是各个方案的具体介绍: ring3提升线程为系统线程:通过将程序线程提升为系统线程以止进程被强制结束。此方法简单易行,但在Windows XP以下的系统中有效,且能力有限。 hookApi之...

gitblog_06760的博客 798

首创!用户级权限进程 C++

用户级权限实现简单 用户级权限实现简单 无意中翻出小学时候写的程序,拿出来分享下。这个程序运行不需要任何权限,应该是为数不多的能抗住PChunter强制结束的用户级程序(除了双进程)。程序只有一个主程序,主程序通常情况下不掉,被保护的程序只要不在运行则创建一个进程。写的比较仓促还有很多不足,分享一下思路而已,利用获取进程句柄和结束进程之间的时差“更换”自己的pid和句柄来让对方只能找到上...

Hnnnbhnnnb的博客 1499

进程驱动删除

//1.文件删除 ================ +隐藏。///3.注册表删除、隐藏。///2.进程、隐藏。

lydstory123的专栏 160

6种进程方案和源码

6种进程方案和源码,windows操作系统,vc++2005源码,hookApi,钩子,驱动hook

woshiyipihaoma的专栏 6811

【原创】从内核层保护文件不被删除

标 题: 【原创】从内核层保护文件不被删除 作 者: 老Y 时 间: 2007-05-27,17:20:00 链 接: http://bbs.pediy.com/showthread.php?t=45346 前几天发了一篇删除正在运行的程序文件代码片,其实都平常写demo留下的东西,如果大家有兴趣,我会找时间慢慢整理一些出来和大家分享。同样是块demo代码,前面有兄弟问为什么不整完整

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 2529
上一篇: 外国的注入技巧收集
下一篇: 新的VBS下载者代码
hackiis
博客等级 码龄18年 34粉丝 40原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值