Вопрос Kernel hack

Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2020
Сообщения
238
Реакции[?]
20
Поинты[?]
3K
при добавлении инклуды WinUser что бы можно было юзать гетасинк кей маусивент и тп выскакивают такие ошибки , как пофиксить?1673868845786.png
 
Начинающий
Статус
Оффлайн
Регистрация
28 Дек 2020
Сообщения
238
Реакции[?]
20
Поинты[?]
3K
зачем тебе GetAsyncKey в драйвере....
я понятия не имею как реализовать нажатие лкм по другому
я понятия не имею как реализовать нажатие лкм по другому
если только так
C++:
#define MOUSE_LEFT_DOWN   0x0001  // Left Button changed to down.
if (!KeyDown(VK_INSERT))
        MOUSE_LEFT_DOWN;
но оно не работает
 
Участник
Статус
Оффлайн
Регистрация
15 Янв 2021
Сообщения
492
Реакции[?]
289
Поинты[?]
79K
я понятия не имею как реализовать нажатие лкм по другому
А зачем собственно тебе обрабатывать нажатие именно в драйвере ? У тебя будет драйвер и приложение, которые и будут общаться между собой ( приложение делает запрос на чтение/запись памяти драйверу и т.п. ). Так обрабатывай в этом же приложении и нажатие на кнопки.
 
EFI_COMPROMISED_DATA
лучший в мире
Статус
Оффлайн
Регистрация
26 Янв 2018
Сообщения
920
Реакции[?]
1,632
Поинты[?]
85K
C++:
    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;
    }
 
Последнее редактирование:
Сверху Снизу