Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Delphi: WinAPI и системное программирование > Траблы с CreateRemoteThread |
Автор: Gershkovich 19.2.2007, 11:46 | ||||
Всем привет! Пытаюсь создать Remote thread как написано во всех примерах (в качестве жертвы выбрал Notepad):
Но происходит ошибка с выпаденим стандартного виндового окна где сообщается что в программе произошла ошибка и предлагается отправить отчот об ней в Микрософт. Что я неправльно делаю ? Notepad загружаю так :
ну и передаю ProcessHandle в метод CreateThread Заранее спасибо. |
Автор: Yanis 19.2.2007, 12:10 |
т.е. после закрытия описателя, ты передаёшь его значение в CreateThread? ![]() |
Автор: Gershkovich 19.2.2007, 12:21 | ||
Нет ! Пока нотпад запущен процедура крутится в этом цикле
т.е. ProcessHandle валидный (в противном случае поток не создается с ошибкой "Неверный дескриптор") |
Автор: Yanis 19.2.2007, 12:42 |
Я так и не увидел вызова CreateThread. Выкладый всё полностью! |
Автор: dumb 19.2.2007, 12:53 |
Gershkovich, сначала ты должен выделить кусок памяти в адресном пространстве подопытного процесса, скопировать туда функцию потока и только потом создавать поток, указав адрес функции в выделенном куске. смотри примеры внимательней. обрати внимание также на саму функцию потока - там не должно быть ничего, что может не иметь силы в другом процессе. даже вызовы функций WinAPI надо "рихтовать", поэтому "дешевле" всего в функции потока просто подгрузить dll, в которой уже можно делать все спокойно(относительно ![]() |
Автор: MetalFan 19.2.2007, 12:54 |
этот должно падать ;) ибо указатель на Callback не валиден в чужом процессе. да и нет там такой процедуры. p.s. почитай на wasm.ru статейки. например http://www.wasm.ru/article.php?article=apihook_1 |
Автор: Gershkovich 19.2.2007, 13:09 |
За статью спасибо. Попытаюсь достичь просветления. Насколько я понял, падало от того что процесс-жертва не имел прав на область памяти с кодом CallBack ? В этом все дело ? И поэтому приходиться копировать код в другую область памяти ? |
Автор: Gershkovich 19.2.2007, 13:47 |
Все понял! Спасибо! Ключевой для понимания момент был |