![]() |
eXeL@B —› Вопросы новичков —› Как получить ImageBase процесса из драйвера |
Посл.ответ | Сообщение |
|
Создано: 04 февраля 2013 11:08 · Личное сообщение · #1 Нужно прочесть память конкретного процесса, делаю по примеру так: -ZwQuerySystemInformation(SystemProcessesAndThreadsInformation...) -далее из PSYSTEM_PROCESS_INFORMATION получаем PID, имя процесса... -открываем процесс ZwOpenProcess -и собсно можем читать. А где получить ImageBase процесса, чтоб правильно прочесть если адреса загрузки разные, в какой структуре искать? ![]() |
|
Создано: 04 февраля 2013 11:14 · Личное сообщение · #2 |
|
Создано: 04 февраля 2013 11:38 · Личное сообщение · #3 мож я что-то не так понимаю, но в PEB и в RTL_USER_PROCESS_PARAMETERS не вижу ImageBase Code:
Code:
![]() |
|
Создано: 04 февраля 2013 11:43 · Личное сообщение · #4 Естественно не видишь. Откуда оно там будет в документации мс? Оно тут как второй PVOID из Reserved3. Code:
![]() |
|
Создано: 04 февраля 2013 12:09 · Личное сообщение · #5 |
|
Создано: 04 февраля 2013 12:12 · Личное сообщение · #6 Учесть размер указателя. Windows 7 x64 SP1 lkd> dt nt!_PEB +0x000 InheritedAddressSpace : UChar +0x001 ReadImageFileExecOptions : UChar +0x002 BeingDebugged : UChar +0x003 BitField : UChar +0x003 ImageUsesLargePages : Pos 0, 1 Bit +0x003 IsProtectedProcess : Pos 1, 1 Bit +0x003 IsLegacyProcess : Pos 2, 1 Bit +0x003 IsImageDynamicallyRelocated : Pos 3, 1 Bit +0x003 SkipPatchingUser32Forwarders : Pos 4, 1 Bit +0x003 SpareBits : Pos 5, 3 Bits +0x008 Mutant : Ptr64 Void +0x010 ImageBaseAddress : Ptr64 Void +0x018 Ldr : Ptr64 _PEB_LDR_DATA +0x020 ProcessParameters : Ptr64 _RTL_USER_PROCESS_PARAMETERS ![]() |
|
Создано: 04 февраля 2013 14:05 · Поправил: Tolkin · Личное сообщение · #7 а PsGetProcessPeb() - это недокументированная функа(ее параметры?)? она на всех осях будет работать? и пойдет ли взамен ее использование ZwQueryInformationProcess(phandle,ProcessBasicInformation...), Code:
![]() |
|
Создано: 04 февраля 2013 14:42 · Поправил: hors · Личное сообщение · #8 Tolkin пишет: мож я что-то не так понимаю, но в PEB и в RTL_USER_PROCESS_PARAMETERS не вижу ImageBase Tolkin пишет: Alchemistry Спасибо за подсказки, буду пробовать. Еще вопросик, в PEB структуре для х64 смещения те же? Чтобы разобраться со всеми этими структурами, можно воспользоваться вот этой программой Tolkin пишет: и пойдет ли взамен ее использование ZwQueryInformationProcess(phandle,ProcessBasicInformation...), Пойдет. ----- http://ntinfo.biz ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Как получить ImageBase процесса из драйвера |