Подмена иконки и размера файла

Тема в разделе "WASM.NT.KERNEL", создана пользователем dr_ivers, 18 сен 2007.

  1. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    Господа, возможно ли из-под драйвера ("в стиле NT", legacy) подменить иконку файла и его размер?
    Если да, то что для этого нужно, что перехватывать и т.п.?

    Спасибо.
     
  2. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    для подмены размера нужно либо аттачиться к стеку файловой системы (тое сть писать драйвер-фильтр), либо перехваывать ZwQueryInformationFile, либо перехватывать сразу MajorFunction[] у драйвера файловой системы.

    чтобы иконку - это уже сильно труднее. если это экзешник, то придется както перехватывать работу с ресурсами, если не экзешник - то там еще хуже. в любом случае это оч сложно
     
  3. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    перехваывать ZwQueryInformationFile смотрится как-то интереснее.
    А какое поле за это отвечает? EndOfFile?
     
  4. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    Т.е. связываться не стОит? Речь идет не о ресурсах, а только о тех иконках что подставляются системой. Казалось это возможно.....
     
  5. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    dr_ivers
    из драйвера это еще хлеще,чем из юзермода

    на самом деле это не самый надежный вариант.

    а ты посмотри разные коды File***Information. Там в некоторых из них есть поля и EndOfFile и FileSize и как они только незовутся. надо везде всё подменить.
     
  6. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    Посмотрел все классы, но так ничего кроме EndOfFile не нашел.
    Есть еще AllocationSize но его сути пока еще не понял.
     
  7. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    А из-под юзермода иконки изменить как-то возможно (не ресурсные, только подставные)?
     
  8. Guest

    Guest Guest

    Публикаций:
    0
    Хукай реестр, путь к иконкам в реестре, HKEY_CLASSES_ROOT, там лежат ".расширение_файла", берешь в этом разделе с расширением файла дефолтовый параметр и находишь раздел с таким же именем что и значение параметра в этой же ветке (HKEY_CLASSES_ROOT). В этом разделе будет подраздел DefaultIcon, в нем дефолтный параметр - путь к иконке.
    Например:
    HKEY_CLASSES_ROOT\.7z - WinRAR
    HKEY_CLASSES_ROOT\WinRAR\DefaultIcon - C:\Program Files (x86)\WinRAR\WinRAR.exe,0
     
  9. dr_ivers

    dr_ivers New Member

    Публикаций:
    0
    Регистрация:
    21 мар 2007
    Сообщения:
    17
    im1111
    Гуд, спасибо.


    Так какое же все-таки поле в классах ZwQueryInformationFile отвечает за размер файла?