@yourisus

Как получить доступ к video memory?

Доброго времени суток.
Есть утилита CHeat Engine - которая помогает мониторить память процессов, но она работает с RAM.
Допустим у меня есть процесс, который использует видеопамять, насколько мне известно, в видеопамяти, хранятся кадры( например игра с разрешением 1024х768, будет хранить кадр с таким разрешением).
Допустим, я хочу свернуть игру, и продолжать делать свои дела, а бот в это время должен по видеопамяти определять свои действия (пример):
пока в этой области нет зеленого пикселя, то во входной поток процесса посылаем сигнал клавиши стрелка вправо(для того, чтобы развернуть персонажа)

Вот собственно и назрел вопрос, как получить доступ к видеопамяти, желательно на C++ можно, что-то более высокоуровневое?
  • Вопрос задан
  • 384 просмотра
Пригласить эксперта
Ответы на вопрос 2
@asd111
Всё вполне возможно. Почитайте как делают читы и встраиваются в память процесса. Вам надо встроиться в память процесса и дальше спокойно обрабатывать вызовы direct3d на отрисовку кадра.
На unknown cheats много инфы и кода.
На хабре тоже много статей на эту тему
https://habrahabr.ru/post/143178/
https://geektimes.ru/post/286236/
Ответ написан
Комментировать
jamakasi666
@jamakasi666
Просто IT'шник.
Как то не с той стороны заходите, у вас в RAM есть игра, в этой памяти есть координаты всех и всего в игровом мире в т.ч. кучи вспомогательной инфы. Вот этим и пользуйтесь.
Напрямую получать доступ к видеопамяти скорее всего не выйдет но можно попытаться написать hook на нужную либу директх\opengl\vulkan и через нее выдергивать кадры.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы