刘收获

导航

上一页 1 ··· 7 8 9 10 11 12 13 14 下一页

2017年8月14日 #

驱动程序多线程 PsCreateSystemThread

摘要: 内核函数PsCreateSystemThread负责创建新线程。该函数可以创建两种线程,一种是用户线程,它属于当前进程中的线程。另一种是系统线程,系统线程不属于当前用户进程,而是属于系统进程,一般PID为4,名字为“System”的进程。 在内核模式下创建的线程是无法自动退出的,必须使用PsTerm 阅读全文

posted @ 2017-08-14 14:02 沉疴 阅读(7713) 评论(2) 推荐(2) 编辑

2017年8月13日 #

应用程序与驱动程序通信 DeviceIoControl

摘要: 之前写过一篇关于通过DeviceIoControl函数来使应用程序与驱动程序通信的博客,这次再通过这个完整的代码来简要疏通总结一下。 这种通信方式,就是驱动程序和应用程序自定义一种IO控制码,然后调用DeviceIoControl函数,IO管理器会产生一个MajorFunction 为IRP_MJ_ 阅读全文

posted @ 2017-08-13 20:03 沉疴 阅读(21186) 评论(0) 推荐(4) 编辑

2017年8月12日 #

伪句柄转换为真正的句柄

摘要: HANDLE GetCurrentProcess(); 返回值 0XFFFFFFFF -1 HANDLE GetCurrentThread(); 返回值 0XFFFFFFFE -2 这两个函数都返回到主调线程的进程或线程内核对象的一个伪句柄(pseudohandle )。GetCurrentProc 阅读全文

posted @ 2017-08-12 15:44 沉疴 阅读(2282) 评论(0) 推荐(0) 编辑

线程局部存储TLS

摘要: 1 .使用线程局部存储的理由 当我们希望这个进程的全局变量变为线程私有时,而不是所有线程共享的,也就是每个线程拥有一份副本时,这时候就可以用到线程局部存储(TLS,Thread Local Storage)这个机制了。 2.动态TLS(1)调用TlsAlloc函数 两种方式: 1>全局调用一次: g 阅读全文

posted @ 2017-08-12 00:09 沉疴 阅读(700) 评论(0) 推荐(0) 编辑

2017年8月9日 #

作业通知

摘要: 一.作业(job)内核对象概念 1.为什么要有作业job 便于管理进程:进程的父子关系只存在于创建的子进程的那一刻,Windows并不一直维护着这种父子关系,这使得管理进程并不是件容易的事。 2.作业的功能 作业对象是用于将一组进程作为一个管理单元的内核对象,本质上可以理解为其实就是进程池对象,可将 阅读全文

posted @ 2017-08-09 14:34 沉疴 阅读(788) 评论(0) 推荐(0) 编辑

2017年8月6日 #

扫描系统句柄表(WIN7 x86)(附录源码)

摘要: PspCidTable存放着系统中所有的进程和线程对象,其索引也就是进程ID(PID)或线程ID(TID).先通过它来看看windbg里的HANDLE_TABLE结构: 可以看到地址 0x83f41bc4中存放的内容是 0x 8da010a8,这是系统的_HANDLE_TABLE的结构。 好了,现在 阅读全文

posted @ 2017-08-06 23:13 沉疴 阅读(1858) 评论(0) 推荐(0) 编辑

2017年5月25日 #

windows内存体系结构 内存查询,读,写(附录源码)

摘要: “进程内存管理器”这个程序实现的最基本功能也就是对内存的读写,之前的两篇文章也就是做的一个铺垫,介绍了内核模式切换和IoDeviceControl函数进行的应用程序与驱动程序通信的问题。接下来就进入正题了,对于内存查询,读写问题。 先来总结一下windows内存体系结构,这部分的学习主要是参照《wi 阅读全文

posted @ 2017-05-25 21:32 沉疴 阅读(3399) 评论(0) 推荐(0) 编辑

2017年5月22日 #

CreateFile DeviceIoControl dwIoControlCode——应用程序与驱动程序通信

摘要: 在“进程内存管理器中”的一个Ring0,Ring3层通信问题,之前也见过这样的代码,这次拆分出来详细总结一下。 先通过CreateFile函数得到设备句柄,CreateFile函数原型: 打开:createFile 关闭:closehandle 与普通文件名有所不同,设备驱动的“文件名”(常称为“设 阅读全文

posted @ 2017-05-22 18:36 沉疴 阅读(4038) 评论(0) 推荐(0) 编辑

2017年5月21日 #

调用Nt函数内核模式切换问题

摘要: 很久不写博客了,笔记大多记在电脑上在,以后整理好了再搬运上来吧。 今天记一下“进程内存管理器”这个小程序上遇到的一个问题——内核模式调用Nt*函数。 使用的是内核中的NtQueryVirtualMemory函数,先看一下WinDbg: kd> u NtQueryVirtualMemory ntdll 阅读全文

posted @ 2017-05-21 15:26 沉疴 阅读(1860) 评论(0) 推荐(0) 编辑

2017年1月18日 #

通过注册表获取计算机相关信息

摘要: RegOpenKey() capGetDriverDescription()// Test.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include <iostream>#include <windows.h>#include <Vfw.h> #pragm 阅读全文

posted @ 2017-01-18 00:27 沉疴 阅读(186) 评论(0) 推荐(0) 编辑

上一页 1 ··· 7 8 9 10 11 12 13 14 下一页