Сейчас на форуме: asfa, bartolomeo, hgdagon (+6 невидимых)

 eXeL@B —› Программирование —› Как еще можно читать память процесса, кроме ReadProcessMemory?
Посл.ответ Сообщение

Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 22 мая 2006 23:21
· Личное сообщение · #1

Кроме драйвера.

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 78.6 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 22 мая 2006 23:30
· Личное сообщение · #2

внедриться в процес можно



Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 22 мая 2006 23:46
· Личное сообщение · #3

через Native API, т.е. формально способ тот же что и ReadProcessMemory




Ранг: 78.6 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 22 мая 2006 23:54
· Личное сообщение · #4

ZwReadVirtualMemory считай тоже самое



Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 23 мая 2006 00:07
· Личное сообщение · #5

read_me пишет:
внедриться в процес можно

ну, а дальше просто mov eax, dword ptr [адрес]? Т.е. отловить не получится?

Asterix пишет:
через Native API, т.е. формально способ тот же что и ReadProcessMemory

а можно поподробнее?

-----
MicroSoft? Is it some kind of a toilet paper?





Ранг: 78.6 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 23 мая 2006 00:12 · Поправил: read_me
· Личное сообщение · #6

что отловить неполучится?
я бы посоветовал просканить память на пригодность к чтению есть какаято функция и считывать нужные куски по pe заголовку к примеру



Ранг: 174.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 23 мая 2006 00:39
· Личное сообщение · #7

Tim пишет:
Т.е. отловить не получится?

Можно сам процесс внедрения отловить. OpenProcess, CreateRemoteThread, если мне память не изменяет.

Tim пишет:
а можно поподробнее?

Уже говорили - ZwReadVirtualMemory из ntdll.dll. Она вызывается при вызове ReadProcessMemory. Опять же говорю насколько сам помню, если ошибаюсь - знающие люди меня поправят.



Ранг: 228.7 (наставник), 2thx
Активность: 0.120
Статус: Участник
malware research

Создано: 23 мая 2006 12:56 · Поправил: Error_Log
· Личное сообщение · #8

Tim пишет:
а можно поподробнее


ZwReadVirtualMemory reads virtual memory in the user mode address range of
another process.
NTSYSAPI
NTSTATUS
NTAPI

ZwReadVirtualMemory(
IN HANDLE ProcessHandle,
IN PVOID BaseAddress,
OUT PVOID Buffer,
IN ULONG BufferLength,
OUT PULONG ReturnLength OPTIONAL
);

Parameters

ProcessHandle
A handle of a process object, representing the process from which the virtual memory
should be read.The handle must grant PROCESS_VM_READ access.

BaseAddress
The base address of the virtual memory to read.

Buffer
Points to a caller-allocated buffer or variable that receives the contents of the virtual
memory.

BufferLength
Specifies the size in bytes of Buffer and the number of bytes of virtual memory to
read.

ReturnLength
Optionally points to a variable that receives the number of bytes actually returned to
Buffer if the call was successful. If this information is not needed, ReturnLength may
be a null pointer.

Return Value

Returns STATUS_SUCCESS or an error status, such as STATUS_ACCESS_VIOLATION or
STATUS_PROCESS_IS_TERMINATING.

Related Win32 Functions
ReadProcessMemory.

-----
Research is my purpose



 eXeL@B —› Программирование —› Как еще можно читать память процесса, кроме ReadProcessMemory?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати