上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 76 下一页
摘要: Windows Research KernelWRK目录列表模块目录模块功能cache\cache managerconfig\registry implementationdbgk\user-mode debugger supportex\executive functions (kernel heap, synchronization, time)fsrtl\file system run-time supportio\I/O managerke\scheduler, CPU management, low-level synchronizationlpc\local procedure 阅读全文
posted @ 2011-05-29 22:44 ahuo 阅读(8106) 评论(0) 推荐(0) 编辑
摘要: .dml_startkd> .dml_startAnalyze last eventBrowse process informationBrowse core commandsBrowse extension chainBrowse dot commandskd> .help /D a*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 All. commands matching a*: .allow_bp_ba_convert [0|1] - Control bp/bm/bu breakpoints to use hardwa 阅读全文
posted @ 2011-04-15 13:56 ahuo 阅读(379) 评论(0) 推荐(0) 编辑
摘要: !devnode \DEVICE\{A4F74E3A-7A5D-4BFA-8B76-AC26F16DE201}Dumping IopRootDeviceNode (= 0x81ebdce0)DevNode 0x81ebdce0 for PDO 0x81ebde18 Parent 0000000000 Sibling 0000000000 Child 0x81ebd840 InstancePath is "HTREE\ROOT\0" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCo 阅读全文
posted @ 2011-04-10 20:58 ahuo 阅读(882) 评论(2) 推荐(0) 编辑
摘要: NTSTATUS ntStatus = STATUS_SUCCESS; PDEVICE_OBJECT DeviceObject = NULL; PFILE_OBJECT FileObject = NULL; ntStatus = IoGetDeviceObjectPointer(pObjectName,FILE_ALL_ACCESS,&FileObject,&DeviceObject); if(!NT_SUCCESS(ntStatus)) { KdPrint(("IoGetDeviceObjectPointer Failed,ntStatus = 0x%08lX\n& 阅读全文
posted @ 2011-04-10 15:16 ahuo 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 1.什么是Access TokenAccess Token用来标识一个用户,其中包括用户的SID和用户所属组的SID,还包括这个用户和所属用户组的所拥有的权限列表。当用户输入用户名和密码登陆到Windows之后,Windows会创建一个Acess Token,用来标识这个用户。在这个用户下创建的进程都将得到一份这个Access Token的备份。当进程需要访问一个可以加密的对象(如文件,事件等)时,windows利用这个Access Token来跟对象的Security Descriptor进行比较,以确认这个进程是否有权限来访问这个对象。(关于SID和Security Descriptor请 阅读全文
posted @ 2011-03-27 23:12 ahuo 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 1,一个session中可以拥有多个winstation,一个winstation必然属于某个session,且无法更换。2,所有winstation的函数,包括OpenWindowStation,CreateWindowStation,EnumWindowStations等等,均仅限于调用Process的primary token的session。3,一个process仅对应一个session,也即其primary token的session。更简单的方法是ProcessIdToSessionId。当然也可以通过查询primary token的方法获得。一个process的thread可以拥 阅读全文
posted @ 2011-03-27 23:10 ahuo 阅读(772) 评论(0) 推荐(0) 编辑
摘要: 用法: prog.exe address1:port1 address2:port2程序将从本地端口的port1接收的数据发往 address1:port1, 同时address1:port1发出的数据将转发会原始的发送者。#ifndef __WIN32__#include<time.h>#include<errno.h>#include<fcntl.h>#include<unistd.h>#include<signal.h>#include<sys/types.h>#include<netinet/in.h> 阅读全文
posted @ 2011-03-27 23:03 ahuo 阅读(864) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<assert.h>#include<windows.h>#defineLOCK_READ0#defineLOCK_WRITE1classrwlock{public:rwlock();~rwlock();public:voidlock(intdirect);voidunlock(intdirect);voidlock_exclusive(void);voidunlock_exclusive(void);voidwrlock(){lock(LOCK_WRITE);}voidwrunlock(){unlock(L 阅读全文
posted @ 2011-03-27 23:00 ahuo 阅读(383) 评论(0) 推荐(0) 编辑
摘要: HANDLE hToken;TOKEN_PRIVILEGES tkp;OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);tkp.PrivilegeCount=1;tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);AdjustTokenPrivileges(hToken,FALSE,& 阅读全文
posted @ 2011-03-27 22:58 ahuo 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 1、对于CJK(多字节编码)的环境(泰文,日文,韩文,中文),CP_ACP与CP_OEMCP没有区别。2、对于非 CJK(单字节编码)的环境这两个代码页不同1)对应的实际代码页不同,例如English-US的环境,ACP对应1252,OEMCP而437。2)一个字节能表示的数值范围是(0-255),对于小于128的编码,437和1252对应的字符是一样的。3)对于大于128的编码,是不一样的,有可能有些OEM字符(大于128的编码)在437中不存在,有些ASCII(大于128的编码)字符在1252中不存在。4)相同的编码,对应的字符有可能不同。5)同理,相同的字符对应的编码有可能不同。3、wi 阅读全文
posted @ 2011-03-27 22:49 ahuo 阅读(1711) 评论(0) 推荐(0) 编辑
摘要: rem exe文件签名signtool.exe sign /s "My" /n "Beijing Cybervision Co., Ltd" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "files\ClientSetup.exe"rem ################################rem 对sys文件进行签名 一定要先签名,再生产cat文件,顺序不能变remsigntool.exe sign /ac "MSCV-VS 阅读全文
posted @ 2011-03-17 10:28 ahuo 阅读(1002) 评论(0) 推荐(0) 编辑
摘要: void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );void _wsplitpath( const wchar_t *path, wchar_t *drive, wchar_t *dir, wchar_t *fname, wchar_t *ext ); 阅读全文
posted @ 2011-03-11 16:47 ahuo 阅读(332) 评论(0) 推荐(0) 编辑
摘要: list与vector分别通过链表和数组实现,所以list进行删除、插入操作时效率要比vector高出许多,而vector进行随机访问时要比list高,可是当进行顺序添加和顺序遍历时的效率两者的效率又是谁高呢?首先分析一下,对于顺序追加的操作,当vector预先分配的内存不够时,需要重新分配内存并复制对象,会对效率产生负面的影响;而list在每添加一个对象时都必须动态分配,每次动态分配内存都需要消耗系统CPU时间,这也是严重影响list效率的问题,所以list的运行效率反而可能比vector的还要低。而从另外一角度,list每个对象都必须有指向下一个对象的指针,所以每个对象都要比vector多 阅读全文
posted @ 2011-03-08 14:25 ahuo 阅读(654) 评论(0) 推荐(0) 编辑
摘要: IP地址是TCP/IP网络层的寻址机制,MAC是802.3/Ethernet链路层的寻址机制,他们是不同层次的东西,不是并排关系,想一想数据发出去走到网线上最终还是变成了电脉冲,TCP/IP是没有物理层定义的,IP包最终变成电信号之前需要以太网来处理,当IP的数据给予了以太网之后,以太网就用属于它自己的寻址机制来处理以太帧,也就是用MAC地址。ppp属于广域网范畴,MAC是局域网范畴,按实际情况和环境就选用不同的协议,ppp支持的网络结构只能是点对点,mac支持多点对多点。以太网中用mac,远程的话就用ppp(如ADSL拨号,就是基于ppp的)。ppp是点到点协议 ,逻辑上相连的就一台设备因此 阅读全文
posted @ 2011-03-08 13:51 ahuo 阅读(1271) 评论(0) 推荐(0) 编辑
摘要: typedef BOOL (CALLBACK * PWTSQueryUserToken)(ULONG SessionId, PHANDLE phToken);BOOL DSCreateProcess(DWORD flags, DWORD session, LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreation 阅读全文
posted @ 2011-03-04 13:03 ahuo 阅读(781) 评论(0) 推荐(0) 编辑
上一页 1 ··· 41 42 43 44 45 46 47 48 49 ··· 76 下一页