1. Если вы только начинаете программировать на ассемблере и не знаете с чего начать, тогда попробуйте среду разработки ASM Visual IDE
    (c) на правах рекламы
    Скрыть объявление

Девайс не открывается

Тема в разделе "WASM.NT.KERNEL", создана пользователем somebodynew, 17 июн 2018.

  1. somebodynew

    somebodynew New Member

    Публикаций:
    0
    Регистрация:
    18 май 2018
    Сообщения:
    8
    Вообщем то создаю девайс как все (ну или почти, мап с тдл)
    Код (Text):
    1.     status = IoCreateDevice(DriverObject, 0, &deviceName, FILE_DEVICE_XXX, FILE_DEVICE_SECURE_OPEN, FALSE, &pDeviceObject);
    2.     if (!NT_SUCCESS(status))
    3.         KeBugCheckEx(1337, status, 0, 0, 0);
    4.  
    5.     status = IoCreateSymbolicLink(&symLink, &deviceName);
    6.     if (!NT_SUCCESS(status))
    7.         KeBugCheckEx(1338, status, 0, 0, 0);
    багчека разумеется нет, остальной код в ините выполняется корректно, девайс появляется в дереве /Device, однако CreateFile упорно возвращает 2 (не найден). Это точно не ЮМ хуки, потому что прямой сискол дает аналогичный результат.
    С PCHunter-ом выгрузил все левые драйвера (которые не от M$) у которых есть коллбэк на IRP_MJ_CREATE, не помогло. Данная проблема лечится перезагрузкой, правда не всегда одной (лол).
    Проявляется как на win7 так и на win10.
    Собственно, как такое вообще может быть ? Уже всю голову сломал.
     
  2. drem1lin

    drem1lin Member

    Публикаций:
    0
    Регистрация:
    17 мар 2009
    Сообщения:
    297
    У меня была подобная проблема, но в моем случае, я ошибся в функции обработчике IRP и заворачивал все пакеты. Т.е. я фэйлил все неподдерживаемые IRP_MJ_ и получил именно такой результат, как вы описываете. Но что бы иногда открывалось, а иногда нет, это что-то новое.