2024-03-30 07:28:40 +01:00
|
|
|
#ifndef _EVEN_PEB_H_
|
|
|
|
#define _EVEN_PEB_H_ 1
|
|
|
|
|
2024-03-30 07:30:08 +01:00
|
|
|
#include "uthash.h"
|
2024-03-30 07:28:40 +01:00
|
|
|
#include <ddk/ntddk.h>
|
|
|
|
#include <minwindef.h>
|
|
|
|
|
2024-03-30 07:30:08 +01:00
|
|
|
typedef struct _PEB_LDR_DATA
|
|
|
|
{
|
2024-03-30 07:28:40 +01:00
|
|
|
BYTE Reserved1[8];
|
|
|
|
PVOID Reserved2[3];
|
|
|
|
LIST_ENTRY InMemoryOrderModuleList;
|
2024-03-30 07:30:08 +01:00
|
|
|
} PEB_LDR_DATA, *PPEB_LDR_DATA;
|
2024-03-30 07:28:40 +01:00
|
|
|
|
2024-03-30 07:30:08 +01:00
|
|
|
typedef struct _RTL_USER_PROCESS_PARAMETERS
|
|
|
|
{
|
2024-03-30 07:28:40 +01:00
|
|
|
BYTE Reserved1[16];
|
|
|
|
PVOID Reserved2[10];
|
|
|
|
UNICODE_STRING ImagePathName;
|
|
|
|
UNICODE_STRING CommandLine;
|
2024-03-30 07:30:08 +01:00
|
|
|
} RTL_USER_PROCESS_PARAMETERS, *PRTL_USER_PROCESS_PARAMETERS;
|
2024-03-30 07:28:40 +01:00
|
|
|
|
|
|
|
/* This function pointer is undocumented and just valid for windows 2000.
|
|
|
|
Therefore I guess. */
|
2024-03-30 07:30:08 +01:00
|
|
|
typedef VOID(NTAPI *PPS_POST_PROCESS_INIT_ROUTINE)(VOID);
|
2024-03-30 07:28:40 +01:00
|
|
|
|
2024-03-30 07:30:08 +01:00
|
|
|
typedef struct _PEB
|
|
|
|
{
|
|
|
|
BYTE Reserved1[2];
|
2024-03-30 07:28:40 +01:00
|
|
|
BYTE BeingDebugged;
|
|
|
|
BYTE Reserved2[1];
|
|
|
|
PVOID Reserved3[2];
|
|
|
|
PPEB_LDR_DATA Ldr;
|
|
|
|
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
|
|
|
|
PVOID Reserved4[3];
|
|
|
|
PVOID AtlThunkSListPtr;
|
|
|
|
PVOID Reserved5;
|
|
|
|
ULONG Reserved6;
|
|
|
|
PVOID Reserved7;
|
|
|
|
ULONG Reserved8;
|
|
|
|
ULONG AtlThunkSListPtr32;
|
|
|
|
PVOID Reserved9[45];
|
|
|
|
BYTE Reserved10[96];
|
|
|
|
PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine;
|
|
|
|
BYTE Reserved11[128];
|
|
|
|
PVOID Reserved12[1];
|
|
|
|
ULONG SessionId;
|
2024-03-30 07:30:08 +01:00
|
|
|
} PEB, *PPEB;
|
2024-03-30 07:28:40 +01:00
|
|
|
|
2024-03-30 07:30:08 +01:00
|
|
|
struct even_peb
|
|
|
|
{
|
2024-03-30 07:28:40 +01:00
|
|
|
HANDLE pid;
|
|
|
|
int refcnt;
|
|
|
|
PEB fake_peb;
|
|
|
|
UT_hash_handle hh;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|
|
|
|
// vim: sw=4 et
|