Directx рисование в чужом x64 процессе; Hex опкоды в ассемблер - C#
Формулировка задачи:
Добрый вечер. Я замечал, что такие темы уже имеются на форуме и на других тоже, но все они сводятся к Detours. В моем случае решение перехвата функции EndScene
(хотя я пишу для DX11, но, это чтоб понятней было и мне тоже, т.к. я не знаю пока, что \ зачем \ для чего вызывается SwapChain и Present, хоть и догадываюсь)
с помощью Detours невозможно, т.к. я использую x64 процесс. В настоящий момент у меня есть адрес устройства Device, адрес EndScene и опкоды от EndScene (SwapChain). Я уже несколько дней пытаюсь найти решениеперехвата вызова функции
, но, как не странно, большая часть это делает через Detours. Другая часть это делает через ассемблер, с помощью замены опкодов на JMP на свою функцию, другие юзают Easy Hook. Сейчас у меня 2 пути, как решить мою проблему: 1. Использовать Easy Hook и перехватить функцию вызова EndScene, но такой функции я так и не нашел ни в одном из предлагаемых примеров (может плохо смотрел, допускаю). В основном, все предложенные примеры - копипаст установки связи между приложением и хукающей Dll. 2. Заменить опкоды на свои с прыжком JMP на свою функцию, но я не знаю, как преобразовать байты оппкода в ассемблеровский код.Решение задачи: «Directx рисование в чужом x64 процессе; Hex опкоды в ассемблер»
textual
Листинг программы
0xFF, 0x25, // opcode 0x00,0x00,0x00,0x00,// label offset address, // addres bytes
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д