Windows安全
文章平均质量分 63
少仲_
这个作者很懒,什么都没留下…
展开
-
浅谈Windows内存管理以及链表使用
驱动程序和应用程序一样,局部变量是存放在栈空间中的.但是栈的空间不会像应用程序一样大,所以驱动程序不适合用递归调用或者局部变量是大型结构体.如果需要大型数据结构,就要在堆中申请内存.以下是几个在堆中申请内存的函数:PVOID ExAllocatePool( IN POOL_TYPE PoolType, IN SIZE_T NumberOfBytes原创 2015-04-12 16:51:09 · 565 阅读 · 0 评论 -
浅谈驱动中强制结束进程的3种方法
一个应用程序想要结束另一个进程所要做的事:首先获得目标的进程ID,接着利用OpenProcess获取进程句柄(确保足够权限),最后将句柄传给TerminateProcess了结那个进程.OpenProcess通过本机系统服务接口进入核心态,随后调用ntoskrnl的NtOpenProcess.在服务函数里,系统使用SeSinglePrivilegeCheck检查调用者是否有DEBUG权原创 2015-04-12 17:54:36 · 6751 阅读 · 0 评论 -
浅谈FS段寄存器在用户层和内核层的使用
在R0和R3时,FS段寄存器分别指向GDT中的不同段:在R3下,FS段寄存器的值是0x3B,在R0下,FS段寄存器的值是0x30.分别用OD和Windbg在R3和R0下查看寄存器(XP3),下图:FS寄存器的改变是从R3进入R0后和从R0退回到R3前完成的,也就是说:都是在R0下给FS赋不同值的.(FS在R0和R3中是不同的值,在KiFastCallEntry / KiSy原创 2015-04-12 17:05:27 · 6231 阅读 · 0 评论