C++ GetModuleBase выдаёт ошибку почему?

151
25 апреля 2018, 06:40

Нужно получить базовый адрес процесса, нашёл пример кода но он и подобные ему выдают вот такую ошибку в чём может быть дело? Скрин ошибки https://imgur.com/P0lTSp4

DWORD GetModuleBase(HANDLE hProc)
{
LPWSTR sModuleName = 0;
LPWSTR szBuf = 0;
DWORD cModules;
DWORD dwBase = -1;
HMODULE* hModules = NULL;
EnumProcessModules(hProc, hModules, 0, &cModules);
hModules = new HMODULE[cModules / sizeof(HMODULE)]; // <--- Ошибка!!!!!
if (EnumProcessModules(hProc, hModules, cModules / sizeof(HMODULE), &cModules))
{
    for (int i = 0; i < cModules / sizeof(HMODULE); i++)
    {
        if (GetModuleBaseName(hProc, hModules[i], (LPSTR)szBuf, sizeof(szBuf)))
        {
            if (wcscmp(sModuleName, szBuf) == 0)
            {
                dwBase = (DWORD)hModules[i];
                break;
            }
        }
    }
}
delete[] hModules;
return dwBase;
}
READ ALSO
С++ Есть способ получить базовый адрес процесса?

С++ Есть способ получить базовый адрес процесса?

Как в С++ получить базовый адрес процесса? Не могу найти примеров как получить такой адрес

177
Правка кода хеш функции

Правка кода хеш функции

Не совсем корректно работает программа для поиска индекса элемента по ключу

178
Не понимаю в чём проблема (динамические массивы структур)

Не понимаю в чём проблема (динамические массивы структур)

Задание: сделать массив из структур(содержание структуры это информация про ваших друзей, имя фамилия и тд

242
KeyCode/KeySym в строковый символ

KeyCode/KeySym в строковый символ

Пишу кейлоггер под линукс (C++), ловлю нажатия через XInput2, но конвертация кейкодов в символы происходит только в английские буквы, независимо...

164