чит-движок - как отследить указатель по 6-байтовому адресу?

Я пытаюсь изучить основы программирования с Cheat Engine и играми.

До сих пор я все еще не могу понять указатель, особенно как их отслеживать.

Большинство руководств по указателям работают с адресами длиной 4 байта, но у меня есть адрес длиной 6 байт. До сих пор мне не удалось отследить базовый адрес по этому 6-байтовому адресу.

6-байтовый адрес

Как показано на скриншоте, R9 — это смещение, а RCX должен вести обратно к указателю. R9 остается прежним, а RCX меняется каждый раз при перезапуске игры. Куда мне идти отсюда?


person hstpctech    schedule 07.04.2021    source источник


Ответы (1)


32-битное адресное пространство использует 32-битное (4 байта) для адресации памяти, а 64-битное адресное пространство использует 64-битное (8 байт) для адресации памяти.

На практике 64-битная память намного больше, чем требуется (больше, чем предполагаемый размер хранилища всего Интернета), и поэтому системы решили использовать 48-битную (6 байт) для адресации своей памяти.

Поскольку большинство языков программирования и компьютеров в целом поддерживают только 32-битные и 64-битные (не поддерживают 48-битные), 48-битный адрес хранится в 64-битной переменной/регистре, причем старшие значащие байты равны нулю (0x0000).

Поэтому, чтобы сканировать значение указателя, вы должны сканировать 8-байтовое значение (с отмеченным шестнадцатеричным значением, поскольку CE по умолчанию показывает значения адреса как шестнадцатеричные)

person Irad Ohayon    schedule 08.04.2021
comment
Спасибо за объяснение. К сожалению, CE по-прежнему возвращал только динамический адрес вместо базового. Не могли бы вы поделиться шагами, которые я мог бы сделать, чтобы найти его? - person hstpctech; 09.04.2021
comment
Для некоторых адресов требуется многоуровневый указатель (указатель на указатель...), пока вы не достигнете базового адреса, а некоторые указатели могут вообще не привести к базовому адресу. Ответ на ваш вопрос действительно зависит конкретно от вашего исполняемого файла и от того, как ведет себя память. - person Irad Ohayon; 09.04.2021