Как мне написать на адреса со смещением? - PullRequest
0 голосов
/ 22 ноября 2018

Я делаю внешний хак-код, но я не могу (не знаю), как писать на адреса EX: 0x0471604 со смещением 0x14. Если кто-то может быть так добр, чтобы научить меня, я был бы в восторгеВот пример моего кода, так что вы можете указать, где я ошибся:

 #include <iostream>
 #include <string>
 #include <cstring>

 #include <Windows.h>

 DWORD Ammo = 0x028FA348;
 DWORD AmmoOffsets[] = {0x348,0x14,0x0};
 DWORD PointedAmmo;
 int ModdedAmmo = 1000;

 void AmmoMod()
 {
      HANDLE ProccessHandle = 
      OpenProcess(PROCESS_ALL_ACCESS, FALSE, GameProcessID);
      ReadProcessMemory(ProccessHandle, (LPCVOID)(Ammo + AmmoOffsets), &PointedAmmo, sizeof(PointedAmmo), 0);
      WriteProcessMemory(ProccessHandle, (LPCVOID)PointedAmmo, &ModdedAmmo, sizeof(ModdedAmmo), 0);
 }

1 Ответ

0 голосов
/ 22 ноября 2018
uint32_t address = /*some value*/;
uint32_t offset = /*some value*/;
uint32_t final_address = address + offset;
uint32_t result = *(uint32_t*) final_address;

Технически это то, как вы получаете доступ к «адресу» со «смещением».Конечно, это, вероятно, даст вам ошибку сегмента в 99% случаев, но это способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...