Смещение адресов (GTA SA)

Gafask

Участник
Автор темы
137
13
Привет. Такой вопрос - как правильно добавить в смещение адресов памети. К примеру есть адрес 0х811111 будем щитать что это указатель на персонажа или педа, и есть 2 смешения к примеру 0х14 и следующие 0х30. Проблема в том что мои попытки взаимодействия были печальные, я пробовал по разному но возможно не правильно. Dword g =0х811111 и так я записал все адреса и все смещения и дав указатели на них но при попытке сложить получалась краш или не работа способность . Помогите 😕😕😕
 
Решение
Причём тут собейт. Мне просто нужен пример где при работе с паметью меняю значение к примеру флоат или добавляют, и важное это то что должно быть два смещения. Просто с 1 смещение я понял как сделать а вот с 2 не получается.
C++:
DWORD point = *reinterpret_cast<DWORD*>(0x8111111);
DWORD pointnd = *reinterpret_cast<DWORD*>(point + 0x8);
printf("%f", *reinterpret_cast<float*>(pointnd + 0x12));

Gafask

Участник
Автор темы
137
13
чекни исходники собейта
Причём тут собейт. Мне просто нужен пример где при работе с паметью меняю значение к примеру флоат или добавляют, и важное это то что должно быть два смещения. Просто с 1 смещение я понял как сделать а вот с 2 не получается.
 

ШPEK

Известный
1,476
524
Причём тут собейт. Мне просто нужен пример где при работе с паметью меняю значение к примеру флоат или добавляют, и важное это то что должно быть два смещения. Просто с 1 смещение я понял как сделать а вот с 2 не получается.
C++:
DWORD point = *reinterpret_cast<DWORD*>(0x8111111);
DWORD pointnd = *reinterpret_cast<DWORD*>(point + 0x8);
printf("%f", *reinterpret_cast<float*>(pointnd + 0x12));
 
Последнее редактирование:
  • Нравится
Реакции: Gafask

Gafask

Участник
Автор темы
137
13
C++:
DWORD point = *reinterpret_cast<DWORD*>(0x8111111);
DWORD pointnd = *reinterpret_cast<DWORD*>(point + 0x8);
printf("%f", *reinterpret_cast<float*>(pointnd + 0x12));
А если сделать вот так ? Просто как я понял 3 строчка у тебя будет выводить в консоль текст , но я проверил свой вариант и он вроде как не работает в чем может быть проблема ? Мне просто нужно посчитать их и потом сохранить к примеру в Х . ( я просто только учусь и пытаюсь сделать перемещение на координаты другие , строга не суди )
C++:
DWORD point = *reinterpret_cast<DWORD*>(0xB6F5F0);

DWORD pointnd = *reinterpret_cast<DWORD*>(point + 0x14);

DWORD x =  *reinterpret_cast<DWORD*>(pointnd + 0x30);

Ну а меняю я координаты с помощью этого

C++:
if (GetAsyncKeyState(VK_NUMPAD8)) *reinterpret_cast<float *>(x) += 10.0f;
( он должен по логике переместится на 10 на х в перед ) ( но он не реагирует , а к примеру с хп игроком где 1 смещение адреса у меня все получилось на ура )
 

ШPEK

Известный
1,476
524
А если сделать вот так ? Просто как я понял 3 строчка у тебя будет выводить в консоль текст , но я проверил свой вариант и он вроде как не работает в чем может быть проблема ? Мне просто нужно посчитать их и потом сохранить к примеру в Х . ( я просто только учусь и пытаюсь сделать перемещение на координаты другие , строга не суди )
C++:
DWORD point = *reinterpret_cast<DWORD*>(0xB6F5F0);

DWORD pointnd = *reinterpret_cast<DWORD*>(point + 0x14);

DWORD x =  *reinterpret_cast<DWORD*>(pointnd + 0x30);

Ну а меняю я координаты с помощью этого

C++:
if (GetAsyncKeyState(VK_NUMPAD8)) *reinterpret_cast<float *>(x) += 10.0f;
( он должен по логике переместится на 10 на х в перед ) ( но он не реагирует , а к примеру с хп игроком где 1 смещение адреса у меня все получилось на ура )
Значит адреса неправильные
 
  • Нравится
Реакции: Gafask