MasterGH Опубликовано 26 июля, 2010 Поделиться Опубликовано 26 июля, 2010 Цель 1: с помощью MHS нарисовать график и текст в окне некоторой игрушки.Цель 2: разобраться как связать события мышки с рисуемыми частями.Нужна помощь в поиске информации по технологии рисования в окне чужого процесса (игры) и в перехвате событий: мышки, клавиатуры к примеру. Ссылка на комментарий Поделиться на другие сайты Поделиться
SER[G]ANT Опубликовано 26 июля, 2010 Поделиться Опубликовано 26 июля, 2010 In Game Menu [DirectX9](MASM32 source included)Тебе в помощь. Сам когда-то использовал ее, переделанную мной, в трейнере (ддл'ка извлекалась из ресурсов игры при запуске трейнера, а при закрытии удалялась). Но, что-то, потом забил на ингей меню и выкинул из кода трейнера. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 26 июля, 2010 Автор Поделиться Опубликовано 26 июля, 2010 Что-то я не совсем понял где в твоём примере код, который рисует в видео-контексте игры. Но зато я нашёл статью (я, обычно, ищу статьи с известными подходами, чтобы по ним побыстрее сориентироваться чем копаться в документациях). И вот результат: Показать контент Статья - тутПопробую подобное повторить и сделать на MHS. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 26 июля, 2010 Автор Поделиться Опубликовано 26 июля, 2010 А вообще ничего сложного.1. Нужно получить D3DDev: IDirect3DDevice9 как результат из перехваченой CreateDevice9. Затем инициализировать тут же g_Font: ID3DXFont2. Перехватить EndScene9 с выполнением TextRect := Rect(100,100,100,100); g_Font.DrawTextA(nil, PChar('Превед!!! '), -1, @TextRect, DT_LEFT or DT_NOCLIP, D3DCOLOR_RGBA($00, $ff, $ff, $ff) );И это всё для вывода текста, а для рисования нужно поискать необходимые методы.Непонятно зачем автору именно для этой задачи надо было ставить хук на Direct3DCreate9. Я думаю это не нужно было.----------Та статья хорошо показывает как и что работает. Однако, я не хочу лоадер процесса, я не хочу подгрузчик dll и я хочу рисовать в окне игры, когда игра уже запущена. Мне не нужны хуки, т.к. я могу использовать инъекции кода: 1) в одну из сигнатур кода, который работает с D3DDev для получения указателя на D3DDev (или аналогичного OpenGL) и инициализации шрифта2) в одну из сигнатур EndScene9 для разных DirectX-библиотек или для OpenGL для рисования текста.Думаю, можно было сделать и получше. С теорией всё понятно, можно приступить к практике. Ссылка на комментарий Поделиться на другие сайты Поделиться
MasterGH Опубликовано 27 июля, 2010 Автор Поделиться Опубликовано 27 июля, 2010 То, что написано в статье у меня получилось (можно посмотреть на скриншоте)Теперь попробую осуществить подобное в MHS.Я хочу сделать так чтобы скрипты MHS выводили информацию в окно игры, а не только в консоль MHS... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения