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

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

Перехват метода интерфейса... [D7, WinXP]


h8394E ©   (2006-08-22 02:12:00) 

Доброго времени суток... у меня сть GUID одного интерфейса (Direct3D9, если быть точнее)... Так вот, я пытаюсь нарисовать в чужой игре картинку, а для этого мне надо рисовать каждый раз, при вызове D3DX9.EndScene;

Я создал свою библиотеку с именем D3Dx9.dll - где экспортируется фальшивая функция создания устройства DirectX, таким обрязом я получаю ссылку на объект... Теперь мне надо каждый раз вызывать свою EndScene; но она не экспортируется в настоящей библиотеке...

Вопрос - как мне заставить игру вызывать не настоящую EndScene; а мою?

З.Ы. Так как у меня есть заголовки DirectX9 - то у меня есть GUID нужного интерфейса - может это как-то использывать?

З.З.Ы. Надо это всё сделать на WinAPI...


n0name   (2006-08-22 10:52:00) [1]

в [2] имелось ввиду Virtual Method Table, в которой содержатся адреса методов класса.


Ketmar   (2006-08-22 09:57:00) [2]

> [2] h8394E   (22.08.06 03:21)
а зачем ты полез в интерфейсы? не рано ли?


Sapersky   (2006-08-22 03:57:00) [3]

Я же вас, товарищ, уже посылал на www.madshi.net за madCodeHook.
Там есть пример перехвата SetRenderState (и функций/методов создания device, само собой). EndScene делается аналогично.


h8394E   (2006-08-22 03:21:00) [4]

А что такое VMT???


Ketmar   (2006-08-22 02:13:00) [5]

> как мне заставить игру вызывать не настоящую EndScene; а мою
подменить VMT?


Наверх

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