亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ntoskrnlundoc.h

?? 爾羅斯著名黑客寫的rootkit
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __NT_OS_KERNEL_UNDOCUMENT__
 #define __NT_OS_KERNEL_UNDOCUMENT__

extern "C"
{

#include "ntddk.h"


#include "KTypes.h"

//#define __WIN2K

typedef PVOID           POBJECT;

// The build number, accessible via the NtBuildNumber variable that is
// exported from the kernel, is a 32-bit value where the high nibble is
// either 'C', for Checked Build, or 'F', for Free Build, and the rest is
// the actual base build number of NT (1381, or 0x565, for NT 4.0 and any
// Service Packs). 

extern PULONG   NtBuildNumber;

#ifndef __KE_SERVICE_DESCRIPTOR_TABLE
 #define __KE_SERVICE_DESCRIPTOR_TABLE
//
// Definition for system call service table
//
typedef struct _SRVTABLE {
        PVOID           *ServiceTable;
        ULONG           LowCall;        
        ULONG           HiCall;
        PVOID           *ArgTable;
} SRVTABLE, *PSRVTABLE;

//
// Pointer to the image of the system service table
//
extern PSRVTABLE KeServiceDescriptorTable;

//
// Macro for easy hook/unhook. On X86 implementations of Zw* functions, the DWORD
// following the first byte is the system call number, so we reach into the Zw function
// passed as a parameter, and pull the number out. This makes system call hooking
// dependent ONLY on the Zw* function implementation not changing.
//
#if defined(_ALPHA_)
#define SYSCALL(_function)  KeServiceDescriptorTable->ServiceTable[ (*(PULONG)_function)  & 0x0000FFFF ]
#else
#define SYSCALL(_function)  KeServiceDescriptorTable->ServiceTable[ *(PULONG)((PUCHAR)_function+1)]
#endif

#endif //__KE_SERVICE_DESCRIPTOR_TABLE

typedef VOID *SSTAT[];  // SSTAT is an array of pointers to the
                        //  service handler addresses of each 
                        // service entry in the SST.
typedef unsigned char SSTPT[];   // SSTPT is an array of bytes containing 
                        // the size of the parameter stack in 
                        // bytes for each service entry in the SST.

typedef SSTAT *LPSSTAT; // LPSSTAT is a pointer to an SSTAT.
typedef SSTPT *LPSSTPT; // LPSSTPT is a pointer to an SSTPT.

typedef struct SystemServiceDescriptor
{
  LPSSTAT lpSystemServiceTableAddressTable;   // Pointer to the 
                                              // Address Table ( SSTAT ) structure of the SST.
  ULONG   dwFirstServiceIndex;                // ( ? ) Always set to FALSE.
  ULONG   dwSystemServiceTableNumEntries;     // Number of entries
                                              //  in the SST.
  LPSSTPT lpSystemServiceTableParameterTable; // Pointer to 
                                              // the Parameter Table
                                              // ( SSTPT ) structure 
                                              // of the SST.
} SSD, *LPSSD;

typedef struct SystemServiceDescriptorTable
{
  SSD   SystemServiceDescriptors[4];   // The array of 4 SSDs.
} SSDT, *LPSSDT;

//
// Definition for KeAddSystemServiceTable call
//
NTSYSAPI
BOOLEAN
NTAPI
KeAddSystemServiceTable(          
    LPSSTAT  lpAddressTable,   // Pointer to the SSTAT
                               // structure of the SST.
    BOOLEAN  bUnknown,         // Unknown. Always set
                               // to FALSE. If you have
                               // any information
                               // regarding this please
                               // let me know.
    ULONG    dwNumEntries,     // Number of entries in the SST.
    LPSSTPT  lpParameterTable, // Pointer to the SSTPT
                               // structure of the SST.
    ULONG    dwTableID         // Index of the SSD to
                               // add the SST to.
    );

//
// Definition for ZwDeleteValueKey call
//
NTSYSAPI
NTSTATUS
NTAPI
ZwDeleteValueKey(
    IN HANDLE hKey,
    IN PUNICODE_STRING UniNameKey
    );

//
// For displaying messages to the Blue Screen
//
NTSYSAPI
NTSTATUS
NTAPI
ZwDisplayString(
    PUNICODE_STRING Text
    );


//
// Directory control structure
//
//typedef struct _QUERY_DIRECTORY
//{
//  ULONG Length;
//  PUNICODE_STRING FileName;
//  FILE_INFORMATION_CLASS FileInformationClass;
//  ULONG FileIndex;
//} QUERY_DIRECTORY, *PQUERY_DIRECTORY;

/*
typedef struct _FILE_NAMES_INFORMATION
{
  ULONG NextEntryOffset;
  ULONG FileIndex;
  ULONG FileNameLength;
  WCHAR FileName[ANYSIZE_ARRAY];
} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;

#define SIZE_OF_FILE_NAMES_INFORMATION (sizeof(FILE_NAMES_INFORMATION)-sizeof(WCHAR)*ANYSIZE_ARRAY)

typedef struct tag_FQD_CommonBlock
{
  ULONG   NextEntryOffset;
  ULONG   FileIndex;
  TIME    CreationTime;
  TIME    LastAccessTime;
  TIME    LastWriteTime;
  TIME    ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG   FileAttributes;
  ULONG   FileNameLength;
} FQD_CommonBlock, *PFQD_CommonBlock;

typedef struct _FILE_QUERY_DIRECTORY
{
  ULONG   NextEntryOffset;
  ULONG   FileIndex;
  TIME    CreationTime;
  TIME    LastAccessTime;
  TIME    LastWriteTime;
  TIME    ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG   FileAttributes;
  ULONG   FileNameLength;

  union
  {
    struct
    {
      WCHAR  FileName[ANYSIZE_ARRAY];
    } Class1;
    struct
    {
      ULONG  Unknown2;
      WCHAR  FileName[ANYSIZE_ARRAY];
    } Class2;
    struct
    {
      ULONG  Unknown2;
      USHORT AlternateFileNameLength;
      WCHAR  AlternateFileName[12];
      WCHAR  FileName[ANYSIZE_ARRAY];
    } Class3;
  };
} FILE_QUERY_DIRECTORY, *PFILE_QUERY_DIRECTORY;

#define SIZE_OF_FQD_CLASS1 (sizeof(FQD_CommonBlock))
#define SIZE_OF_FQD_CLASS2 (sizeof(FQD_CommonBlock) + sizeof(FILE_QUERY_DIRECTORY.Class2) - sizeof(WCHAR)*ANYSIZE_ARRAY)
#define SIZE_OF_FQD_CLASS3 (sizeof(FQD_CommonBlock) + sizeof(FILE_QUERY_DIRECTORY.Class3) - sizeof(WCHAR)*ANYSIZE_ARRAY)
*/

#pragma pack(push)
#pragma pack(4)
//
// Directory control structure
//
typedef struct tag_QUERY_DIRECTORY
{
  ULONG Length;
  PUNICODE_STRING FileName;
  FILE_INFORMATION_CLASS FileInformationClass;
  ULONG FileIndex;
} QUERY_DIRECTORY, *PQUERY_DIRECTORY;


typedef struct tag_FQD_SmallCommonBlock
{
  ULONG   NextEntryOffset;
  ULONG   FileIndex;
} FQD_SmallCommonBlock, *PFQD_SmallCommonBlock;

typedef struct tag_FQD_FILE_ATTR
{
  TIME    CreationTime;
  TIME    LastAccessTime;
  TIME    LastWriteTime;
  TIME    ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  ULONG   FileAttributes;
} FQD_FILE_ATTR, *PFQD_FILE_ATTR;

typedef struct tag_FQD_CommonBlock
{
  FQD_SmallCommonBlock SmallCommonBlock;
  FQD_FILE_ATTR        FileAttr;
  ULONG                FileNameLength;
} FQD_CommonBlock, *PFQD_CommonBlock;

typedef struct _FILE_NAMES_INFORMATION
{
  FQD_SmallCommonBlock SmallCommonBlock;
  ULONG FileNameLength;
  WCHAR FileName[ANYSIZE_ARRAY];
} FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION;

#define SIZE_OF_FILE_NAMES_INFORMATION (sizeof(FILE_NAMES_INFORMATION)-sizeof(WCHAR)*ANYSIZE_ARRAY)

typedef struct _FILE_DIRECTORY_INFORMATION
{
  FQD_CommonBlock CommonBlock;

  WCHAR  FileName[ANYSIZE_ARRAY];
} FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION;

#define SIZE_OF_FILE_DIRECTORY_INFORMATION (sizeof(FILE_DIRECTORY_INFORMATION)-sizeof(WCHAR)*ANYSIZE_ARRAY)

typedef struct _FILE_FULL_DIR_INFORMATION
{
  FQD_CommonBlock CommonBlock;

  ULONG  EaSize;
  WCHAR  FileName[ANYSIZE_ARRAY];
} FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION;

#define SIZE_OF_FILE_FULL_DIR_INFORMATION (sizeof(FILE_FULL_DIR_INFORMATION)-sizeof(WCHAR)*ANYSIZE_ARRAY)

typedef struct _FILE_BOTH_DIR_INFORMATION
{
  FQD_CommonBlock CommonBlock;

  ULONG  EaSize;
  USHORT ShortFileNameLength;
//  CCHAR  ShortFileNameLength;
  WCHAR  ShortFileName[12];
  WCHAR  FileName[ANYSIZE_ARRAY];
} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION;
#pragma pack(pop)

#define SIZE_OF_FILE_BOTH_DIR_INFORMATION (sizeof(FILE_BOTH_DIR_INFORMATION)-sizeof(WCHAR)*ANYSIZE_ARRAY)


//
// Definition for ZwOpenFile call
//
NTSYSAPI
NTSTATUS
NTAPI
ZwOpenFile(
    OUT PHANDLE FileHandle,
    IN ACCESS_MASK DesiredAccess,
    IN POBJECT_ATTRIBUTES ObjectAttributes,
    OUT PIO_STATUS_BLOCK IoStatusBlock,
    IN ULONG ShareAccess,
    IN ULONG OpenOptions
    );

//
// Definition for ZwQueryDirectoryFile call
//
NTSYSAPI
NTSTATUS
NTAPI
ZwQueryDirectoryFile(
    IN HANDLE DirectoryFileHandle,
    IN HANDLE EventHandle OPTIONAL,
    IN PIO_APC_ROUTINE ApcRoutine OPTIONAL,
    IN PVOID ApcContext OPTIONAL,
    OUT PIO_STATUS_BLOCK IoStatusBlock,
    OUT PVOID Buffer,
    IN ULONG BufferLength,
    IN FILE_INFORMATION_CLASS DirectoryInfoClass,
    IN BOOLEAN ByOne,
    IN PUNICODE_STRING SearchTemplate OPTIONAL,
    IN BOOLEAN Reset
    );

//
// Definition for ZwQueryObject call
//
typedef enum _OBJECTINFOCLASS
{
  BaseObjectInfo = 0,
  NameObjectInfo,           // ObjectInformationLength = 0x200;
  TypeObjectInfo,           // ObjectInformationLength = 0x200;
  UnknownObjectInfo,        //
  HandleObjectInfo          // ObjectInformationLength = 0x200;
} OBJECTINFOCLASS;

//
// Definition for ZwQueryObject call
//
NTSYSAPI
NTSTATUS
NTAPI
ZwQueryObject(
    IN HANDLE ObjectHandle,
    IN OBJECTINFOCLASS ObjectInformationClass,
    OUT PVOID ObjectInformation,
    IN ULONG ObjectInformationLength,
    OUT PULONG LengthReturned OPTIONAL
    );

typedef struct _BASE_OBJECT_INFO
{
  ULONG HandleAttributes;
  ACCESS_MASK GrantedAccess;
  ULONG HandleCount;
  ULONG ReferenceCount;
  ULONG Unknown[10];
} BASE_OBJECT_INFO, *PBASE_OBJECT_INFO;

typedef struct _NAME_OBJECT_INFO
{
  UNICODE_STRING Name;
} NAME_OBJECT_INFO, *PNAME_OBJECT_INFO;

typedef struct _TYPE_OBJECT_INFO
{
  UNICODE_STRING Type;
  ULONG InstanceCount;
  ULONG HandleCount;
  ULONG Unknown1[11];
  GENERIC_MAPPING GenericMapping;
  ACCESS_MASK MaximumAllowed;
  ULONG Unknown2[4];
} TYPE_OBJECT_INFO, *PTYPE_OBJECT_INFO;

typedef struct _HANDLE_OBJECT_INFO
{
  BOOLEAN Inherit;
  BOOLEAN ProtectFromClose;
} HANDLE_OBJECT_INFO, *PHANDLE_OBJECT_INFO;

NTSYSAPI
NTSTATUS
NTAPI
ObReferenceObjectByName(
    IN PUNICODE_STRING ObjectPath,
    IN ULONG Attributes,
    IN PACCESS_STATE PassedAccessState OPTIONAL,
    IN ACCESS_MASK DesiredAccess OPTIONAL,
    IN POBJECT_TYPE ObjectType,
    IN KPROCESSOR_MODE AccessMode,
    IN OUT PVOID ParseContext OPTIONAL,
    OUT PVOID *ObjectPtr
    );  

NTSYSAPI
VOID
NTAPI
ProbeForWrite(
    IN PVOID Address, 
    IN ULONG Length,  
    IN ULONG Alignment
    ); 

NTSYSAPI
KPROCESSOR_MODE
NTAPI
KeGetPreviousMode(
    );

//
// Definition for ObQueryNameString call
//
//NTSYSAPI
//NTSTATUS
//NTAPI
//ObQueryNameString(
//    POBJECT Object,
//    PUNICODE_STRING Name,
//    ULONG MaximumLength,
//    PULONG ActualLength
//    );

NTSYSAPI
NTSTATUS
NTAPI
ObQueryNameString(
    IN PDEVICE_OBJECT DeviceObject,
    OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
    IN ULONG MaximumLength,
    OUT PULONG LengthReturned
    );


typedef struct _OBJECT_NAMETYPE_INFO 
{               
  UNICODE_STRING ObjectName;
  UNICODE_STRING ObjectType;
} OBJECT_NAMETYPE_INFO, *POBJECT_NAMETYPE_INFO;   

typedef enum _DIRECTORYINFOCLASS 
{
  ObjectArray,
  ObjectByOne
} DIRECTORYINFOCLASS, *PDIRECTORYINFOCLASS;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区在线不卡| 日韩欧美第一区| 日韩欧美三级在线| 亚洲男女一区二区三区| 国产一区在线观看视频| 91精品国产综合久久久久| 亚洲天堂福利av| 国产一区啦啦啦在线观看| 欧美视频你懂的| 亚洲男同性恋视频| 91在线无精精品入口| 国产欧美视频在线观看| 狠狠色丁香婷婷综合| 欧美一级一级性生活免费录像| 亚洲精品免费看| 丁香婷婷深情五月亚洲| 久久久噜噜噜久噜久久综合| 人人超碰91尤物精品国产| 欧美日韩国产系列| 亚洲国产精品一区二区www在线| 99久久夜色精品国产网站| 久久久国产精品午夜一区ai换脸 | 欧美一区二区二区| 亚洲卡通动漫在线| voyeur盗摄精品| 国产精品日韩成人| 不卡av在线网| 综合av第一页| 色综合视频一区二区三区高清| 亚洲欧洲日产国码二区| av在线综合网| 一区二区三区日韩| 在线看日本不卡| 亚洲午夜久久久| 88在线观看91蜜桃国自产| 青青草97国产精品免费观看| 欧美一区二区三区免费| 久久国产精品免费| 久久精品这里都是精品| av一区二区三区| 一区二区三区四区乱视频| 91久久一区二区| 日韩黄色一级片| 欧美精品一区二区三| 国产成人亚洲综合a∨猫咪| 国产精品每日更新在线播放网址| 成人白浆超碰人人人人| 亚洲制服丝袜av| 欧美精品1区2区| 国产一本一道久久香蕉| 中文字幕一区在线| 欧美人妖巨大在线| 国产伦精品一区二区三区免费迷| 亚洲国产激情av| 欧美私模裸体表演在线观看| 麻豆免费看一区二区三区| 国产亚洲精品福利| 色综合久久久久网| 久久超碰97人人做人人爱| 国产精品看片你懂得| 欧美日韩在线三级| 韩国中文字幕2020精品| 亚洲黄色性网站| 久久综合色鬼综合色| 91浏览器打开| 国产米奇在线777精品观看| 136国产福利精品导航| 欧美一区二区三区在线观看视频| 成人午夜私人影院| 午夜av一区二区| 国产精品美女久久久久久久网站| 欧美人妇做爰xxxⅹ性高电影| 国产精品综合av一区二区国产馆| 亚洲高清视频中文字幕| 国产农村妇女精品| 欧美一二三在线| 一本到三区不卡视频| 国产精品香蕉一区二区三区| 亚洲超丰满肉感bbw| 中文字幕在线观看一区| 欧美成人r级一区二区三区| 欧美专区在线观看一区| 国产成人精品免费看| 免费在线成人网| 午夜精品爽啪视频| 亚洲毛片av在线| 国产精品每日更新在线播放网址 | 色噜噜狠狠色综合中国| 激情综合色播激情啊| 亚洲成人综合在线| 曰韩精品一区二区| 中文文精品字幕一区二区| 日韩小视频在线观看专区| 欧美色手机在线观看| 91免费视频网址| av午夜精品一区二区三区| 国产精品99久久久久久有的能看| 日本欧美一区二区| 视频一区视频二区中文字幕| 亚洲在线视频一区| 一区二区三区在线视频免费| 国产精品久久久久久福利一牛影视 | 午夜精品久久久久久久久久久 | 色av一区二区| 不卡的av电影| 99国产精品一区| 94-欧美-setu| 色天天综合久久久久综合片| 色综合一个色综合亚洲| 97精品久久久久中文字幕| 97se亚洲国产综合自在线不卡| 成人妖精视频yjsp地址| 成人app网站| 91免费视频大全| 色婷婷国产精品| 欧美三级视频在线播放| 欧美情侣在线播放| 69久久夜色精品国产69蝌蚪网| 欧美精选一区二区| 欧美一区二区女人| 亚洲精品一区二区三区香蕉| 久久蜜桃av一区精品变态类天堂| 久久久青草青青国产亚洲免观| 久久女同性恋中文字幕| 国产精品免费观看视频| 中文字幕一区二区三区在线观看 | 中文字幕第一页久久| ...xxx性欧美| 亚洲电影你懂得| 韩国精品主播一区二区在线观看 | 欧美二区三区的天堂| 欧美电影免费观看高清完整版| 久久综合资源网| 亚洲欧洲av在线| 日韩精品一二三区| 国产精品中文字幕欧美| 一本到高清视频免费精品| 欧美久久一区二区| 国产亚洲精品7777| 亚洲国产一区二区三区 | 婷婷综合久久一区二区三区| 日本vs亚洲vs韩国一区三区二区| 国内欧美视频一区二区| 95精品视频在线| 欧美成人激情免费网| 亚洲女人****多毛耸耸8| 奇米四色…亚洲| www.成人网.com| 欧美一卡2卡3卡4卡| ...av二区三区久久精品| 欧美a级理论片| 色悠悠久久综合| 欧美mv日韩mv亚洲| 亚洲免费在线观看| 国产在线播放一区三区四| 日本道色综合久久| 久久综合久久综合九色| 亚洲午夜久久久久久久久久久| 国产精品自产自拍| 欧美日本韩国一区二区三区视频| 国产午夜亚洲精品不卡| 石原莉奈在线亚洲三区| av不卡免费在线观看| 欧美大片一区二区三区| 亚洲午夜激情网站| av网站免费线看精品| 精品成人a区在线观看| 五月婷婷久久丁香| 91视频观看免费| 日本一区二区动态图| 久久国产综合精品| 欧美久久高跟鞋激| 亚洲一区二区四区蜜桃| 99久久99久久精品国产片果冻 | 成人欧美一区二区三区白人| 经典一区二区三区| 欧美一区二区在线免费播放| 亚洲午夜在线电影| 91性感美女视频| 中文字幕乱码一区二区免费| 久久99久久久欧美国产| 日韩一区二区三区在线视频| 亚洲一二三四在线观看| 色婷婷精品大在线视频| 亚洲天堂精品视频| 91麻豆swag| 亚洲精品日韩综合观看成人91| 成人教育av在线| 国产精品免费免费| 99久久亚洲一区二区三区青草| 国产色产综合色产在线视频| 国产一区在线观看视频| 久久综合色一综合色88| 国产传媒日韩欧美成人| 中文字幕av免费专区久久| 成人激情免费网站| 亚洲欧洲日产国产综合网| 91免费在线播放| 亚洲国产视频一区| 欧美高清www午色夜在线视频|