ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   AmazingRP / d3d9 hook (https://forum.antichat.xyz/showthread.php?t=1504021)

Vintik 21.02.2024 22:23

Хочу рисовать поверх окна Амазинг РП (КРМП).

Проблема в том, что оверлей Стима / Дискорда почему-то там не работает (монопольный режим мб какой-то, я хз)

Я хочу сделать .dll-ку, чтобы хукнуть d3d9 EndScene

Это мне вообще чё надо делать? Искать адреса что хукать? Или какой метод...

Если да, то как его искать. Заранее благодарю за помощь

* с графикой ни разу не работал, поэтому можно МАКСИМАЛЬНО ПОДРОБНО, а не просто иди в угол

0xff 21.02.2024 22:39

Лови сурс моего вх, делал в декабре 22 года, думаю для твоего вопроса найдется там ответ, т.к. там есть хук d3d9 для ImGui.

Был в привате, пока на амазинге не сказали что это всё зуйня, ну окей.

GitHub - VadimBoev/AmazingMinerWH

Contribute to VadimBoev/AmazingMinerWH development by creating an account on GitHub.

github.com


Всё что тебе нужно, это для решения твоего вопроса:

1. функции хука

2. адреса для хука d3d9 (тащишь его с гта, в примере всё есть)

С графикой на тот момент я тоже не работал, всего лишь нужен был рабочий imgui.

В нём нет деструктора, если захочешь коннектить и дисконнектить библиотеку, придется поискать как это реализовать

Vintik 21.02.2024 22:41

Цитата:

Сообщение от 0xFF

В нём нет деструктора

Да он нахер и не нужен мне на первое время)

Цитата:

Сообщение от 0xFF

2. адреса для хука d3d9 (тащишь его с гта, в примере всё есть)

окей. а в общем случае его как искать? или это уже отдельный разговор...

Цитата:

Сообщение от 0xFF

Лови сурс моего вх, делал в декабре 22 года

он же рабочий?

и еще. как ты обходил эту дурацкую систему выхода при виде cheat engine?

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

0xff 21.02.2024 22:45

Цитата:

Сообщение от Vintik

Да он нахер и не нужен мне на первое время)

окей. а в общем случае его как искать? или это уже отдельный разговор...

он же рабочий?

и еще. как ты обходил эту дурацкую систему выхода при виде cheat engine?
я помню какой то костыль делал с названием окна, но уже забыл...

Искать адрес для хука d3d9 тебе в принципе не придется, в примере вх всё есть, там есть адреса.

Он был точно рабочим, сейчас думаю также всё должно работать, т.к. всё зависило только от библиотеки samp r3 которую они юзают и соответственно gta_sa.exe

Цитата:

Сообщение от Vintik

и еще. как ты обходил эту дурацкую систему выхода при виде cheat engine?

На дворе был 2022 год, декабрь. У них тогда была какая-то защита от всей чепушни. Я просто инжектил DLL в момент авторизации и всё.

Т.е. заходил в игру, был какой-то инжектор, авторизация, сворачивал, инжектил, разворачивал и снова в игре и всё

вайега52 21.02.2024 23:01

Цитата:

Сообщение от Vintik

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

вроде как оно и ищет по названию окна (антидебаггер, все дела)

F0RQU1N and 22.02.2024 08:06

Цитата:

Сообщение от Vintik

Хочу рисовать поверх окна Амазинг РП (КРМП).

так же как и всегда? просто создаешь топмост окно ,контекст и рисуешь

Цитата:

Сообщение от Vintik

Я хочу сделать .dll-ку, чтобы хукнуть d3d9 EndScene

так ты хочешь В окне рисовать или ПОВЕРХ окна?

waparabka 22.02.2024 08:29

https://github.com/AnWuPP/ImGui-Scoreboard здесь есть всё что тебе нужно

Vintik 22.02.2024 14:36

Цитата:

Сообщение от F0RQU1N and

так ты хочешь В окне рисовать или ПОВЕРХ окна?

Значит, сама игра открывается в полноэкранном режиме. Я хочу, чтобы поверх игры рисовалось мое меню.

Как это будет реализовываться - поверх окна или в окне после того, как все остальное нарисуется - мне не важно.

Цитата:

Сообщение от 0xFF

Лови сурс моего вх, делал в декабре 22 года, думаю для твоего вопроса найдется там ответ, т.к. там есть хук d3d9 для ImGui.
Был в привате, пока на амазинге не сказали что это всё зуйня, ну окей.

GitHub - VadimBoev/AmazingMinerWH

Contribute to VadimBoev/AmazingMinerWH development by creating an account on GitHub.

github.com


Всё что тебе нужно, это для решения твоего вопроса:
1. функции хука
2. адреса для хука d3d9 (тащишь его с гта, в примере всё есть)

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

Цитата:

Сообщение от waparabka

https://github.com/AnWuPP/ImGui-Scoreboard здесь есть всё что тебе нужно

Ребят.

Спасибо за решения, но уж очень быстро вы ответили)

Работаю, не успеваю проверить. Когда проверю - отпишу, лучший ответ поставлю 😁

Если у кого-то ещё тоже есть примеры - скидывайте) чем больше, тем лучше

@0xFF, скажи пожалуйста, что это за функции (вкратце):

1.

C++:





Код:

std
::
uintptr_t
find_device
(
std
::
uint32_t
Len
)
;



2.

C++:





Код:

void
*
get_function_address
(
int
VTableIndex
)
;



Хуки ставятся по адресам, которые находит эта функция.

Эти адреса записаны в массиве с индексами 16 и 17.

Значит, что такое 16 и 17.

И что такое 0x128000 (аргумент find_device)?

вайега52 22.02.2024 17:32

Цитата:

Сообщение от Vintik

скажи пожалуйста, что это за функции

они взяты с этого гайда: link

первая, вроде как, ищет девайс по сигнатуре, а вторая получает адрес ифункции из вмт (virtual method table)

manukhov 22.02.2024 18:01

Цитата:

Сообщение от Vintik

Значит, что такое 16 и 17.

16 - Reset

17 - Present

Здесь полный список https://www.unknowncheats.me/forum/direct3d/66594-d3d9-vtables.html

Можешь также найти у себя в DirectX SDK файл d3d9.h и смотреть это там

Цитата:

Сообщение от Vintik

И что такое 0x128000 (аргумент find_device)?

Объем памяти, по которой будет происходить поиск методов D3D9


Время: 17:00