现在自己构造数据包进行发送已经不是很现实了,简单的数据还行,如果是大的数据,比如发送一个文件,比如不停的和外界的服务器保持联系,都是很不方便的,所以找到了一个方法,就是将程序的peb修改成和某些系统进程一样的peb,这样就在一定程度上伪装成了系统进程,这里以lsass.exe为例。有关peb的资料请自己查相关资料,或者是好好看看 windows核心编程,windows程序设计。
首先声明相关的结构体
typedef void (*PPEBLOCKROUTINE)(PVOID PebLock);
typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
typedef struct _RTL_DRIVE_LETTER_CURDIR {
USHORT Flags;
USHORT Length;
ULONG TimeStamp;
UNICODE_STRING DosPath;
} RTL_DRIVE_LETTER_CURDIR, *PRTL_DRIVE_LETTER_CURDIR;
typedef struct _PEB_LDR_DATA
{
ULONG Length;
BOOLEAN Initialized;
PVOID SsHandle;
LIST_ENTRY InLoadOrderModuleList;
LIST_ENTRY InMemoryOrderMo