C++ Вопрос Возможно после инжекта dll получить адреса (offset)

Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
111
Реакции[?]
3
Поинты[?]
0
возможно после инжекта dll получить адреса (offset) с++

суть
1. я написал dll imgui!
2. успешно заинжектилься
3. хочу получить адреса
4. как это сделать ? и реально это?
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
возможно после инжекта dll получить адреса (offset) с++
Конечно возможно.
У каждого процесса свое виртуальное адресное пространство, виртуальное означает что по двум одинаковым адресам у разных процессов могут быть разные данные.
При инжекте длл, ты провоцируешь процесс загрузить чит как библиотеку, при этом виндовый загрузчик проекцирует дллку в память процесса.
Таким образом дллка внутри получает полный доступ к памяти процесса, и она может совершать любые операции чтения и записи как будто это его адресное пространство.
Но стоит еще учитывать что сам экзешник процесса может быть спроецирован по любой базе из-за ASLR, поэтому сперва найди его базовый адрес (GetModuleHandleA(0)) и прибавляй к нему нужные смещения.
 
Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
111
Реакции[?]
3
Поинты[?]
0
Конечно возможно.
У каждого процесса свое виртуальное адресное пространство, виртуальное означает что по двум одинаковым адресам у разных процессов могут быть разные данные.
При инжекте длл, ты провоцируешь процесс загрузить чит как библиотеку, при этом виндовый загрузчик проекцирует дллку в память процесса.
Таким образом дллка внутри получает полный доступ к памяти процесса, и она может совершать любые операции чтения и записи как будто это его адресное пространство.
Но стоит еще учитывать что сам экзешник процесса может быть спроецирован по любой базе из-за ASLR, поэтому сперва найди его базовый адрес (GetModuleHandleA(0)) и прибавляй к нему нужные смещения.
воо, спасибо! а базовый адрес искать лучше через CE ? ( пишу на игру Genshin Impact)
 
Начинающий
Статус
Оффлайн
Регистрация
5 Апр 2019
Сообщения
123
Реакции[?]
12
Поинты[?]
0
воо, спасибо! а базовый адрес искать лучше через CE ? ( пишу на игру Genshin Impact)
какой те геншин импакт, там ач кернелевский те его как минимум обойти над)
а адреса - лучше реверсить игру, но т.к он накрыт вмп ты пойдешь нахуй
 
Последнее редактирование:
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
380
Реакции[?]
64
Поинты[?]
2K
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
10 Фев 2019
Сообщения
111
Реакции[?]
3
Поинты[?]
0
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
лучше реверсить, но т.к он накрыт вмп ты пойдешь нахуй
Вовсе нет, даже если клиент игры с твоих слов накрыт вмп (я не вкурсе) это ничего не меняет.
Вмп не знает ничего о бинарнике, он никак не может скрыть части кода, если например используется упаковка, то он обязан распаковать бинарник целиком как раз перед передачей управления клиенту, поэтому достаточно сделать дамп после того как клиент уже распаковался и закинуть в иду.
А виртуализация маловероятна в играх вообще, потому что сильно убивает производительность.
 
Пользователь
Статус
Оффлайн
Регистрация
17 Июл 2021
Сообщения
462
Реакции[?]
118
Поинты[?]
10K
ЗАЧЕМ ДУМАТЬ ЕСЛИ МОЖНО НЕ ДУМАТЬ
Пользователь
Статус
Оффлайн
Регистрация
25 Июл 2021
Сообщения
157
Реакции[?]
38
Поинты[?]
0
воо, спасибо! а базовый адрес искать лучше через CE ? ( пишу на игру Genshin Impact)
C++:
reinterpret_cast<std::uintptr_t>(GetModuleHandle(TEXT("GameAssembly.dll")))
--базовый адрес для юнити я просто хз на коком движке Genshin да
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
380
Реакции[?]
64
Поинты[?]
2K
С какими другими. С другими играми примерно тоже самое, только если "другая игра" не на java написана.
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
380
Реакции[?]
64
Поинты[?]
2K
Что за бред? Читы на C++ для игр на Java тоже пишутся))
Читай внимательней, я писал про свой гайд, что он работает для любой игры написанной на С. И никак не говорил, что читы для java нельзя написать.
 
Последнее редактирование:
midnight.im
Администратор
Статус
Оффлайн
Регистрация
1 Июл 2015
Сообщения
1,650
Реакции[?]
2,173
Поинты[?]
162K
Да, покажи как сделать чит для майнкрафта на С++ например с подробным описанием (хотя бы обычно чтение/запись) Да, не спорю, для игр на java пишутся читы, но не так просто, как для игр написанных на С.
а java на чем написана? и что тебе мешает с jvm работать на плюсах?
 
vk.com/ahkcsgocheat
Пользователь
Статус
Оффлайн
Регистрация
21 Апр 2020
Сообщения
380
Реакции[?]
64
Поинты[?]
2K
Я про свой гайд писал, что работает для любой игры написанной на С, но для игр на java - нет. Может автор вопрос имел ввиду, игру написанную на java (что тоже возможно).
 
Последнее редактирование:
Сверху Снизу