Вопрос Не работает перечисление entitylist c++

Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
17
Реакции[?]
0
Поинты[?]
0
C++:
static int EntityList = 0x191FCC; // entitylist
static int health = 0xEC;

DWORD currentEntityList = GameModule + EntityList;

currentEntityList + 0x04;

if (currentEntityList) {
    std::cout << mem.read<int>(currentEntityList + health) << "\n";
}
выводит 81, хотя в cheat-engine все работает
всегда 81 выводит
 
Пользователь
Статус
Оффлайн
Регистрация
8 Дек 2019
Сообщения
322
Реакции[?]
38
Поинты[?]
0
зачем ты к currentEntityList прибавляешь 4, а потом еще EC? там указатель должен быть
 
I Want to Die in New Orleans
Участник
Статус
Оффлайн
Регистрация
10 Окт 2020
Сообщения
516
Реакции[?]
496
Поинты[?]
85K
C++:
static int EntityList = 0x191FCC; // entitylist
static int health = 0xEC;

DWORD currentEntityList = GameModule + EntityList;

currentEntityList + 0x04;

if (currentEntityList) {
    std::cout << mem.read<int>(currentEntityList + health) << "\n";
}
выводит 81, хотя в cheat-engine все работает
всегда 81 выводит
не разбирался в проблеме и твоём коде в целом, но вот так:
currentEntityList + 0x04;
быть не должно.

либо так:
currentEntityList = currentEntityList + 0x04;
либо вот так (лучше всё же вот так)):
currentEntityList += 0x04;
 
Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
17
Реакции[?]
0
Поинты[?]
0
не разбирался в проблеме и твоём коде в целом, но вот так:
currentEntityList + 0x04;
быть не должно.

либо так:
currentEntityList = currentEntityList + 0x04;
либо вот так (лучше всё же вот так)):
currentEntityList += 0x04;
все равно одно и тоже выводит
 
they tryna be cray
Пользователь
Статус
Оффлайн
Регистрация
22 Ноя 2017
Сообщения
238
Реакции[?]
78
Поинты[?]
4K
Не шарю в кс2, но если отталкиваться от ксго, то должно быть что-то вроде этого.


C++:
static int EntityList = 0x191FCC; // entitylist
static int health = 0xEC;

while (true)
{
    for (int i = 0; i < 64; i++)
    {
        DWORD dwEntityList = mem.read<DWORD>(GameModule + EntityList + (i * 0x04));

        if (dwEntityList)
        {
            std::cout << mem.read<int>(dwEntityList + health) << "\n";
        }
    }
}
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
что значит Не работает перечисление, если никакого цикла в коде и нету?
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
17
Реакции[?]
0
Поинты[?]
0
в таком случае логично что ты циклично пишешь в консоль одно и тоже - у тебя никак не меняется код в зависимости от стадии цикла..
я знаю, но один выводит то что нужно, блять я же написал прочитай тему
 
privates militärunternehmen "Überlegenheit"
Забаненный
Статус
Оффлайн
Регистрация
20 Сен 2023
Сообщения
152
Реакции[?]
113
Поинты[?]
23K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я знаю, но один выводит то что нужно, блять я же написал прочитай тему
я прекрасно все прочитал
отсутствие банально нейма игры под которую это сделано как и отсутствие твоего цикла никак не помогает понять в чем конкретно заключается проблема со стороны кода

тыкать пальцем в небо тут много мастеров, но я боюсь до такого не эволюционировал
 
Эксперт
Статус
Оффлайн
Регистрация
30 Дек 2019
Сообщения
1,967
Реакции[?]
958
Поинты[?]
19K
хз что это за игра, но если entitylist это массив, то добавить 0x4 тебе не даст ничего, нужно добавлять 0x4 на каждого игрока

Код:
for ( std::size_t i{}; i < max_players; i++ ) {
    health = ( std::uintptr_t )player_list + ( 0x4 * i ) + health_offset;
}
 
Забаненный
Статус
Оффлайн
Регистрация
12 Окт 2023
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
убедись что переменная GameModule содержит правильное значение и проверь что mem.read<int>(currentEntityList + health) читает корректные данные
и еще адрес health возможно неправильный
 
Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
17
Реакции[?]
0
Поинты[?]
0
убедись что переменная GameModule содержит правильное значение и проверь что mem.read<int>(currentEntityList + health) читает корректные данные
и еще адрес health возможно неправильный
1697217493027.png
с локал все работает, GameModule - правильный, хп тоже правильный, в чит енжин все работает

вот код сейчас:
C++:
// esp
for (int i = 0; i < playerCount; i)
{
    DWORD PlayerHealth = mem.read<DWORD>(GameModule + EntityList + (0x04 * i) + Health);
    std::cout << i+1 << " player - " << PlayerHealth << "\n";

}
static int EntityList = 0x191FCC; // entitylist

static int CurrentCountPlayers = 0x18AC0C;
static int Health = 0xEC;
 
Начинающий
Статус
Оффлайн
Регистрация
23 Янв 2022
Сообщения
17
Реакции[?]
0
Поинты[?]
0
1697220582657.pngда, тоже самое выводит. Неправильно складываю оффсеты, как правильно?)
 
Забаненный
Статус
Оффлайн
Регистрация
12 Окт 2023
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Посмотреть вложение 261403
с локал все работает, GameModule - правильный, хп тоже правильный, в чит енжин все работает

вот код сейчас:
C++:
// esp
for (int i = 0; i < playerCount; i)
{
    DWORD PlayerHealth = mem.read<DWORD>(GameModule + EntityList + (0x04 * i) + Health);
    std::cout << i+1 << " player - " << PlayerHealth << "\n";

}
static int EntityList = 0x191FCC; // entitylist

static int CurrentCountPlayers = 0x18AC0C;
static int Health = 0xEC;
у тебя роблема заключается в том что ты не увеличиваешь переменную i в цикле
без этого цикл будет бесконечный и программа будет зависать
исправь цикл, увеличивая i на единицу на каждой итерации (i++)
 
Начинающий
Статус
Оффлайн
Регистрация
26 Авг 2023
Сообщения
6
Реакции[?]
2
Поинты[?]
2K
В случае CS2 так:
1697220603679.png1697220617105.png

C++:
 DWORD64 dwEntity = RPM(pHandle, (LPVOID)(clientDLL + 0x016A8808)); // rdx
    for (int i = 0; i < 64; i++)
    {
        DWORD64 entity = RPM(pHandle, (LPVOID)(dwEntity + i * 8));
        // entity = rdi
        // dwEntity = rdx
        // r14 = i
        int entityHP = RPM(pHandle, (LPVOID)(entity + 0x32C));
        std::cout << i << " " << entityHP << std::endl;
    }
 
Забаненный
Статус
Оффлайн
Регистрация
12 Окт 2023
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
проверь
В случае CS2 так:
Посмотреть вложение 261418Посмотреть вложение 261419

C++:
 DWORD64 dwEntity = RPM(pHandle, (LPVOID)(clientDLL + 0x016A8808)); // rdx
    for (int i = 0; i < 64; i++)
    {
        DWORD64 entity = RPM(pHandle, (LPVOID)(dwEntity + i * 8));
        // entity = rdi
        // dwEntity = rdx
        // r14 = i
        int entityHP = RPM(pHandle, (LPVOID)(entity + 0x32C));
        std::cout << i << " " << entityHP << std::endl;
    }
убедись что переменная pHandle содержит корректный дескриптор, без этого ты не получишь доступа к памяти процесса
 
Сверху Снизу