Перейти к содержанию

Указание адреса начала класса во внешних читах


Рекомендуемые сообщения

Переписываю один из своих читов из dll в exe, т.е без инжектирования в игру. Возникла проблема, при чтении адреса начала класса с помощью шаблонной функции.

 

Это мы устанавливаем адрес для нашего класса:

C_LocalPlayerBaseOffsets* c_LocalPlayerBaseOffsets = reinterpret_cast<C_LocalPlayerBaseOffsets*>(func->getLocalBase());

Если по обычному читать, то все работает:

int health = 0;
ReadProcessMemory(memory->hProcess, reinterpret_cast<PBYTE*>(&c_LocalPlayerBaseOffsets->m_iHealth), &health, 4, 0);

Если использовать шаблон, то получаю ошибку "невозможно преобразовать аргумент 1 из "int *" в "DWORD":

memory->ReadMem<int>(&c_LocalPlayerBaseOffsets->m_iHealth);

Сама шаблонная функции:

Скрытый текст

template <class cData>
	cData ReadMem(DWORD dwAddress)
	{
		cData cRead;
		ReadProcessMemory(hProcess, reinterpret_cast<PBYTE*>(dwAddress), &cRead, sizeof(cData), 0);
		return cRead;
	}

 

 

 Может кто сталкивался с подобным?

 

 

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Dino сказал:

ты адрес переменной передаешь, следовательно и принимать должен адрес

Так я его передают, чтобы считать его и вернуть значение в int. шаблон возвращает буфер.

Изменено пользователем partoftheworlD
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, partoftheworlD сказал:

Так я его передают, чтобы считать его и вернуть значение в int.

ты используешь оператор взятия адреса & , затем передаешь его в функцию, но функция у тебя принимает только значения типа DWORD, от сюда и происходит конфликт.

Помимо прочего ты его еще и не разыменовал.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

23 минуты назад, Dino сказал:

ты используешь оператор взятия адреса & , затем передаешь его в функцию, но функция у тебя принимает только значения типа DWORD, от сюда и происходит конфликт.

Помимо прочего ты его еще и не разыменовал.

Все спасибо, проблема решена.

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.