- 博客(18)
- 资源 (6)
- 收藏
- 关注
转载 Dump Windows password hashes efficiently
link:http://brk.dis9.com/dump-windows-password-hashes-efficiently.htmlSlightly modified definition from Wikipedia:“TheSecurity Accounts Manager(SAM) is a registry file in Windows N
2012-03-28 14:16:25 5208
转载 对Native API NtSystemDebugControl的分析
转载自:http://www.xfocus.net/articles/200408/721.html作者:于旸邮 件:tombkeeper[0x40]nsfocus[0x2e]comtombkeeper[0x40]xfocus[0x2e]org在《获取Wi
2011-10-09 15:39:31 657
转载 A Crash Course on the Depths of Win32 Structured Exception Handling
http://www.cnblogs.com/suiyingjie/archive/2008/08/01/1258052.htmlA Crash Course on the Depths of Win32 Structured Exception Handling Matt Pi
2011-07-28 23:28:39 998
转载 [Tips] SafeSEH笔记
http://hi.baidu.com/54nop/blog/item/5303fd5111490d8d8d5430f0.htmlQ: 如何在exploit里去触发SEH异常? A: 让目标程序去读/写无效地址, 覆盖数据超出栈底.Q: 如何找到需要覆盖的SEH? A: 用测试串
2011-07-28 23:17:09 435
翻译 System Worker Threads
<br />http://msdn.microsoft.com/zh-cn/library/ff564587.aspx<br />先翻译成自己能看懂的。。。<br /> <br /> <br /> <br />To use a work item, a driver performs the following steps:<br />Allocate and initialize a new work item.<br />The system uses an IO_WORKITEM structure
2011-05-19 12:23:00 672
原创 逆向IopAttachDeviceToDeviceStackSafe
<br /><br />8050be1e 8bff mov edi,edi<br />8050be20 55 push ebp<br />8050be21 8bec mov ebp,esp<br />8050be23 53 push ebx<br />8050be24 56 push esi<br />8050be25 57 p
2011-05-18 11:49:00 614
转载 内核驱动主要数据结构
<br />http://blog.csdn.net/StudyFromEveryOne/archive/2008/07/07/2622041.aspx<br />IRP 是I/O request packet的缩写,即I/O请求包。驱动与驱动之间通过IRP进行通信。而使用驱动的应用层调用的 CreatFile,ReadFile,WriteFile,DeviceIoControl等函数,说到底也是使用IRP和驱动进行通信。<br />一个 IRP由两部分组成。首先是头部或者叫包的固定部分,是一个IRP结构。
2011-05-18 11:27:00 476
原创 关于设备绑定的那些事
据msdn上说绑定设备最开始是用的是IoAttachDeviceByPointer,其原型为NTSTATUS IoAttachDeviceByPointer( IN PDEVICE_OBJECT SourceDevice, IN PDEVICE_OBJECT TargetDevice);第一个参数为待绑定的设备,第二个参数为绑定的目标设备,返回值确定是否成功而取代IoAttachDeviceByPointer的则是IoAttachDeviceToDeviceStack与IoAttachD
2011-05-17 22:48:00 2320
原创 关于ZwWriteFile
<br />在MSDN中查到了这么一句话<br />If the call to ZwCreateFile set only the DesiredAccess flag FILE_APPEND_DATA, ByteOffset is ignored. Data in the given Buffer, for Length bytes, is written starting at the current end of file.<br />只要把ZwCreateFile中的DesiredAccess设置
2011-05-17 19:41:00 2320
转载 关于irp堆栈
<br />当驱动被分层以后,他们被注册到一个chain中,IRP会在这个chain中传递,从最上面,到最下面,再回到最上面 <br />为适应这种体制,IRP的结构的大小是不固定的,大体结构如下: <br />-------------------- <br />| IRP header | <br />-------------------- <br />|IO_STACK_LOCATION |<-----lowest driver stack location #index1 <br />------
2011-05-08 21:20:00 1163
原创 inlinehook NtCreateFile
<br /><br />#include "Driver.h"<br /> <br />unsigned char OrgCode[5];//原函数开头5个字节的代码<br />unsigned char HookJmp[5] = {0xe9,0,0,0,0};//放入原函数开头的Hook跳转<br />INT old_cr0;//存放cr0寄存器的内容<br />ULONG CreateAddr;//存放NtCreateFile的地址<br />#pragma LOCKEDCODE<br />/*****
2011-04-25 21:01:00 2580
转载 Synchronization和NotificationEvent的区别
<br />NotificationEvent<br />等待一个IO操作完成.当一个NotificationEvent事件用KeSetEvent设置成信号状态时,<br />所有等待在该事件上的线程都会开始执行,这是因为此类型事件不会自动清除信号,它<br />保留信号状态直到你手工用KeResetEvent 或 KeClearEvent 清除这个事件的信号状态.<br />SynchronizationEvent<br />等待一个IO操作完成.当一个NotificationEvent事件用KeSetE
2011-04-22 09:49:00 3348
转载 spinlock mutex semaphore rwlock
<br /><br />spinlock mutex语义上是一样的,都是对一临界区加锁保护,<br />区别是mutex得不到锁会睡眠,因此不能在中断上下文中使用。<br />另外,解锁的一定是上锁的那个 semaphore 得不到锁会睡眠,也不能用在中断中, 上锁的不一定负责解锁 。<br />rwlock 很好理解了,可多个读,只有一个写者,同样会引起睡眠<br />最重要的就是只有spinlock 可以用在中断上下文中.<br /><br />至于wait_queue,不是同步手段,是内核管理slee
2011-04-22 09:49:00 2853
转载 IoCancelIrp,IoStartPacket,IoStartNextPacket的关系
<br /><br />调用顺序:IoStartPacket------>将IRP插入队列,调用StartIO------>StartIO处理完当前IRP后调用IoStartNextPacket------>IoStartNextPacket取出队列中的下一个IRP后作为参数调用StartIO------>StartIO .<br />驱动程序中的StartIO,CancelIO比较复杂,也很可能出错。翻了一下WDK,删除了一些无关紧要的code,贴在这里方便以后查阅:BOOLEANIoCancelIrp(
2011-04-22 09:48:00 1730
转载 有关irql
<br />什么是IRQL?<br />IRQL是Interrupt ReQuest Level,中断请求级别。处理器在一个IRQL上执行线程代码。IRQL是帮助决定线程如何被中断的。在同一处理器上,线程只能被更高级别IRQL的线程能中断。每个处理器都有自己的中断IRQL。<br />我们经常遇见的有四种IRQL级别。“Passive”, “APC”, “Dispatch” and “DIRQL”. <br />“DriverEntry”将会在PASSIVE_LEVEL被调用。<br /><br />#de
2011-04-22 09:47:00 653
转载 深入理解IRQL
<br /><br />Part I: <br />In this part, I’ll discuss the fundament of IRQL and the differences/relations between IRQL and CPU rings/thread priority/hardware IRQ.<br />Definitions:<br />For a kernel developer, IRQL is not strange. Almost every kernel suppor
2011-04-22 09:46:00 2390
转载 Nt函数原型
NTSYSAPINTSTATUSNTAPINtAcceptConnectPort( OUT PHANDLE PortHandle, IN PVOID PortIdentifier, IN PPORT_MESSAGE Message, IN BOOLEAN Accept, IN OUT PPORT_VIEW ServerView OPTIONAL, OUT PREMOTE_PORT_VIEW ClientView OPTIONAL );NTSYSAPINTS
2011-04-21 17:22:00 1495
应用密码学:协议、算法与C源程序
2011-09-17
polarssl-0.13.1-gpl
2011-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人