![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]
> ума не хватает в ней разобратся
что конкретно непонятно ?