Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

APIHOOKS


CHEK ©   (2004-08-11 11:37:00) 

люди помогите плиз мне надо перехватить ф-цию getdrivetype
и затем подменить то что она выдает (ну к примеру 3 на 5)

скачал себе apihooks.pas с apihooks.com но ума не хватает в ней разобратся помогите плиз


Игорь Шевченко   (2004-08-12 14:49:00) [1]

Digitman ©   (12.08.04 14:43) [14]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1091693971&n=5:)


Digitman   (2004-08-12 14:43:00) [2]


> Игорь Шевченко ©   (12.08.04 14:39) [13]


ах вот в чем дело !

т.е. он и тебя уже, Игорь, напряг по самое нехочу ?)


> кто не помогает - тот барбос


вот так и получается) ... намекаешь, намекаешь человеку, что темя тянет на лекцию с иллюстрацией не в одну сотню строк кода, а человек продолжает долдонить про свое) ... при том что исх.текст модуля, реализующего технологию (пусть даже и не самодостаточную для решения задачи) - перед носом у него


Игорь Шевченко   (2004-08-12 14:39:00) [3]

Digitman ©   (12.08.04 14:15) [12]


> с какой стати я должен за тебя разбираться в ГОТОВОМ модуле
> ?

Ну типа форум тут, люди помогать обязаны, а кто не помогает - тот барбос :)

Сергей, тут в чем вся проблема - автор хочет сделать виртуальный CD-ROM и считает, что для этого всего лишь необходимо подменить возвращаемое значение GetDriveType :)


Digitman   (2004-08-12 14:15:00) [4]

ты не слишком припух, парень, а ?
с какой стати я должен за тебя разбираться в ГОТОВОМ модуле ?


CHEK   (2004-08-12 14:09:00) [5]

или если хочеш могу тебе его на мыло скинуть


Digitman   (2004-08-12 14:08:00) [6]


> CHEK   (12.08.04 14:03) [9]


>  качай, разбирайся
> и мне раскажеш


разрешите бегом ?

мне он совершенно не нужен, ибо то что творится в его потрохах мне и так известно .. а вот чтомешает тебе самостоятельно разобраться в этом модуле ? то же что и танцору ?)


CHEK   (2004-08-12 14:03:00) [7]

так вот это есть unit для перехвата api вызовов
лежит на apihooks.com так че если нужен качай, разбирайся
и мне раскажеш


Digitman   (2004-08-12 13:24:00) [8]

нет


CHEK   (2004-08-12 13:15:00) [9]

а ты пользовал apihooks.pas???


Digitman   (2004-08-12 13:03:00) [10]


> CHEK


механика проста - замена соотв.адресов в таблице импорта и экспорта

но это далеко не три строчки кода


CHEK   (2004-08-12 10:06:00) [11]

Digitman если можно раскажи саму логику и механику пожалуйста.
(apihooks.apihook()-это то что мне нужно в данном случае,помоему)
раскажи плиз как ей перехватить api если можно то с примером кода


Digitman   (2004-08-11 15:10:00) [12]


> CHEK   (11.08.04 14:34) [2]


> непонятно как поставить хук


еще раз - ЧТО конкретно непонятно ? при чем здесь именно getdrivetype ? логика и механика едина для любого эксп. win32-вызова !


Ihor Osov'yak   (2004-08-11 14:54:00) [13]

2 [2] CHEK   (11.08.04 14:34)

есть несколько методов перехвата, в частности -
1. Модификация таблиц импорта
2. Модификация таблий экспорта
3. Подмена кода самой функции (как правило, jmp на свою процедуру)
4. "Подсовывание" фальшивой dll, если функция в dll

Каждый из способов имеет свои недостатки и свои преимущества, и не всегда в конкретном случае может быть приемлемый. Ну, разве что метод 4 - имхо, там сплошные недостатки.

Метод 1, кажется, описан в Рихтера, в том, который со "спецификой 64-битности". Также когда-то видел статью на www.rsdn.ru - обзор этих методов перехвата, там также приведены примеры кода, с первого взляда код был правдоподобным. Код, естетственно, не на делфи.

зы. По теме сабжа - перехват getdrivetype с целью подмены результа - имхо, бессмысленное занятие.


CHEK   (2004-08-11 14:34:00) [14]

непонятно как поставить хук на getdrivetype
и подменить то что она выдает.
если знаеш как ето сделать с помощью apihooks то
то покажи пожалуйста на примере


Digitman   (2004-08-11 14:08:00) [15]


> ума не хватает в ней разобратся


что конкретно непонятно ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо