C++ Вопрос Dll write/read crash

nop
Пользователь
Статус
Оффлайн
Регистрация
1 Ноя 2019
Сообщения
261
Реакции[?]
53
Поинты[?]
0
Пытался сделать чит с меню на игру saints row IV когда я получаю или пишу число при этом в руках у меня нет оружие у меня крашит игра ( число патронов )
 
Забаненный
Статус
Оффлайн
Регистрация
5 Окт 2021
Сообщения
73
Реакции[?]
12
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
проверка на нуллптр сделай если у тебя в руках к примеру оружия нет и все возращай 0
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
меня нет оружие у меня крашит игра ( число патронов )
Логически то подумай, если у тебя нет оружия, откуда возьмется поле под число патронов?
Вероятно ты используешь какую то цепочку оффсетов и указателей, проверяй что каждый указатель который ты читаешь не 0 (nullptr), прежде чем читать/писать туда.
Скорее всего есть какой нибудь класс игрока, в котором есть поле текущего оружия, соответственно когда его нет в руках, то и указатель пустой.
 
Keine panik!
Эксперт
Статус
Оффлайн
Регистрация
29 Апр 2020
Сообщения
812
Реакции[?]
417
Поинты[?]
49K
протекцию с памятм не снял мб
Память большинства объектов любой программы выделяется в куче (или в стеке), т.е. всегда читаемая и записываемая, никакой протекции там быть не может.
Именно по этой причине так легко делать патчи указателей виртуальных таблиц, и защитить ее невозможно, т.к. игре самой надо часто туда писать, если она будет снимать сама протекцию каждый раз, то это будет супероверхед, а просто защитить отдельные поля так же нельзя т.к. протекция на винде применяется на всю страницу (4кб в общем случае).
 
Сверху Снизу