Начинающий
- Статус
- Онлайн
- Регистрация
- 19 Окт 2022
- Сообщения
- 45
- Реакции
- 17
Хотел прочесть имена игроков в игре, написал код но всё равно ошибка. Немогу понять в чём проблема, брал самые последние оффсеты.
Код:
#include <iostream>
#include <string>
#include "memory.h"
uint64_t dwLocalPlayer = 0x1E0E578;
uint64_t dwEntityList = 0x1D05458;
uint64_t m_iszPlayerName = 0x6E8;
int main() {
int pid = memory::get_process_id_by_name("cs2.exe");
if (pid <= 0)
{
std::cout << "Cs2 not found.\n";
return 1;
}
std::cout << pid << std::endl;
uint64_t base_addr = reinterpret_cast<uint64_t>(memory::main_module.lpBaseOfDll);
uint64_t entity_list = memory::read<uint64_t>(base_addr + dwEntityList);
std::cout << "Player entity:\n";
for (uint64_t i = 0; i < 32; i++)
{
uint64_t entity_addr = memory::read<uint64_t>(entity_list + i * 0x10); // address syshnosti + entity size
if (entity_addr == 0)
continue;
uint64_t name_ptr = memory::read<uint64_t>(entity_addr + m_iszPlayerName); // player address name
if (name_ptr == 0)
continue;
char player_name[32] = { 0 };
if (!ReadProcessMemory(memory::proc_handle, reinterpret_cast<LPCVOID>(name_ptr), &player_name, sizeof(player_name), nullptr)) {
std::cout << "Error for read" << std::endl;
}
else {
std::cout << i << ": " << player_name << std::endl;
}
}
return 0;
}