驱动开发:断链隐藏驱动程序自身
与断链隐藏进程功能类似,关于断链进程隐藏可参考《驱动开发:DKOM 实现进程隐藏》
这一篇文章,断链隐藏驱动自身则用于隐藏自身SYS驱动文件,当驱动加载后那么使用ARK工具扫描将看不到自身驱动模块,此方法可能会触发PG会蓝屏,在某些驱动辅助中也会使用这种方法隐藏自己。
驱动实现代码如下所示:
#include <ntifs.h>HANDLE hThread;VOID ThreadRun(PVOID StartContext)
{LARGE_INTEGER times;PDRIVER_OBJECT pDriverObject;// 等待3秒 单位是纳秒times.QuadPart = -30 * 1000 * 1000;KeDelayExecutionThread(KernelMode, FALSE, ×);pDriverObject = (PDRIVER_OBJECT)StartContext;// 修改模块信息pDriverObject->DriverSize = 0;pDriverObject->DriverSection = NULL;pDriverObject->DriverExtension = NULL;pDriverObject->DriverStart = NULL;pDriverObject->DriverInit = NULL;pDriverObject->FastIoDispatch = NULL;pDriverObject->DriverStartIo = NULL;ZwClose(hThread);
}VOID UnDriver(PDRIVER_OBJECT driver)
{DbgPrint(("Uninstall Driver Is OK \n"));
}NTSTATUS DriverEntry(IN PDRIVER_OBJECT Driver, PUNICODE_STRING RegistryPath)
{DbgPrint(("hello lyshark \n"));PLIST_ENTRY pModuleList;pModuleList = Driver->DriverSection;// 前一个模块的Flink=本模块的FlinkpModuleList->Blink->Flink = pModuleList->Flink;// 前一个模块的Blink=本模块的BlinkpModuleList->Flink->Blink = pModuleList->Blink;PsCreateSystemThread(&hThread, GENERIC_ALL, NULL, NULL, NULL, ThreadRun, Driver);Driver->DriverUnload = UnDriver;return STATUS_SUCCESS;
}
输出效果如下,驱动每隔3秒执行一次模块修改:
驱动开发:断链隐藏驱动程序自身相关推荐
- 4.PEB断链隐藏模块
0x4 PEB断链隐藏模块 1.如何找到_PEB_LDR_DATA 由_TEB找到_PEB,_PEB偏移0xC找到_PEB_LDR_DATA 2.基础知识 _LDR_DATA_TABLE_ENTRY结 ...
- 二、C++反作弊对抗实战 (进阶篇 —— 2.作弊器中常见断链隐藏DLL方法)
目前,比较常见的模块隐藏方法有抹去模块的PE头.断开进程的LDR_MODULE链或者Hook模块枚举函数等,这里介绍前面抹去PE头.断链的方法. 提示:以下是本篇文章正文内容,下面案例可供参考 一.设 ...
- Windows驱动开发之第一个驱动程序
转载请注明来源: enjoy5512的博客 : http://blog.csdn.net/enjoy5512 GitHub : https://github.com/whu-enjoy 为了整理方便, ...
- c语言断链隐藏dll,利用C++ R3层断链实现模块隐藏功能
一.模块隐藏的实现原理 普通API查找模块实现思路:其通过查询在R3中的PEB(Process Environment Block 进程环境块)与TEB(Thread Environment Bloc ...
- Window XP驱动开发(二十一) 过滤驱动程序
转载请标明是引用于 http://blog.csdn.net/chenyujing1234 欢迎大家拍砖 参考书籍<<Windows驱动开发技术详解>> 过滤驱动程序的开发十分 ...
- 嵌入式Linux驱动开发 02:将驱动程序添加到内核中
文章目录 目的 基础说明 添加到内核中 Kconfig Makefile 驱动程序 编译与测试 模块方式 编译到内核中 总结 目的 在上一篇文章 <嵌入式Linux驱动开发 01:基础开发与使用 ...
- windows xp 驱动开发(十八) USB驱动程序开发用到的工具总结
转载请标明是引用于 http://blog.csdn.net/chenyujing1234 欢迎拍砖! 观察USB设备的工具. 通过这些工具可以方便学习USB协议 一. usbview 请参考我的 ...
- ⑧tiny4412 Linux驱动开发之触摸屏(TouchScreen)驱动程序
本节主要是说一下触摸屏驱动的编写. 触摸屏输入输入设备,所以我们本次通过输入子系统的方式来实现,输入子系统的框架图如下: 然后,我们看一线电路图的触摸屏部分: 可以看到触摸屏是通过I2C接口进行数据和 ...
- c语言断链隐藏dll,通过断链隐藏模块(DLL)
主要是通过teb+peb实现模块隐藏 // HideDll.cpp : Defines the entry point for the console application. // #include ...
最新文章
- Android保存图片到数据库,从数据库取图片的方法
- 转牛人博客 稀疏矩阵定义CSR COO CSC 第一个讲的清晰易懂的人
- 嵌入式计算机与pc机架构,PC架构与嵌入式架构的录播主机的区分
- 硬盘、移动硬盘、内存卡(SD卡、TF卡)、U盘修复,格式化
- 先考一键还是先学java_是先考C还是先考JAVA
- CDH集群安装配置(五)- Cloudera Manager Server
- java magic number_避免JDBC查询中的CheckStyle magic number错误
- windows搭建tftp服务器_Ubuntu中搭建TFTP服务器
- 客座编辑:李建平(1976-),男,博士,中国科学院科技战略研究院系统分析与管理所研究员、所长...
- Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理
- 324. Wiggle Sort II
- IPSec L2L ××× 之 Router-to-ASA
- php 微信证书,【微信支付】企业付款开发者文档
- SpringBoot 集成 阿里的 FastJson
- 从0打卡leetcode之day 3 -- 最大子序列和
- 韦东山嵌入式学习心得
- Ae:时间轴面板(图层控制区)
- Java 使用 iText5 API 根据需求导出 PDF
- 模拟电路实验 01 - | 基本共射放大电路
- Android实现有声计算器代码,有声语音计算器效果与代码
热门文章
- 初识Hadoop(会飞的大象)
- 打印1000年到2000年之间的闰年
- 京东云 linux无法远程,问题解读 | Linux系统SSH无法远程登录时该怎么办?这里有篇小攻...
- 计算机网络微课堂 学习笔记
- MYSQL导入数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it
- python画简便的图片-用python简单处理图片(5):图像直方图
- 计划预算(PV)、实际完成工作预算(EV)、实际成本(AC)
- Linux系统的madplay、mplayer音视频播放器的制作
- axure sketch 对比_Sketch to Axure RP插件下载
- 使用JiaoZiVideoPlayer播放视频方向横过来出现的问题