Перейти к содержанию

c++ directx адрес Direct3DDevice


Рекомендуемые сообщения

2 часа назад, partoftheworlD сказал:

Попробовав воспользоваться поиском.

Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, gamehikker сказал:

Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .

Может за тебя ещё все сделать? В чем проблема прочитать статью, немного подумав написать свой алгоритм нахождения адреса устройства? 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, 2zolo2 сказал:

gamehikker, так глаза разуй, там даже код есть, вот.

Это адрес своего созданного девайса .А мне нужен адрес игрового девайса

Изменено пользователем gamehikker
Ссылка на комментарий
Поделиться на другие сайты

11 час назад, gamehikker сказал:

Это адрес своего созданного девайса .А мне нужен адрес игрового девайса

Прочитай весь топик, на который дали ссылку, внимательно - ребята сделали по статье на разные игры начиная с dx8 и заканчивая dx11: тык

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, temtriss сказал:

В каком смысле своего? 

 

Типа ты в собственном приложении создаешь устройство для рисования, а после получаешь указатель на него, а ТС как я понял хочет использовать указатель на устройство который использует игра для рисования, тогда отпадает необходимость в оверлеях и прочем..

Ссылка на комментарий
Поделиться на другие сайты

21 час назад, gamehikker сказал:

Мне программно нужно адрес девайса найти . Чтобы в нём подменить адрес нужной функции .

1)создаешь девайс

2)получаешь адрес таблицы виртуальных методов(адреса методов в таблице будут идентичны с оригинальнымы)

3)Из свой таблице выдираешь сигнатуру(допустим первые 50байт) и по ней ищешь оригинальную таблицу

4)далее, когда адрес оригинальной VMT будет получен - подменяешь в ней необходимые тебе методы на свои.

Ссылка на комментарий
Поделиться на другие сайты

20 минут назад, Dino сказал:

1)создаешь девайс

Да с сигнатурой извиняюсь , и ежу понятно , как сделать .А без сигнатуры как-то можно найти?

Ссылка на комментарий
Поделиться на другие сайты

В 01.10.2017 в 13:52, gamehikker сказал:

Да с сигнатурой извиняюсь , и ежу понятно , как сделать .А без сигнатуры как-то можно найти?

Что именно тебя смущает в сигнатуре мне не понятно. Зачем строить велосипед?

Как еще найти? Открываешь дебаггер и ищешь руками, например найдя анимацию отрисовки выстрела или любую другую анимацию и трассируешь ее.

Как вариант можно попробовать через поиск строк - иногда прокатывает) - но зачем все это если есть сигнатура?

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

11 минуту назад, gamehikker сказал:

То , что это сигнатура . В памяти может быть ещё одна такая же .

 

Если составлена уникальная сигнатура, то в памяти ни как не может быть ещё одна такая же. И не обязательно делать сигнатуру на ту инструкцию которая тебе нужна.
 

Ссылка на комментарий
Поделиться на другие сайты

В 03.10.2017 в 17:19, partoftheworlD сказал:

 

Если составлена уникальная сигнатура, то в памяти ни как не может быть ещё одна такая же. И не обязательно делать сигнатуру на ту инструкцию которая тебе нужна.
 

Так тут мне советуют делать сигнатуру из своего девайса, чтобы найти девайс , который использует сама игра .Да и вообще возможно создание vmt hook'а без сигнатуры ?

Изменено пользователем gamehikker
Ссылка на комментарий
Поделиться на другие сайты

В 01.10.2017 в 13:35, Dino сказал:

Из свой таблице выдираешь сигнатуру(допустим первые 50байт) и по ней ищешь оригинальную таблицу

1 час назад, gamehikker сказал:

делать сигнатуру из своего девайса

 

1484651546187783466.png

Где тут хоть слово о девайсе?

Тебе предложили годную идею - найти виртуальную таблицу оригинального девайса игры по виртуальной таблице своего девайса, т.к. они одинаковые и уникальные.

Их всего две в игре. Одна из них твоя. Свою искать не надо, ищешь другую. Потом ставишь VMT Hook и радуешься.

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

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.