⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myrootkit.h

📁 IceLight逆向出来的源代码。 有idb文件和c文件
💻 H
字号:
/*
用于放一些驱动中常用到的函数
*/
//类型定义

typedef ULONG DWORD;
typedef int BOOL;
typedef unsigned short WORD;
typedef ULONG ULONG_PTR, *PULONG_PTR;
//函数声明
ULONG g_uCr0;

_inline void WPOFF()
{
	
    ULONG uAttr;
	
    _asm
    {
        cli
		push eax
        mov eax, cr0
        mov g_uCr0, eax
        and eax, 0FFFEFFFFh // CR0 16 BIT = 0
        mov cr0, eax
        pop eax
        
    };
	
}

_inline void WPON()
{
	
    _asm
    {
        
		push eax
        mov eax, g_uCr0 //恢復原有 CR0 屬性
        mov cr0, eax
        pop eax
		sti
    };
	
}

//一些函数的声明
NTSYSAPI
NTSTATUS
NTAPI
NtWriteFile (
			 IN HANDLE FileHandle,
			 IN HANDLE Event,
			 IN PIO_APC_ROUTINE ApcRoutine,
			 IN PVOID ApcContext,
			 OUT PIO_STATUS_BLOCK IoStatusBlock,
			 IN PVOID Buffer,
			 IN ULONG Length,
			 IN PLARGE_INTEGER ByteOffset,
			 IN PULONG Key
    );

NTSYSAPI
NTSTATUS
NTAPI
NtDeviceIoControlFile (
			HANDLE FileHandle,
			HANDLE Event,
			PIO_APC_ROUTINE ApcRoutine,
			PVOID ApcContext,
			PIO_STATUS_BLOCK IoStatusBlock,
			ULONG IoControlCode,
			PVOID InputBuffer,
			ULONG InputBufferLength,
			PVOID OutputBuffer,
			ULONG OutputBufferLength
    );

NTSYSAPI
BOOLEAN
NTAPI
KeAddSystemServiceTable (
	IN PULONG_PTR Base,
	IN PULONG Count OPTIONAL,
	IN ULONG Limit,
	IN PUCHAR Number,
	IN ULONG Index
    );

typedef struct _SERVICE_DESCRIPTOR_TABLE_SHADOW
{
	SERVICE_DESCRIPTOR_TABLE SSDT;  // ntoskrnl.exe ( native api )
    SERVICE_DESCRIPTOR_TABLE SSDTShadow;    // win32k.sys (gdi/user support)
	SERVICE_DESCRIPTOR_TABLE UnUsed1;
	SERVICE_DESCRIPTOR_TABLE UnUsed2;
}SERVICE_DESCRIPTOR_TABLE_SHADOW, *PSERVICE_DESCRIPTOR_TABLE_SHADOW;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -