Проблема с NtQueryDirectoryFile

Тема в разделе "WASM.WIN32", создана пользователем electron, 6 сен 2005.

  1. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290




    Аналогично =)



    Лучше потратить на 5-10 минут больше когда кодиш, чем потом пару дней на роздупление сурсов ...
     
  2. MegaZu

    MegaZu New Member

    Публикаций:
    0
    Регистрация:
    22 июл 2005
    Сообщения:
    290


    Ну а "." и ".." ???

    Хотя это правильно. Меняеш while() {} на do{} while()
     
  3. electron

    electron New Member

    Публикаций:
    0
    Регистрация:
    26 май 2005
    Сообщения:
    32


    Это был тестовый вариант.
     
  4. _staier

    _staier New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2003
    Сообщения:
    738
    Адрес:
    Ukraine
    electron





    вопрос несколько странен , словосочетание SoftIce Driver Studio(suite) не наводят на размышления

    делаешь в softice i3here on ( а может для драйверов он и так все int3 отлавливает , не помню точно ) и ->



    asm {int 3}



    или



    DbgBreak()







    кстати когда я отлаживал драйвер помню он вываливался в softice при exceptions



    может faults on надо сказать
     
  5. electron

    electron New Member

    Публикаций:
    0
    Регистрация:
    26 май 2005
    Сообщения:
    32


    да, стормозил.





    да, об int3 я не подумал.



    Ещё раз спасибо всем.
     
  6. Program2008

    Program2008 New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2008
    Сообщения:
    3
  7. discens

    discens New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    13
    Хм. А у меня вылетает в семёрке и когда ставлю антивирусы. С ошибкой PAGE_FAULT.
    IRQL = 0. У кого-то была такая проблема?
    Вылет происходит в этой части. Когда эту часть убрать, то в семёрке файлы не скрывает.
    case FileNamesInformation :
    FileNamesInfo = NULL;
    do
    {
    LastFileNamesInfo = FileNamesInfo;
    FileNamesInfo = (PVOID)((ULONG)FileInformation + Offset);
    if (FileNamesInfo->FileName[0] == 0x5F00)
    {
    if (!FileNamesInfo->NextEntryOffset)
    {
    if(LastFileNamesInfo) LastFileNamesInfo->NextEntryOffset = 0;
    else status = STATUS_NO_SUCH_FILE;
    return status;
    } else
    if (LastFileNamesInfo) LastFileNamesInfo->NextEntryOffset += FileNamesInfo->NextEntryOffset;
    }

    Offset += FileNamesInfo->NextEntryOffset;
    } while (FileNamesInfo->NextEntryOffset);
    break;

    Помогите кто чем может?
     
  8. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    А на какой строке вылетает? Ошибка, как я понял, PAGE_FAULT_IN_NON_PAGED_AREA? Проявляется на Win7 с антивирусами или просто на Win7? И сколькиразрядная Win7?
     
  9. discens

    discens New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    13
    НУ конкретно на какой строке - не знаю. Про ошибку правильно понял. Семёрка - 32-х. На семёрке проявляется просто, на ХР падает с антивирусами, правда не со всеми, с Касперским - вроде не падает, падает на: Outpost, Avast, Norton.
    Как мне показалось падает тогда, когда доходит до того файла что надо скрывать.
     
  10. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    А в чем проблема загрузить в отладчике и посмотреть более детально, что там происходит? Гадать можно довольно долго, т.к. в приведенном куске кода ошибки, вроде, нет. Насчет антивирусов -- SSDT, вероятно, перехвачена, с ними отдельно надо смотреть, что и как.
     
  11. discens

    discens New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2008
    Сообщения:
    13
    Посмотрю, как увижу скажу