Ищу обходной путь для ASLRC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ищу обходной путь для ASLR

Сообщение Anonymous »

Я пытаюсь сделать хаки для офлайн-игры под названием «TCG Card Shop Simulator», и столкнулся с несколькими проблемами, связанными с ASLR (рандомизацией макета адресного пространства), и мне интересно, почему мой код больше не работает. >
Я беру базовый адрес своей программы и жестко запрограммировал его в скрипте C++ вокруг ReadProcessMemory «+ 251CF1632FC», поскольку это адрес указателя, который я получаю в чит-движке для получения очков опыта (то, что я пытаюсь изменить).
Далее я получаю код ошибки «3e6», что, очевидно, означает «NOACCESS»:

Код: Выделить всё

#include 
#include 
#include 
#include 

DWORD_PTR GetModuleBaseAddress(const TCHAR* moduleName, DWORD processID) {
DWORD_PTR baseAddress = 0;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, processID);
if (hSnapshot == INVALID_HANDLE_VALUE) {
return 0; // Handle error
}

MODULEENTRY32 moduleEntry;
moduleEntry.dwSize = sizeof(MODULEENTRY32);

if (Module32First(hSnapshot, &moduleEntry)) {
do {
if (_tcscmp(moduleEntry.szModule, moduleName) == 0) {
baseAddress = (DWORD_PTR)moduleEntry.modBaseAddr;
break;
}
} while (Module32Next(hSnapshot, &moduleEntry));
}

CloseHandle(hSnapshot);
return baseAddress;
}

bool ReadMemory(HANDLE hProcess, DWORD_PTR address, void* buffer, SIZE_T size) {
SIZE_T bytesRead;
return ReadProcessMemory(hProcess, (LPCVOID)address, buffer, size, &bytesRead) && bytesRead == size;
}

int GetExperiencePoints(HANDLE hProcess, DWORD_PTR baseAddress) {
// Pointer offset for experience points
DWORD_PTR experiencePointerOffset = 0x251CF1632FC; // Adjust based on how you want to use it

// Calculate final address
DWORD_PTR finalAddress = baseAddress + experiencePointerOffset;

std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79145866/looking-for-a-workaround-for-aslr[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»