释放驱动HOOK了SSDT表中的NtOpenProcess,但是对参数过滤不严密,只过滤 PROCESS_TERMINATE, PROCESS_WRITE, XXXX(忘记了),,三种.然后比较的PID是放在全局变量中,可以通过发送 DeviceIoControl 改变这个值~ 所以我们还是可以以其 ...
分类:
系统相关 时间:
2020-02-27 13:09:15
阅读次数:
78
释放驱动HOOK了SSDT表中的NtOpenProcess,但是对参数过滤不严密,只过滤 PROCESS_TERMINATE, PROCESS_WRITE, XXXX(忘记了),,三种.然后比较的PID是放在全局变量中,可以通过发送 DeviceIoControl 改变这个值~ 所以我们还是可以以其 ...
分类:
系统相关 时间:
2020-02-23 22:16:16
阅读次数:
111
一 起因: 因为近期需要写一个获取磁盘SMART数值的Windows 工具,研究了下相关文档,发现后续执行的所有DeviceIocontrol函数,都要先获取设备的物理编号,physicalX。记录下我查到的方法。 执行环境VS2019。 二 过程: 1. SetupDiGetClassDevs ( ...
分类:
编程语言 时间:
2019-07-26 11:41:12
阅读次数:
234
前言 windows操作系统中常见的一个文件存储系统是NTFS。在这个文件系统中MFT是它的核心。 图一 MFT是一个数据结构,上图是它的结构,它主要用来存放每个文件和目录在磁盘中的索引。MFT由一个个MFT项构成。每个MFT项的大小是1024Bytes。每个MFT项由固定头结构和多个属性构成。属性 ...
分类:
其他好文 时间:
2018-08-19 19:58:39
阅读次数:
190
这两天做毕设,快气死了!想读写磁盘扇区,我就百度了,都是这样写的: 别人都用createfile函数打开设备,获得磁盘返回的句柄之后,将句柄作为deviceIOcontrol函数的参数传递给磁盘扇区吧,我就不行,死活不行,win7下也不行。只要我用GENERIC_READ 或者是 GENERIC_W ...
转载:http://raylinn.iteye.com/blog/570274 BOOL Result; // used to read bad DeviceIoControl calls DWORD szReturned; unsigned int SectorSize = 512; LARGE_ ...
分类:
其他好文 时间:
2018-04-17 15:11:36
阅读次数:
427
本代码仅仅是通过DeviceIoControl 发送指令能获得Identity Data。 当中,获取型号等部分内容没有根据。仅仅是根据dump 的内容来确定大概位置。若有人有根据的还请帮忙留言。谢啦。 获取光驱序列号、分位、型号代码 头文件例如以下(有些部分没实用到): #include <std ...
分类:
其他好文 时间:
2017-06-16 13:27:29
阅读次数:
267
在“进程内存管理器中”的一个Ring0,Ring3层通信问题,之前也见过这样的代码,这次拆分出来详细总结一下。 先通过CreateFile函数得到设备句柄,CreateFile函数原型: 打开:createFile 关闭:closehandle 与普通文件名有所不同,设备驱动的“文件名”(常称为“设 ...
分类:
其他好文 时间:
2017-05-22 19:03:04
阅读次数:
185
应用程序对设备的同步异步操作: 大部分IRP都是由应用程序的Win32 API函数发起的。这些Win32 API本身就支持同步和异步操作。例如,ReadFile、WriteFile和DeviceIoControl等,它们都有异步和同步两种操作方式。DeviceIoControl的同步操作如图所示: ...
学习中少不了记忆,对于快速学习都来说更是重要,如下面这个函数5秒之内轻松记住: hdevice controlcode buffer buffersize buffersize outbuffer outbuffersize poverlapped 3秒种记住,不过是临时记忆,那么如何快速内化呢? ...
分类:
其他好文 时间:
2016-05-07 12:51:40
阅读次数:
124