even/even_peb.h

60 lines
1.3 KiB
C
Raw Normal View History

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