Вопрос Траблы с client.dll

Начинающий
Статус
Оффлайн
Регистрация
3 Май 2021
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Доброго времени суток, решил попробовать себя в написании простенького bhop`а, и сразу же столкнулся с проблемой, а именно с нахождением модуля client.dll. processID csgo найти получается, а вот модуль находить не хочет, в консоль выводит 0. Хотелось бы знать, что и где именно не так. Использовал мемори класс MemMan.
C++:
int main()
{
    DWORD processID = memory.getProcess("csgo.exe");
    val.gameModule = memory.getModule(processID, "client.dll");
    std::cout << processID << std::endl;
    std::cout << val.gameModule << std::endl;
    return 0;
}
Код получения модуля:
C++:
uintptr_t MemMan::getModule(DWORD procId, const char* modName)
{
    HANDLE hModule = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
    MODULEENTRY32 mEntry;
    mEntry.dwSize = sizeof(mEntry);

    do
    {
        if (!strcmp(mEntry.szModule, modName))
        {
            CloseHandle(hModule);
            return (DWORD)mEntry.hModule;
        }
    } while (Module32Next(hModule, &mEntry));
    return 0;
}
P.s. Если у кого-то есть ссылочка на гайд по созданию мемори класса, буду рад ознакомиться :CoolStoryBob:
 
Эксперт
Статус
Оффлайн
Регистрация
3 Апр 2020
Сообщения
1,124
Реакции[?]
595
Поинты[?]
0
Код:
 uintptr_t GetModuleBaseAddress(DWORD procId, const char* modName)
    {


        uintptr_t modBaseAddr = 0;
        HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, procId);
        if (hSnap != INVALID_HANDLE_VALUE)
        {
            MODULEENTRY32 modEntry;
            modEntry.dwSize = sizeof(modEntry);
            if (Module32First(hSnap, &modEntry))
            {
                do
                {
                    if (!_stricmp(modEntry.szModule, modName))
                    {
                        modBaseAddr = (uintptr_t)modEntry.modBaseAddr;
                        break;
                    }
                } while (Module32Next(hSnap, &modEntry));
            }
        }
        CloseHandle(hSnap);
        return modBaseAddr;

    }
а тебе норм там закрывать хендл до получения модуля?)
 
Начинающий
Статус
Оффлайн
Регистрация
3 Май 2021
Сообщения
3
Реакции[?]
0
Поинты[?]
0
Сверху Снизу