02 2022 档案
摘要:RtlInitUnicodeString void RtlInitUnicodeString( [in, out] PUNICODE_STRING DestinationString, [in, optional] PCWSTR SourceString ); 使用此函数可以利用一个宽字符串初始化一
阅读全文
摘要:应用层与应用层之间进行同步 我们可以利用EVENT事件内核对象进行同步。 //通过创建命名的事件内核对象(名称前会默认加"Local\\") //Process1 HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, TEXT("EventName"));
阅读全文
摘要:kernel32!OpenFile与ntdll!NtOpenFile kernel32!OpenFile并不是直接调用的ntdll!NtOpenFile,其调用的是ntdll!NtCreateFile。 ntdll!NtOpenFile ntdll!NtOpenFile函数并没有声明,如果要调用的话
阅读全文
摘要:内核句柄和用户句柄 内核句柄的值有KERNEL_HANDLE_MASK标识(小于0),用户句柄的值没有KERNEL_HANDLE_MASK(大于0)。 ObReferenceObjectByHandle 当句柄值不含有KERNEL_HANDLE_MASK标志时(用户句柄) 当句柄值为-1或-2时 当
阅读全文