Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Вниз

Защита проги от 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.02;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
1-3494
Степан
2002-08-21 12:10
2002.09.02
Поле DBGrid в несколько линий


3-3297
cherepovets
2002-08-09 15:25
2002.09.02
Paradox


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


1-3359
CCCatch
2002-08-21 12:40
2002.09.02
Избавление от нулей в строчке???


14-3576
s-gorbachev
2002-08-05 16:55
2002.09.02
Помогите купить сервер(железку) для IB6 на 50 юзеров





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский