SYSTEM_PROCESS

Тема в разделе "WASM.WIN32", создана пользователем RamMerLabs, 28 янв 2007.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Имеется скрытый процесс (простым изменением NextEntryDelta в SYSTEM_PROCESS).
    Можно ли получить структуру SYSTEM_PROCESS этого самого процесса?
    ЗЫ: имеется PID и Handle этого процесса.

    Будет офигенно если ещё с примерами.

    заранее благодарен
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Что-то не догнал я. Может EPROCESS?
    Код (Text):
    1. ObReferenceObjectByHandle(hProc,0,0,KernelMode,&eprocess,NULL);
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Не именно SYSTEM_PROCESS, тот что через ZwQuerySystemInformation(5, ....);

    KernelMode - что это за параметр, и дайте посмотреть на EPROCESS. Может и она сгодиться.

    ObReferenceObjectByHandle - и её прототип, чё-то не нахожу у себя. Наверное плохо ищу.
     
  4. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    EPROCESS, как ты знаешь, разный для 2000, ХР и 2003. Все есть в KmdKit. Вот для ХР:
    Код (Text):
    1. EPROCESS STRUCT                     ; sizeof = 258h
    2.     Pcb                             KPROCESS        <>  ; 0000h
    3.     ProcessLock                     EX_PUSH_LOCK    <>  ; 006ch
    4.     CreateTime                      LARGE_INTEGER   <>  ; 0070h
    5.     ExitTime                        LARGE_INTEGER   <>  ; 0078h
    6.     RundownProtect                  EX_RUNDOWN_REF  <>  ; 0080h
    7.     UniqueProcessId                 DWORD           ?   ; 0084h
    8.     ActiveProcessLinks              LIST_ENTRY      <>  ; 0088h
    9.     QuotaUsage                      DWORD   3 dup(?)    ; 0090h
    10.     QuotaPeak                       DWORD   3 dup(?)    ; 009ch
    11.     CommitCharge                    DWORD           ?   ; 00a8h
    12.     PeakVirtualSize                 DWORD           ?   ; 00ach
    13.     VirtualSize                     DWORD           ?   ; 00b0h
    14.     SessionProcessLinks             LIST_ENTRY      <>  ; 00b4h
    15.     DebugPort                       PVOID           ?   ; 00bch
    16.     ExceptionPort                   PVOID           ?   ; 00c0h
    17.     ObjectTable                     PVOID           ?   ; 00c4h PTR HANDLE_TABLE
    18.     Token                           EX_FAST_REF     <>  ; 00c8h
    19.     WorkingSetLock                  FAST_MUTEX      <>  ; 00cch
    20.     WorkingSetPage                  DWORD           ?   ; 00ech
    21.     AddressCreationLock             FAST_MUTEX      <>  ; 00f0h
    22.     HyperSpaceLock                  DWORD           ?   ; 0110h
    23.     ForkInProgress                  PVOID           ?   ; 0114h PTR ETHREAD
    24.     HardwareTrigger                 DWORD           ?   ; 0118h
    25.     VadRoot                         PVOID           ?   ; 011ch
    26.     VadHint                         PVOID           ?   ; 0120h
    27.     CloneRoot                       PVOID           ?   ; 0124h
    28.     NumberOfPrivatePages            DWORD           ?   ; 0128h
    29.     NumberOfLockedPages             DWORD           ?   ; 012ch
    30.     Win32Process                    PVOID           ?   ; 0130h
    31.     Job                             PVOID           ?   ; 0134h PTR EJOB
    32.     SectionObject                   PVOID           ?   ; 0138h
    33.     SectionBaseAddress              PVOID           ?   ; 013ch
    34.     QuotaBlock                      PVOID           ?   ; 0140h PTR EPROCESS_QUOTA_BLOCK
    35.     WorkingSetWatch                 PVOID           ?   ; 0144h PTR PAGEFAULT_HISTORY
    36.     Win32WindowStation              PVOID           ?   ; 0148h
    37.     InheritedFromUniqueProcessId    PVOID           ?   ; 014ch
    38.     LdtInformation                  PVOID           ?   ; 0150h
    39.     VadFreeHint                     PVOID           ?   ; 0154h
    40.     VdmObjects                      PVOID           ?   ; 0158h
    41.     DeviceMap                       PVOID           ?   ; 015ch
    42.     PhysicalVadList                 LIST_ENTRY      <>  ; 0160h
    43.     union
    44.         PageDirectoryPte            HARDWARE_PTE    <>  ; 0168h
    45.         Filler                      QWORD           ?   ; 0168h
    46.     ends
    47.     Session                         PVOID           ?   ; 0170h
    48.     ImageFileName                   BYTE    16 dup(?)   ; 0174h
    49.     JobLinks                        LIST_ENTRY      <>  ; 0184h
    50.     LockedPagesList                 PVOID           ?   ; 018ch
    51.     ThreadListHead                  LIST_ENTRY      <>  ; 0190h
    52.     SecurityPort                    PVOID           ?   ; 0198h
    53.     PaeTop                          PVOID           ?   ; 019ch
    54.     ActiveThreads                   DWORD           ?   ; 01a0h
    55.     GrantedAccess                   DWORD           ?   ; 01a4h
    56.     DefaultHardErrorProcessing      DWORD           ?   ; 01a8h
    57.     LastThreadExitStatus            SDWORD          ?   ; 01ach
    58.     Peb                             PVOID           ?   ; 01b0h PTR PEB
    59.     PrefetchTrace                   EX_FAST_REF     <>  ; 01b4h
    60.     ReadOperationCount              LARGE_INTEGER   <>  ; 01b8h
    61.     WriteOperationCount             LARGE_INTEGER   <>  ; 01c0h
    62.     OtherOperationCount             LARGE_INTEGER   <>  ; 01c8h
    63.     ReadTransferCount               LARGE_INTEGER   <>  ; 01d0h
    64.     WriteTransferCount              LARGE_INTEGER   <>  ; 01d8h
    65.     OtherTransferCount              LARGE_INTEGER   <>  ; 01e0h
    66.     CommitChargeLimit               DWORD           ?   ; 01e8h
    67.     CommitChargePeak                DWORD           ?   ; 01ech
    68.     AweInfo                         PVOID           ?   ; 01f0h
    69.     SeAuditProcessCreationInfo      SE_AUDIT_PROCESS_CREATION_INFO  <>  ; 01f4h
    70.     Vm                              MMSUPPORT       <>  ; 01f8h
    71.     LastFaultCount                  DWORD           ?   ; 0238h
    72.     ModifiedPageCount               DWORD           ?   ; 023ch
    73.     NumberOfVads                    DWORD           ?   ; 0240h
    74.     JobStatus                       DWORD           ?   ; 0244h
    75.     union
    76.         Flags                       DWORD           ?   ; 0248h
    77. comment ^
    78.         recFlags RECORD \
    79.             Unused:11,                  ; bits 21-31
    80.             InjectInpageErrors:1,       ; bits 20
    81.             LaunchPrefetched:1,         ; bits 19
    82.             HasAddressSpace:1,          ; bits 18
    83.             OverrideAddressSpace:1,     ; bits 17
    84.             ProcessInSession:1,         ; bits 16
    85.             WriteWatch:1,               ; bits 15
    86.             SessionCreationUnderway:1,  ; bits 14
    87.             BreakOnTermination:1,       ; bits 13
    88.             SetTimerResolution:1,       ; bits 12
    89.             AddressSpaceInitialized:2,  ; bits 10-11
    90.             HasPhysicalVad:1,           ; bits 9
    91.             ForkFailed:1,               ; bits 8
    92.             Outswapped:1,               ; bits 7
    93.             OutswapEnabled:1,           ; bits 6
    94.             VmDeleted:1,                ; bits 5
    95.             Wow64SplitPages:1,          ; bits 4
    96.             ProcessDelete:1,            ; bits 3
    97.             ProcessExiting:1,           ; bits 2
    98.             NoDebugInherit:1,           ; bits 1
    99.             CreateReported:1            ; bits 0
    100. ^
    101.     ends
    102.     ExitStatus                      SDWORD          ?   ; 024ch
    103.     NextPageColor                   WORD            ?   ; 0250h
    104.     SubSystemMinorVersion           BYTE            ?   ; 0252h
    105.     SubSystemMajorVersion           BYTE            ?   ; 0253h
    106.     SubSystemVersion                WORD            ?   ; 0252h
    107.     PriorityClass                   BYTE            ?   ; 0254h
    108.     WorkingSetAcquiredUnsafe        BYTE            ?   ; 0255h
    109. EPROCESS ENDS
     
  5. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    спасибо и на этом, хотя сабж малость другой