Прямое обращение к портам программой из ринг3

Тема в разделе "WASM.WIN32", создана пользователем niro, 17 июн 2009.

  1. niro

    niro New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2009
    Сообщения:
    35
    Нужна программа, которая могла бы не заметно для Outpost Firewall да и для любого фаервола эмулировать нажатие клавиш используя контроллер клавиатуры. Применяю драйвер GiveIO для доступа к портам из ринг3, управлять программно мышю уже научился, а вот клавиатурой ни как не выходит :dntknw: Что я делаю не так???

    вот код который я исспользую:

    asm
    mov al, 0D2h
    out 64h, al
    mov al, ///код клавиши
    out 60h, al
    end;
     
  2. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    "out" это привилигированая инструкция и в user mode (aka ring 3) ты получишь exception.
     
  3. niro

    niro New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2009
    Сообщения:
    35
    а что есть exception ?
     
  4. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    приехали
     
  5. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    niro
    остановка конечная, можно выходить
     
  6. mrcrown

    mrcrown Member

    Публикаций:
    0
    Регистрация:
    18 янв 2008
    Сообщения:
    227
  7. barton

    barton New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2008
    Сообщения:
    164
    Адрес:
    Czechoslovakia
    Эта самае.. надо вапще порты расшарить из ядра для начала, а потом их юзать
     
  8. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    s0larian
    barton

    драйвер giveio разрешает использование этой инструкции в юзермоде
     
  9. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Ну так этот дров и открывает прямой ввод-вывод посредством Ke386SetIoAccessMap/Ke386IoSetAccessProcess. Проще просто поле IOPL в флажках установить. Только вот зачем, клавиатура програмируется в ядре и прерывания от неё тоже там обрабатываются, а из юзермода защита не позволяет обращаться к портам, дров грузить чтобы затем в порты писать на CPL = 3 это ппц., с целью обхода прота.
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    niro
    Посмотри здесь пример непосредственного обращения к портам из ring3 из-под WinXP (просмотр CMOS, получение scancode, перезагрузка)
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    А лучше всего не обращаться к портам из ринг3, это запрещено не просто так и разрешать бещз крайней необходимости это не надо.
    Лучше написать драйвер, который будет делать то, что нужно.