Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2012, 11:37   #1
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию SetHookCode [Delphi]

Код:
function SetProcedureHook(ModuleHandle:HMODULE;ProcedureName:PChar;NewProcedureAddress:Pointer;
  RestoreDATA:PRestoreData):Boolean;
Зравствуйте, подскажите, что нужно ставить вместо NewProcedureAddress???
Знаю что это адрес подставной функции, но как его получить??
Спасибо.
Mr_ViK вне форума Ответить с цитированием
Старый 17.01.2012, 12:03   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

NewProcedureAddress:Pointer; указатель на метод, который будет вызван вместо ProcedureName:PChar;

Его вы должны написать сами.
Человек_Борща вне форума Ответить с цитированием
Старый 17.01.2012, 12:25   #3
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Ну я уже сам разобрался(по исходникам), но все равно спасибо!(тыкнул в репу)
Mr_ViK вне форума Ответить с цитированием
Старый 17.01.2012, 12:33   #4
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

А еще подскажите какие процедуры кроме OpenProcess, CreateThread лучше хукнуть, чтобы оградить процесс от вторжений??И если можно модули в которых они находятся!
Mr_ViK вне форума Ответить с цитированием
Старый 17.01.2012, 12:42   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

VirtualProtect,WriteProcessMemory,R eadProcessMemory все в kernel модуле(для 64 kenel64.dll для 86 kernel32.dll).

Но такой хук не очень хорошее решение. Пишите драйвер , который будет работать в ring0.
Человек_Борща вне форума Ответить с цитированием
Старый 17.01.2012, 12:46   #6
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
(для 64 kenel64.dll для 86 kernel32.dll).
в 64-битной системе, kernel32.dll имеет старое имя, т.е. kernel32.dll
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 17.01.2012, 12:49   #7
Mr_ViK
Форумчанин
 
Регистрация: 12.08.2011
Сообщений: 124
По умолчанию

Можно про драйвер поподробнее или ссылочку почитать
Mr_ViK вне форума Ответить с цитированием
Старый 18.01.2012, 19:48   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
VirtualProtect,WriteProcessMemory,R eadProcessMemory все в kernel модуле(для 64 kenel64.dll для 86 kernel32.dll).
имеет смысл хукнуть лишь ядерную OpenProcess, там уже проверять кто и какие права просит.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54