E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
windows内核SSDT
Windows内核
下操作字符串!
*
Windows内核
下操作字符串!
·
2015-10-21 10:25
windows
Python Memory Management
Python的内存管理机制可以从三个方面来讲:引用计数垃圾回收内存池机制引用计数Python采用了类似
Windows内核
对象一样的方式来对内存进行管理。
赌气的对白
·
2015-10-17 11:43
WINPE版本简单说明
Windows预安装环境(WindowsPE)是在
Windows内核
上构建的具有有限服务的最小Win32子系统,它用于为安装Windows而准备计算机,以便从网络文件服务器复制磁盘映像并启动Windows
morehd
·
2015-09-26 17:38
WINPE版本
SSDT
hook实现进程保护
这里我们使用
SSDT
hook实现这个功能。
SSDT
是SystemServicesDescriptorTable的缩写,即系统服务描述符表。
abcdefghig
·
2015-09-24 19:00
inline hook
原理不必讲,下面一张图可以帮助理解这项技术:inlinehook是给代码打补丁,这和hook调用表(IAT/IDT/
SSDT
等)技术有着本质区别。
abcdefghig
·
2015-09-24 19:00
Windows内核
编程之注意事项
我们知道,在C语言中,入口函数是main。其实在main函数之前,系统还调用了其他的函数。而内核中的入口函数是DriverEntry。其原型如下:DRIVER_INITIALIZEDriverEntry; NTSTATUSDriverEntry( _In_struct_DRIVER_OBJECT*DriverObject, _In_PUNICODE_STRINGRegistryPath )
HK_5788
·
2015-09-11 22:00
Windows内核编程常见约束
windows内核
编程基础篇之使用同步事件
内核中的事件是一个数据结构,这个结构的指针可以当作一个参数传入一个等待函数中。若这个事件不被“设置”,则这个等待函数不会返回。这个线程被阻塞,若这个事件被“设置”,则等待结束,可以继续下去。这个常常用于多线程之间的同步,若一个线程需要等待另外一个线程完成某事后才能做某事,则可以使用事件等待,另一个线程完成后设置事件即可。该数据结构是KEVENT,器被KeInitializeEvent函数初始化,K
PandaMohist
·
2015-09-11 21:29
windows驱动开发
windows内核
编程基础篇之使用同步事件
内核中的事件是一个数据结构,这个结构的指针可以当作一个参数传入一个等待函数中。若这个事件不被“设置”,则这个等待函数不会返回。这个线程被阻塞,若这个事件被“设置”,则等待结束,可以继续下去。 这个常常用于多线程之间的同步,若一个线程需要等待另外一个线程完成某事后才能做某事,则可以使用事件等待,另一个线程完成后设置事件即可。 该数据结构是KEVENT,器被 KeInitializ
HK_5788
·
2015-09-11 21:00
使用同步事件
Windows内核编程基础篇
Windows内核
编程基础篇之在线程中睡眠
我们在C语言中包含头文件:Windows.h。就能调用函数sleep()是程序停下一段时间。在驱动中也可以睡眠,用到的函数原型如下:NTSTATUSKeDelayExecutionThread(_In_KPROCESSOR_MODEWaitMode,_In_BOOLEANAlertable,_In_PLARGE_INTEGERInterval);传入参数说明:WaitMode直接填写KernelM
PandaMohist
·
2015-09-04 13:21
windows驱动开发
Windows内核
编程基础篇之在线程中睡眠
我们在C语言中包含头文件:Windows.h。就能调用函数sleep()是程序停下一段时间。在驱动中也可以睡眠,用到的函数原型如下:NTSTATUSKeDelayExecutionThread( _In_KPROCESSOR_MODEWaitMode, _In_BOOLEANAlertable, _In_PLARGE_INTEGERInterval ); 传入参数说明:WaitMod
HK_5788
·
2015-09-04 13:00
Windows内核编程
在线程中睡眠
Windows内核
编程基础篇之系统线程
在驱动中停止等待很容易是哼歌系统陷入"停顿",最后只能重启电脑,但是一个单独的线程长期等待,还不至于对系统造成致命的影响。有些任务是希望长期不断的执行,比如不断的写入日志,为此,启动一个特殊的线程来执行他们是最好的办法, 驱动中生成的线程一般是系统线程。系统线程所在的进程名:“System”,用到的内核API函数原型如下:NTSTATUSPsCreateSystemThread( _Out
HK_5788
·
2015-09-04 13:00
Windows内核编程基础篇
系统线程
Windows内核
编程基础篇之定时器
驱动开发中,与SetTimer()对应的函数是KeSetTimer():BOOLEANKeSetTimer(_Inout_PKTIMERTimer,///---定时器_In_LARGE_INTEGERDueTime,///---延后执行的时间_In_opt_PKDPCDpc///---要执行的回调函数结构);定时器Timer和要执行的回调函数结构Dpc都必须先初始化,Timer的初始化比如向下面这
PandaMohist
·
2015-09-03 21:17
windows驱动开发
Windows内核
编程基础篇之定时器
驱动开发中,与SetTimer()对应的函数是KeSetTimer():BOOLEANKeSetTimer( _Inout_PKTIMERTimer,///---定时器 _In_LARGE_INTEGERDueTime,///---延后执行的时间 _In_opt_PKDPCDpc///---要执行的回调函数结构 ); 定时器Timer和要执行的回调函数结构Dpc都必须先初始化,Timer的初
HK_5788
·
2015-09-03 21:00
window内核编程
使用定时器
Windows内核
编程基础篇之获取当前系统时间
我们通常对时间的理解包括了,年,月,日,时,分,秒 这些元素。当然,我们在做驱动开发,不能使用类似CTime之类的函数。我们要是用与之对应的TIME_FIELDS,这个结构体中含有对应的时间要素。 给自己科普下,看看这个结构体:ypedefstruct_TIME_FIELDS { SHORTYear; SHORTMonth; SHORTDay; SHORTHour; SHORTMinute
HK_5788
·
2015-09-03 17:00
获取当前时间
Windows内核编程
Windows内核
编程基础篇之获得当前滴答数
获得系统日期和时间往往是为了写日志,获得启动毫秒数则很适合用来做一个随机数的种子。有时也是用时间相关函数来寻找程序的性能瓶颈。比如API函数GetTickcountry(),这个函数返回系统自启动之后经历的毫秒数。在驱动开发中有一个对一个的函数KeQueryTickCount(),原型如下:VOIDKeQueryTickCount(_Out_PLARGE_INTEGERTickCount);调用该
PandaMohist
·
2015-09-03 16:50
windows驱动开发
Windows内核
编程基础篇之获得当前滴答数
获得系统日期和时间往往是为了写日志,获得启动毫秒数则很适合用来做一个随机数的种子。有时也是用时间相关函数来寻找程序的性能瓶颈。 比如API函数GetTickcountry(),这个函数返回系统自启动之后经历的毫秒数。在驱动开发中有一个对一个的函数KeQueryTickCount(),原型如下:VOIDKeQueryTickCount( _Out_PLARGE_INTEGERTickCount
HK_5788
·
2015-09-03 16:00
获取当前滴答数
Windows内核编程
Windows内核
编程基础篇之文件读/写操作
打开文件后,最重要是的操作在是对文件的读/写。读写的方法是对称的知识参数输入与输出方向不同。读取文件内容一般用ZwReadFile,写文件一般用ZwWriteFile。 先看看ZwReadFile结构吧:NTSTATUSZwReadFile( _In_HANDLEFileHandle, _In_opt_HANDLEEvent, _In_opt_PIO_APC_ROUTINEApcRou
HK_5788
·
2015-09-02 13:00
文件读写操作
Windows内核编程
Windows的同步I/O和异步I/O
2.Win32ReadFile函数生成一个I/O请求包(IRP),并传递给
Windows内核
。3.
Windows内核
将IRP传送给I/O硬件设备驱动程序的IRP队列。4.硬件设备执行I/O操作。在此
heoo442
·
2015-09-02 00:51
异步服务
Windows内核
编程基础篇之文件操作(二)
打开和关闭文件下面的函数用于打开一个文件。函数原型:NTSTATUSZwCreateFile(_Out_PHANDLEFileHandle,_In_ACCESS_MASKDesiredAccess,_In_POBJECT_ATTRIBUTESObjectAttributes,_Out_PIO_STATUS_BLOCKIoStatusBlock,_In_opt_PLARGE_INTEGERAlloc
PandaMohist
·
2015-09-01 22:02
Windows内核
编程基础篇之文件操作(二)
打开和关闭文件 下面的函数用于打开一个文件。 函数原型:NTSTATUSZwCreateFile( _Out_PHANDLEFileHandle, _In_ACCESS_MASKDesiredAccess, _In_POBJECT_ATTRIBUTESObjectAttributes, _Out_PIO_STATUS_BLOCKIoStatusBlock, _I
HK_5788
·
2015-09-01 22:00
Windows内核编程
文件打开与关闭
Windows内核
编程基础篇之文件操作(一)
使用OBJECT_ATTRIBUTES 通常来讲,打开文件应该传入文件的路径。但是内核并不接受这一字符串,使用者必须填写一个OBJECT_ATTRIBUTES结构。这个结构是非透明的。但是这个结构体被函数InitializeObjectAttributes初始化。 下面是对InitializeObjectAttributes说明。函数原型:VOIDI
HK_5788
·
2015-09-01 21:00
文件操作
Windows内核编程
C#中序列化实现深拷贝,实现DataGridView初始化刷新
大致代码如下:1.目标对需要序列化,并实现ICloneable接口:[Serializable] publiccla
ssDt
oColumn:ICloneable2.实现接口方法
Joyhen
·
2015-09-01 09:00
深拷贝
datagridview
Windbg+Vmware驱动调试
Windbg+Vmware驱动调试1.编译好你的驱动,假设名为Show
SSDT
.sys,并把驱动符号文件Show
SSDT
.pdb发送到MySysSymbols文件夹下(之前设定的自己的调试符号文件夹)
jiumingmao11982
·
2015-08-31 09:00
Windows内核
编程基础篇之常见内核数据结构
1,驱动框架常见数据结构有驱动对象结构, 设备对象结构等。 A)驱动对象结构 (DRIVER_OBJECT) 每个驱动对象代表一个已加载的内核驱动程序,指向驱动对象结构的指针常常作为DriverEntry,AddDevice,Unload等函数的参数。驱动对象结构式半透明的。其中公开的域包括DeviceObject,DriverExtension,HardwareDatabas
HK_5788
·
2015-08-28 23:00
Windows内核编程
常见数据结构
Windows内核
编程基础篇之使用自旋锁
链表之类的结构总是涉及多线程,这时候就要用到使用锁。当然在处理临界区的时候,这个是必须要考虑的呀。在驱动开发的代码中,大多是在于多线程执行环境的。下面将介绍使用简单的自旋锁。如下的代码将初始化一个自旋锁:KSPIN_my_Spin_Lock;KeInitializeSpinLock(&my_Spin_Lock);KeInitializeSpinLock函数没有返回值。在KeAccquireSpin
PandaMohist
·
2015-08-27 23:33
windows驱动开发
Windows内核
编程基础篇之使用自旋锁
链表之类的结构总是涉及多线程,这时候就要用到使用锁。 当然在处理临界区的时候,这个是必须要考虑的呀。 在驱动开发的代码中,大多是在于多线程执行环境的。 下面将介绍使用简单的自旋锁。 如下的代码将初始化一个自旋锁:KSPIN_my_Spin_Lock; KeInitializeSpinLock(&my_Spin_Lock); KeInitializeSpinLock函数没有返回值。在
HK_5788
·
2015-08-27 23:00
Windows内核编程
使用自旋锁
Windows内核
编程基础之使用长长整型数据
文件中的偏移量是一种常见的要使用64位数据的情况。同时,文件也是如此。32位数据无符号整型只能表示到4GB。在VC中,64位数据的类型为_int64。定义了如下写法:__int64file_offset;但是,实际上这个__int64在驱动开发中很少被使用,基本上被使用到的是一个共用体:LARGE_INTEGER。宏定义如下:C++语法:typedefunion_LARGE_INTEGER{
HK_5788
·
2015-08-27 19:00
Windows内核编程
长长整型数据
Windows内核
编程基础之使用LIST_ENTRY
Windows内核
中使用LIST_ENTRY作为i链表,这个结构随处可见。 看看下面的代码,构建了一个链表,每个节点是又一个文件名和一个文件大小两个数据成员组成的结构。
HK_5788
·
2015-08-27 18:00
使用LIST_ENTRY
Windows内核编程
Windows内核
编程基础之内存的分配与释放
内存泄漏是C语言中一个臭名昭著的问题。但是作为内核开发者,读者将有必要自己来面对它。在传统的C语言中,分配内存常常使用的函数是:malloc,这个函数的使用非常简单,传入长度参数就得到内存空间。在驱动中使用内存分配,这个函数不再有效。驱动中分配内存,最常用的是调用ExAllocatePoolWithTag,其他的方法在本章范围内全部忽略。回忆前一节关于字符串处理的情况。一个字符串被复制到另
HK_5788
·
2015-08-26 15:00
内存的分配与释放
Windows内核编程
Windows内核
编程基础篇之字符串的打印
字符串的连接的另一种常见的情况是字符串和数字的组合。有时数字需要被转换为字符串,有时需要把若干数字和字符串混合组合起来。这往往用于打印日志的时候,日志中可能含有文件名,时间和行号,以及其他的信息。熟悉C远的读者会使用sprintf,这个函数的宽字符版本为swprintf。该函数在驱动开发中依然可以使用,但是不安全,微软建议使用RtlStringCbPrintfW 来带替它。RtlStringCbP
HK_5788
·
2015-08-26 14:00
Windows内核编程
字符串的打印
Windows内核
编程基础篇之字符串的连接
UNICODE_STRING字符串不再是简单的字符串。操作这个数据结构往往需要更多的耐心。读者会常常碰到这样的需求:要把两个字符串连接到一起。简单地追加一个字符串并不困难。重要的依然是保证目标字符串的空间的大小。下面是范例:NTSTATUSstatus; UNICODE_STRINGdst;//--目标字符串 WCHARdst_buf[256];//我们现在还不会分配内存,所以先定义缓冲区。 UN
HK_5788
·
2015-08-25 19:00
Windows内核编程
字符串的连接
Windows内核
编程基础篇之字符串的拷贝
因为字符串不再是空结束的,所以用wscpy来拷贝字符串是不行的。UNICODE_STRING可以用RtlCopyUnicodeString来进行拷贝,在进行这种拷贝的时候,最需要注意的一点是:拷贝目的字符串buffer必须有足够的空间。如果buffer的空间不足,字符串会考倍的不完全。这是一个比较隐蔽的错误。下面举个例子:UNICODE_STRINGdst;///--目的字符串 WCHARdst_
HK_5788
·
2015-08-25 19:00
Windows内核编程
内核字符串拷贝
java多态
*/publiccla
ssDT
Demo{publicstaticvoidmain(String[]args){Aa1=newA();Aa2=newB();Bb=newB();Cc=newC();Dd=newD
dk05408
·
2015-08-25 17:00
windows内核
编程基础篇之字符串的初始化
我们再看看这个UNICODE_STRING结构。typedefstruct_UNICODE_STRING{USHORTLength;//---字符串的长度(字节数)USHORTMaximumLength;//---字符串缓冲区的长度(字节数)PWSTRBuffer;//---字符串缓冲区。}ANSI_STRING,*PANSI_STRING;UNICODE_STRINGstr;读者应该注意到,这个
PandaMohist
·
2015-08-25 16:03
windows驱动开发
windows内核
编程基础篇之字符串的初始化
我们再看看这个UNICODE_STRING结构。typedefstruct_UNICODE_STRING { USHORTLength;//---字符串的长度(字节数) USHORTMaximumLength;//---字符串缓冲区的长度(字节数) PWSTRBuffer;//---字符串缓冲区。 }ANSI_STRING,*PANSI_STRING; UNICODE_STRINGstr;读者应该
HK_5788
·
2015-08-25 16:00
windows内核
编程基础篇之字符串的处理
1,使用字符串结构常常使用传统C语言的程序员比较喜欢用如下的方法定义和使用字符串:char*str={"myfirststring"};//ANSI字符串 wchar_t*wstr={L"myfirststring"};//UNICODE字符串 size_tlen=strlen(str);//求出ANSC字符长度 size_twLen=wcslen(wstr);//求出unicode字符串长度 p
HK_5788
·
2015-08-25 15:00
Windows字符串的处理
数据结构——树
1.AVL树应用:
Windows内核
通过AVL树来保存一些离散的地址空间.原因可能是访问次数多于插入删除的次数。
alive2012
·
2015-08-23 14:00
数据结构
理解
Windows内核
模式与用户模式
内核层次架构windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间,并且可以访问所有的CPU指令。一般程序运行在用户模式,通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。下面是内核的层次划分:硬件抽象层(HardwareAbstractionLayer)(HAL)(hal.dll)最底层隔离硬件的,底层的第三方驱动程序就运行在
xjc200808
·
2015-07-31 10:00
windows
内核模式
在Windows系统上安装Docker的教程
Docker引擎使用Linux特有的内核特性,因此不能通过
Windows内核
运行,所以,(在Windows上)Docker引擎创建了一个小的虚拟系统运行Linux并利用它的资源和内核。
Arun Pyasi
·
2015-07-24 18:41
Windows内核
安全与驱动开发
Windows内核
安全与驱动开发本书的前身是《天书夜读——从汇编语言到
Windows内核
编程》和《寒江独钓——
Windows内核
安全编程》。
李航421
·
2015-07-24 16:00
windows
驱动开发
内核安全
关于
SSDT
HOOK取消内存写保护的问题
原帖 关于
SSDT
HOOK取消内存写保护的问题 有些人说不去掉也不会蓝屏,照样能HOOK成功确实,我当时也是这样过。。。
·
2015-07-17 11:00
OO
Windows内核
下操作字符串!
*
Windows内核
下操作字符串!
·
2015-07-16 22:00
windows
中断请求级(摘自
windows内核
情景分析)
Windows的内核还有个明显的不同,就是其内核的相当一部分页面是可倒换的。内存管理即虚存技术的重要内容之一是物理页面的倒换,就是可以将已经有映射但是暂时不受到访问的页面倒换到外存中去,到实际受到访问时再倒换进来,使外存成为内存的扩充。但是,在Linux中,属于内核的页面无论是用于代码还是数据(用于文件内容缓存的除外),是不受倒换的。这一方面是为了简化内核的设计和实现,一方面也是因为觉得价值不大,
dpsying
·
2015-07-16 17:00
【驱动开发】
Windows内核
驱动中操作文件
一.在驱动中使用文件在Windows执行体中,通过文件对象来代表文件,该文件对象是一种由对象管理器管理的执行体对象。例如:目录也是由文件对象代表的。内核组件通过对象名来引用文件,即在文件的全路径前面加\DosDevices。(在Windows2000及后续操作系统中,\??等同于\DosDevices)。例如,文件C:\WINDOWS\example.txt的对象名为\DosDevices\C:\
dpsying
·
2015-07-16 16:00
C# DataTable 转换成List
publiccla
ssDt
ConverToListwhereT:new() { publicstaticListDtToList(DataTabledt) { //定义集合 ListListCollection
杨胖胖
·
2015-07-09 10:00
OSX 10.10.4 开启SSD Trim
在osx10.10.4中,系统集成了开启
SSDT
rim的命令,这对我这种自行更换SSD的技术男来说是个福音哦。
DragonFK
·
2015-07-04 18:00
osx
trim
SSD
10.10.4
trimforce
WINDOWS内核
分析及编程方法
本文主要介绍
Windows内核
的基本结构,了解Windows的基本结构是进行内核编程的必不可少的内容。
zengxiangwei
·
2015-07-04 16:00
SSDT
Hook实例--编写稳定的Hook过滤函数
讲解如何写Hook过滤函数,比如NewZwOpenProcess。打开进程。很多游戏保护都会对这个函数进行Hook。由于我们没有游戏保护的代码,无法得知游戏公司是如何编写这个过滤函数。我看到很多奇形怪状的Hook过滤函数的写法。看得蛋痛无比。比如:http://bbs.pediy.com/showthread.php?t=126802http://bbs.pediy.com/showthread.
Fly20141201
·
2015-07-04 13:16
windows内核
SSDT
Hook实例--编写稳定的Hook过滤函数
讲解如何写Hook过滤函数,比如NewZwOpenProcess。打开进程。很多游戏保护都会对这个函数进行Hook。由于我们没有游戏保护的代码,无法得知游戏公司是如何编写这个过滤函数。 我看到很多奇形怪状的Hook过滤函数的写法。看得蛋痛无比。比如:http://bbs.pediy.com/showthread.php?t=126802http://bbs.pediy.com/showthread
QQ1084283172
·
2015-07-04 13:00
hook
ssdt
HOOK过滤函数
windows内核Hook
windows内核安全
SSDTHook示例
windows内核
Api的学习
windows内核
api就是ntoskrnl.exe导出的函数。我们可以跟调用应用层的api一样,调用内核api。
QQ1084283172
·
2015-07-02 16:00
进程遍历
WINDOWS内核
Windows驱动开发
windows内核api
系统模块遍历
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他