![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Защита проги от Read/WriteProcessMemory
v0id © (2002-06-27 19:24:00)Если кто-то хочет прочитать/записать значение в память процесса, он должен получить хендл процесса, вызовом функции OpenProcess.
HANDLE OpenProcess(
DWORD dwDesiredAccess, // access flag
BOOL bInheritHandle, // handle inheritance flag
DWORD dwProcessId // process identifier
);
Можно ли как-нибудь сделать так, чтобы флагов PROCESS_VM_READ и PROCESS_VM_WRITE не было??? Т.е. чтобы крекер не мог читать и/или изменять мою память (моей проги)??
paul_shmakov (2002-06-29 04:01:00) [1]2 v0id:
Как тогда сделать этот глобальный перехватчик?? У меня есть код на C++, но как его в Delphi ...
еще раз повторюсь: как перехватывать здесь уже много раз обсуждалось. и совсем недавно.
v0id (2002-06-28 18:19:00) [2]послать дискуссию на первое место :0
Digitman (2002-06-28 15:03:00) [3]отслеживание перехвата (читай - запись/чтение в интересующем АП по интересующему адресу) доступно только на уровне ядра
v0id (2002-06-28 14:26:00) [4]Раз нельзя поменять параметр dwDesiredAccess, зачем он вообще сделан?
Как тогда сделать этот глобальный перехватчик?? У меня есть код на C++, но как его в Delphi ...
SPeller (2002-06-28 13:43:00) [5]Тогда надо отслеживать ещё и установку перехватчика на свой перехватчик. :)
Игорь Шевченко (2002-06-28 11:59:00) [6]paul_shmakov © (28.06.02 11:40)
На всякий перехватчик найдется перехватчик перехватчика :-)
paul_shmakov (2002-06-28 11:40:00) [7]единственная возможность - это глобальный перехват вызовов OpenProcess во всех работающих процессах. функция-перехватчик при попытке открыть наш процесс должна возвращать NULL, а для остальных процессов вызывать оригинальную OpenProcess.
это, кстати, поможет и для защиты от принудительного завершения процесса через TerminateProcess.
как перехватывать здесь уже много раз обсуждалось.
Игорь Шевченко (2002-06-28 09:29:00) [8]v0id © (27.06.02 19:24)
Нельзя. Рекомендую: Свен Шрайбер "Недокументированные возможности Windows 2000 (+CD-ROM)"
Diamond Cat (2002-06-28 01:05:00) [9]нет, в принципе всегда можно добраться до любого раздела памяти, по крайней мере я на асм такое делал, правда один раз я видел какое-то очень навороченное кодирование инфориации причем такое ,что создавалось впечатление что по регистрам только хлам валяется, тогда так и не разобрался как ломать эту прогу, так что рой в этом направлении