Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.02;
Скачать: CL | DM;

Вниз

Защита проги от Read/WriteProcessMemory   Найти похожие ветки 

 
v0id ©   (2002-06-27 19:24) [0]

Если кто-то хочет прочитать/записать значение в память процесса, он должен получить хендл процесса, вызовом функции OpenProcess.

HANDLE OpenProcess(

DWORD dwDesiredAccess, // access flag
BOOL bInheritHandle, // handle inheritance flag
DWORD dwProcessId // process identifier
);


Можно ли как-нибудь сделать так, чтобы флагов PROCESS_VM_READ и PROCESS_VM_WRITE не было??? Т.е. чтобы крекер не мог читать и/или изменять мою память (моей проги)??


 
Diamond Cat ©   (2002-06-28 01:05) [1]

нет, в принципе всегда можно добраться до любого раздела памяти, по крайней мере я на асм такое делал, правда один раз я видел какое-то очень навороченное кодирование инфориации причем такое ,что создавалось впечатление что по регистрам только хлам валяется, тогда так и не разобрался как ломать эту прогу, так что рой в этом направлении


 
Игорь Шевченко ©   (2002-06-28 09:29) [2]

v0id © (27.06.02 19:24)

Нельзя. Рекомендую: Свен Шрайбер "Недокументированные возможности Windows 2000 (+CD-ROM)"


 
paul_shmakov ©   (2002-06-28 11:40) [3]

единственная возможность - это глобальный перехват вызовов OpenProcess во всех работающих процессах. функция-перехватчик при попытке открыть наш процесс должна возвращать NULL, а для остальных процессов вызывать оригинальную OpenProcess.

это, кстати, поможет и для защиты от принудительного завершения процесса через TerminateProcess.

как перехватывать здесь уже много раз обсуждалось.


 
Игорь Шевченко ©   (2002-06-28 11:59) [4]

paul_shmakov © (28.06.02 11:40)

На всякий перехватчик найдется перехватчик перехватчика :-)


 
SPeller ©   (2002-06-28 13:43) [5]

Тогда надо отслеживать ещё и установку перехватчика на свой перехватчик. :)


 
v0id ©   (2002-06-28 14:26) [6]

Раз нельзя поменять параметр dwDesiredAccess, зачем он вообще сделан?

Как тогда сделать этот глобальный перехватчик?? У меня есть код на C++, но как его в Delphi ...


 
Digitman ©   (2002-06-28 15:03) [7]

отслеживание перехвата (читай - запись/чтение в интересующем АП по интересующему адресу) доступно только на уровне ядра


 
v0id ©   (2002-06-28 18:19) [8]

послать дискуссию на первое место :0


 
paul_shmakov ©   (2002-06-29 04:01) [9]

2 v0id:
Как тогда сделать этот глобальный перехватчик?? У меня есть код на C++, но как его в Delphi ...

еще раз повторюсь: как перехватывать здесь уже много раз обсуждалось. и совсем недавно.



Страницы: 1 вся ветка

Текущий архив: 2002.09.02;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
14-3610
^Sanya
2002-08-07 22:06
2002.09.02
Работа с версией проекта


3-3269
pave1
2002-08-12 13:42
2002.09.02
Delphi + MySql


1-3435
Степан
2002-08-23 07:36
2002.09.02
Выделить строку в ListView


1-3334
Cr@sh
2002-08-21 15:48
2002.09.02
Помогите с оптимизацией использования процедур.


1-3397
Grande
2002-08-22 15:00
2002.09.02
Вопрос по ассемблеру