hi all !
I want to find the details of EPROCESS struct (its fields description), i find in xpddk but nothing found, can anyone show me where to find it ? thanks .
Posted on 2006-03-23 21:51:38 by secmask
That is in the NTIFS.H header file:

http://www.acc.umu.se/~bosse/ntifs.html

typedef struct _EPROCESS {
    KPROCESS                        Pcb; // +0x000
    EX_PUSH_LOCK                    ProcessLock; // +0x06c
    LARGE_INTEGER                  CreateTime; // +0x070
    LARGE_INTEGER                  ExitTime; // +0x078
    EX_RUNDOWN_REF                  RundownProtect; // +0x080
    ULONG                          UniqueProcessId; // +0x084
    LIST_ENTRY                      ActiveProcessLinks; // +0x088
    ULONG                          QuotaUsage[3]; // +0x090
    ULONG                          QuotaPeak[3]; // +0x09c
    ULONG                          CommitCharge; // +0x0a8
    ULONG                          PeakVirtualSize; // +0x0ac
    ULONG                          VirtualSize; // +0x0b0
    LIST_ENTRY                      SessionProcessLinks; // +0x0b4
    PVOID                          DebugPort; // +0x0bc
    PVOID                          ExceptionPort; // +0x0c0
    PHANDLE_TABLE                  ObjectTable; // +0x0c4
    EX_FAST_REF                    Token; // +0x0c8
    ULONG                          WorkingSetPage; // +0x0cc
    KGUARDED_MUTEX                  AddressCreationLock; // +0x0d0
    ULONG                          HyperSpaceLock; // +0x0f0
    PETHREAD                        ForkInProgress; // +0x0f4
    ULONG                          HardwareTrigger; // +0x0f8
    PMM_AVL_TABLE                  PhysicalVadRoot; // +0x0fc
    PVOID                          CloneRoot; // +0x100
    ULONG                          NumberOfPrivatePages; // +0x104
    ULONG                          NumberOfLockedPages; // +0x108
    PVOID                          Win32Process; // +0x10c
    PEJOB                          Job; // +0x110
    PVOID                          SectionObject; // +0x114
    PVOID                          SectionBaseAddress; // +0x118
    PEPROCESS_QUOTA_BLOCK          QuotaBlock; // +0x11c
    PPAGEFAULT_HISTORY              WorkingSetWatch; // +0x120
    PVOID                          Win32WindowStation; // +0x124
    ULONG                          InheritedFromUniqueProcessId; // +0x128
    PVOID                          LdtInformation; // +0x12c
    PVOID                          VadFreeHint; // +0x130
    PVOID                          VdmObjects; // +0x134
    PVOID                          DeviceMap; // +0x138
    PVOID                          Spare0[3]; // +0x13c
    union {
        HARDWARE_PTE                PageDirectoryPte; // +0x148
        UINT64                      Filler; // +0x148
    };
    PVOID                          Session; // +0x150
    UCHAR                          ImageFileName[16]; // +0x154
    LIST_ENTRY                      JobLinks; // +0x164
    PVOID                          LockedPagesList; // +0x16c
    LIST_ENTRY                      ThreadListHead; // +0x170
    PVOID                          SecurityPort; // +0x178
    PVOID                          PaeTop; // +0x17c
    ULONG                          ActiveThreads; // +0x180
    ULONG                          GrantedAccess; // +0x184
    ULONG                          DefaultHardErrorProcessing; // +0x188
    SHORT                          LastThreadExitStatus; // +0x18c
    PPEB                            Peb; // +0x190
    EX_FAST_REF                    PrefetchTrace; // +0x194
    LARGE_INTEGER                  ReadOperationCount; // +0x198
    LARGE_INTEGER                  WriteOperationCount; // +0x1a0
    LARGE_INTEGER                  OtherOperationCount; // +0x1a8
    LARGE_INTEGER                  ReadTransferCount; // +0x1b0
    LARGE_INTEGER                  WriteTransferCount; // +0x1b8
    LARGE_INTEGER                  OtherTransferCount; // +0x1c0
    ULONG                          CommitChargeLimit; // +0x1c8
    ULONG                          CommitChargePeak; // +0x1cc
    PVOID                          AweInfo; // +0x1d0
    SE_AUDIT_PROCESS_CREATION_INFO  SeAuditProcessCreationInfo; // +0x1d4
    MMSUPPORT                      Vm; // +0x1d8
    LIST_ENTRY                      MmProcessLinks; // +0x238
    ULONG                          ModifiedPageCount; // +0x240
    ULONG                          JobStatus; // +0x244
    union {
        ULONG                      Flags; // 0x248
        struct {
            ULONG                  CreateReported              : 1;
            ULONG                  NoDebugInherit              : 1;
            ULONG                  ProcessExiting              : 1;
            ULONG                  ProcessDelete              : 1;
            ULONG                  Wow64SplitPages            : 1;
            ULONG                  VmDeleted                  : 1;
            ULONG                  OutswapEnabled              : 1;
            ULONG                  Outswapped                  : 1;
            ULONG                  ForkFailed                  : 1;
            ULONG                  Wow64VaSpace4Gb            : 1;
            ULONG                  AddressSpaceInitialized    : 2;
            ULONG                  SetTimerResolution          : 1;
            ULONG                  BreakOnTermination          : 1;
            ULONG                  SessionCreationUnderway    : 1;
            ULONG                  WriteWatch                  : 1;
            ULONG                  ProcessInSession            : 1;
            ULONG                  OverrideAddressSpace        : 1;
            ULONG                  HasAddressSpace            : 1;
            ULONG                  LaunchPrefetched            : 1;
            ULONG                  InjectInpageErrors          : 1;
            ULONG                  VmTopDown                  : 1;
            ULONG                  ImageNotifyDone            : 1;
            ULONG                  PdeUpdateNeeded            : 1;
            ULONG                  VdmAllowed                  : 1;
            ULONG                  Unused                      : 7;
        };
    };
    NTSTATUS                        ExitStatus; // +0x24c
    USHORT                          NextPageColor; // +0x250
    union {
        struct {
            UCHAR                  SubSystemMinorVersion; // +0x252
            UCHAR                  SubSystemMajorVersion; // +0x253
        };
        USHORT                      SubSystemVersion; // +0x252
    };
    UCHAR                          PriorityClass; // +0x254
    MM_AVL_TABLE                    VadRoot; // +0x258
} EPROCESS, *PEPROCESS; // 0x278 in total
Posted on 2006-03-23 22:53:14 by donkey