Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Краш игры при вызове CreateDevice

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
16 Ноя 2020
Сообщения
31
Реакции
4
хукаю эндсцену. создаю новый тред, в этом треде создаю дамми-девайс, копирую его вмт и детурю функцию, полученную по индексу
на этапе создания дамми девайса происходит краш при вызове CreateDevice
OP0cgOK.png

я сразу не понял какого хуя вообще не пишет, что краш произошёл в дллке д3д9, поэтому полез смотреть адреса функций в вмт интерфейса и
обнаружил, что игра хукает все функции IDirect3D9
судя по реклассу она даже не хукает их, а создаёт какой-то свой враппер-класс, который наследуется от IDirect3D9, и там уже перегружает функции (возможно)
xSlgH9F.png

TkFO89g.png


как я понял, gameoverlayrenderer.dll - дллка игры, которая отвечает за рендер оверлея стима, берёт и хукает эти функции, и при вызове этих функций
там уже идёт что-то не так, и игра крашится
это всё очень круто, но отключать оверлей стима, чтобы эта дллка не грузилась и играть без него мне не хочется, поэтому надо как то исправлять
возможно найти в d3d9.dll вмт оригинального интерфейса и заменить им хукнутый?
 
с -insecure не крашит, но функции интерфейса всё ещё хукаются оверлеем
похоже на то, что игра без -insecure при любой попытке сделать второй девайс крашит к хуям игру, и это возможно как раз таки благодаря этим хукнутым функциям
 
с -insecure не крашит, но функции интерфейса всё ещё хукаются оверлеем
похоже на то, что игра без -insecure при любой попытке сделать второй девайс крашит к хуям игру, и это возможно как раз таки благодаря этим хукнутым функциям
а зачем ты вообще вызываешь createdevice в игре?
 
Когда только изучал всё это задумался: а не палевно ли будет создавать второй девайс. Поэтому везде использовал существующий.
 
оригинальный интерфейс = враппер + 4
DemoJ7k.png

69IRE6S.png


после этого все функции становятся оригинальными из d3d9.dll, но игра всё ещё крашится при создании девайса
причём та же история с -insecure повторяется, c ним не крашит и всё нормально хукается, без него - крашит
какой вообще шанс того, что ёбнутые на голову валв хукнули функции из d3d9.dll и ограничивают кол-во девайсов/проверяют ретурн адрес на наличие посторонних модулей
хотя после их ебейшей борьбы с читерами через хук NtOpenFile и в это можно поверить
 
оригинальный интерфейс = враппер + 4
DemoJ7k.png

69IRE6S.png


после этого все функции становятся оригинальными из d3d9.dll, но игра всё ещё крашится при создании девайса
причём та же история с -insecure повторяется, c ним не крашит и всё нормально хукается, без него - крашит
какой вообще шанс того, что ёбнутые на голову валв хукнули функции из d3d9.dll и ограничивают кол-во девайсов/проверяют ретурн адрес на наличие посторонних модулей
хотя после их ебейшей борьбы с читерами через хук NtOpenFile и в это можно поверить
чел попробуй на опенгл рисовать нахуй тебе этот дх
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Я ебанутый, но кого это ебет?
У меня есть деньги и она уже мне дает
Это твоя сука, но она тебе не дает
Я ебанутый, но кого это ебет?
Она со мной ебется, она меня не любит
Она любит деньги, она любит клубы
Накачешь нефти, она накачает губы
Мы снимаем то, что недопустят на YouTube
Она скажет эту фразу много раз
Дорогой, пока что рано и давай не сейчас
 
Назад
Сверху Снизу