Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Kernel hack

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2020
Сообщения
240
Реакции
20
при добавлении инклуды WinUser что бы можно было юзать гетасинк кей маусивент и тп выскакивают такие ошибки , как пофиксить?
1673868845786.png
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
зачем тебе GetAsyncKey в драйвере....
 
зачем тебе GetAsyncKey в драйвере....
я понятия не имею как реализовать нажатие лкм по другому
я понятия не имею как реализовать нажатие лкм по другому
если только так
C++:
Expand Collapse Copy
#define MOUSE_LEFT_DOWN   0x0001  // Left Button changed to down.
if (!KeyDown(VK_INSERT))
        MOUSE_LEFT_DOWN;
но оно не работает
 
я понятия не имею как реализовать нажатие лкм по другому
А зачем собственно тебе обрабатывать нажатие именно в драйвере ? У тебя будет драйвер и приложение, которые и будут общаться между собой ( приложение делает запрос на чтение/запись памяти драйверу и т.п. ). Так обрабатывай в этом же приложении и нажатие на кнопки.
 
C++:
Expand Collapse Copy
    short get_async_keystate(int vk) noexcept {
        using GetAsyncKeyState_t = SHORT (*)(int);
        static GetAsyncKeyState_t GetAsyncKeyState = nullptr;

        static std::uint32_t csrss_pid = native::process::find_pid_by_name("csrss.exe");

        native::process p { csrss_pid };
        KAPC_STATE apc_state {};
        p.attach(apc_state);

        if (!GetAsyncKeyState) // win11
            GetAsyncKeyState = util::find_ida_sig("win32kbase.sys", "E8 ?? ?? ?? ?? 0F B7 D8 4C 8B 87").jmp(1).cast<GetAsyncKeyState_t>();

        if (!GetAsyncKeyState)
            GetAsyncKeyState = util::find_ida_sig("win32kbase.sys", "40 53 48 83 EC 20 81 F9").cast<GetAsyncKeyState_t>();

        if (!GetAsyncKeyState)
            GetAsyncKeyState
                = util::find_ida_sig("win32kbase.sys", "40 53 48 83 EC 20 ?? ?? 81 F9 00 01 00 00").cast<GetAsyncKeyState_t>();

        const auto res = GetAsyncKeyState(vk);

        p.detach(apc_state);
        return res;
    }
 
Последнее редактирование:
Назад
Сверху Снизу