Перейти к содержанию
Авторизация  
Formatter

D3D hook

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

Кто-нибудь занимался хуком directx с клиентом игры (Interlude)?

Пытался и после инициализации окна, и непосредственно при загрузке библиотеки - один и тот же крит.

 

Быть может у кого-то есть готовый вариант.

 

часть кода (C++):
 

cMemory* MemHack;

typedef HRESULT(WINAPI* oEndScene)(LPDIRECT3DDEVICE9 pDevice);
oEndScene pEndScene = NULL;

HRESULT APIENTRY myEndScene(LPDIRECT3DDEVICE9 pDevice)
{
	return pEndScene(pDevice);
}

int D3d9_Hook(void)
{
	printf("D3D hook");
	DWORD* vtbl = 0;
	DWORD hD3D9 = (DWORD)LoadLibraryA("d3d9.dll");
	DWORD table = MemHack->FindPattern(hD3D9, 0x128000, (PBYTE)"\xC7\x06\x00\x00\x00\x00\x89\x86\x00\x00\x00\x00\x89\x86", "xx????xx????xx");
	memcpy(&vtbl, (void*)(table + 2), 4);
	pEndScene = (oEndScene)MemHack->Create_Hook((PBYTE)vtbl[42], (PBYTE)myEndScene, 5);
	printf(" OK\n");
	return 0;
}

 

Ошибка клиента

1971271914_.thumb.PNG.933d8610f211636dac875dd7a7dfdd2c.PNG

Изменено пользователем Formatter
added error

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 часов назад, Saltfire сказал:

facepalm.jpg.c4bd57e8cc1c23190cf54fd930f44da8.jpg

А по теме есть что сказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, Formatter сказал:

А по теме есть что сказать?

Зачем и для чего?

Поделиться сообщением


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

Ладно, своими силами разобрался, вывод текста/фигур получился, но при сворачивании/разворачивании окна - крит тот же.
Может еще что-то хукать нужно помимо endScene? Как отследить это событие?
Возможно кто-то рисовал в клиенте через Engine.Canvas? Нашел пример только для хроник выше - нашел аналогичную функцию (вроде как), но не знаю какие аргументы передать в функцию

Поделиться сообщением


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

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

Изменено пользователем Saltfire

Поделиться сообщением


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

Какой ответ тебе нужен? "Зачем и для чего"? - Захотелось вывести некоторую доп. информацию на окно клиента. Да и в общем интересно стало. Глупый не глупый текст: уж извини, но видя твои посты во всех темах - могу то же самое сказать.

Поделиться сообщением


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

Не понять, что бред несешь какой-то?
Выдрал куски не понять чего и не понять откуда. 
Что-то пытается нарисовать, а что для каких целей рисунок, покрыто занавесой тайн?
Тут есть хоть и кривой СДК, но он работает в ровных руках и там канвас есть и текстуры, перехватив пару методов и все  будет работать, как нужно.
А вы даже голову включать не хотите.

Это и без СДК делается. СДК просто поможет, чтобы не писать можно уже взять нужные структуры и классы.

Проще не куда. Уже взять готовое и поправить как нужно.

Изменено пользователем Saltfire

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

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