Я ищу способ передать адрес указателя из чит-движка в строку кода.
Адрес Cheat Engine: P-> 0C86D240.
Строка кода выглядит следующим образом:
WriteProcessMemory(handle,(LPVOID)P->0C86D240,).
В конце я хотел бы изменить значение адреса указателя.
Обновление: я изменил P-> на 0x0C86D240 и смог записать память для ЭТОГО сеанса игры. Когда закрыли, а затем снова открыли, шестнадцатеричный номер был другим
P->0C86D240
в Cheat Engine означает, что запись представляет собой цепочку указателей, которая в конечном итоге разрешается по адресу 0x0C86D240
, Если дважды щелкнуть эту часть в Cheat Engine, вы увидите всплывающее диалоговое окно, показывающее, из чего состоит эта цепочка указателей. Например, давайте назовем начальный указатель P0
и ряд смещений называется offset0, offset1, offset2, ...
, Цепочка указателей должна принимать значение по адресу P0 + offset0
, используйте это как следующий указатель P1
, затем возьмите значение по адресу P1 + offset1
, используйте это как следующий указатель P2
… эта цепочка, наконец, даст вам адрес 0C86D240
, Если вы перезагрузите игру, вы надеетесь, что P0
не изменится, но все впоследствии изменится динамически (т.е. P1, P2, P3,
…) и проследите до нужного значения.
Если вы знаете, как работает цепочка указателей, тогда просто преобразовать ее в C ++. Вам просто нужно принять к сведению базовый указатель и все смещения (как показано во всплывающем диалоговом окне, дважды щелкнув P->0C86D240
part.) Затем проследите, пока вы не используете все значения смещения.
Шаг 1: Поиск значения, которое вы хотите изменить с помощью чит-движка.
Шаг 2: Если вы нашли правильный адрес, щелкните по нему правой кнопкой мыши и просканируйте указатель этого адреса. Теперь вы должны получить много базовых адресов с некоторыми смещениями.
Шаг 3: Закройте игру и повторите шаг 1. Теперь скопируйте новый адрес и нажмите повторно сканировать указатель (в окне, которое открывается с шага 2). Вставьте новый адрес в поле адреса повторного сканирования и выполните повторное сканирование. Тогда вы должны только получить правильные базовые адреса + смещения.
Шаг 4: Чтобы всегда найти правильный адрес, выполните: readprocessmemory (baseaddress + offset)
Прежде всего, я не могу понять, что означает P->, возможно, удалите это и сделайте значение 0x для hex
Когда закрыли, а затем снова открыли, шестнадцатеричный номер был другим
Я думаю, что вы говорите об игре, если я не прав, тогда не продолжайте читать
таким образом, адрес, который вы получаете от чит-движка, вероятно, является динамическим, что означает, что каждый раз, когда вы закрываете или открываете его, это значение будет меняться в том смысле, что программе будет выделено другое место в памяти.
Итак, что нужно делать…..
вы можете найти статический адрес, этот процесс немного сложнее, я советую вам посмотреть учебник https://www.youtube.com/watch?v=hfWOAFsYnFA