Вопрос Getting External Module Handle

Забаненный
Статус
Оффлайн
Регистрация
1 Фев 2022
Сообщения
32
Реакции[?]
26
Поинты[?]
6K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Код выглядит следующим образом:
C++:
HMODULE C_Utils::GetRemoteModuleByName( HANDLE hProcess, const char* szModuleName )
{
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, GetProcessId(hProcess));
    if (!hSnapshot)
        return 0;

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

    if (!Module32First(hSnapshot, &ModuleEntry))
    {
        CloseHandle(hSnapshot);
        return 0;
    }

    HMODULE hModule = 0;
    while (Module32Next(hSnapshot, &ModuleEntry))
    {
        if (strcmp(szModuleName, ModuleEntry.szModule))
            continue;

        hModule = ModuleEntry.hModule;
        break;
    }

    if (!hModule)
        hModule = this->LoadModuleExternal(hProcess, szModuleName);

        CloseHandle(hSnapshot);
    return hModule;
}
Использую в маппере для работы с модулями и импортами, оно напрочь отказывается их получать. Делаю так:

C++:
#define AddModuleByName( Name, szName ) \
DWORD Name = ( DWORD )( g_Utils->GetRemoteModuleByName( g_Utils->GetCSGOProcess( ), szName ) );\
while ( !Name ) \
{\
Name = ( DWORD )( g_Utils->GetRemoteModuleByName( g_Utils->GetCSGOProcess( ), szName ) );\
LI_FN( Sleep ) ( 1000 );\
}\
Процесс правильно находит, но ни один модуль не берется и все, даже после полной загрузки игры
C++:
AddModuleByName( dwClientDll, _S( "client.dll" ) );
    AddModuleByName( dwEngineDll, _S( "engine.dll" ) );
    AddModuleByName( dwD3D9, _S( "d3d9.dll" ) );
    AddModuleByName( dwMaterialSystem, _S( "materialsystem.dll" ) );
    AddModuleByName( dwFileSystem, _S( "filesystem_stdio.dll" ) );
    AddModuleByName( dwVSTDLib, _S( "vstdlib.dll" ) );
    AddModuleByName( dwDataCache, _S( "datacache.dll" ) );
    AddModuleByName( dwVPhyiscs, _S( "vphysics.dll" ) );
    AddModuleByName( dwInputSystem, _S( "inputsystem.dll" ) );
    AddModuleByName( dwLocalize, _S( "localize.dll" ) );
    AddModuleByName( dwShaderApiDX9, _S( "shaderapidx9.dll" ) );
    AddModuleByName( dwVGui, _S( "vguimatsurface.dll" ) );
    AddModuleByName( dwVGui2, _S( "vgui2.dll" ) );
В чем может быть проблема?
 
Сверху Снизу