Изменения прав хэндла файла.

Тема в разделе "WASM.WIN32", создана пользователем djmans, 21 апр 2009.

  1. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    Можно ли законно изменить права указываемые в CreateFileW(..., dwDesiredAccess, .. ,) уже после выполнения функции?
    Или как законно открыть файл если он уже открыт другим моим процессом с dwShareMode=0, не прибегая к DuplicateHandle?
     
  2. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    что то сообшение не могу отредактировать старое...

    Ситуация следующая вообще, в одном процессе файл открывается с правами только на чтение и dwShareMode=0, в другом процессе мне нужно писать в это файл, как это можно сделать?
     
  3. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Из юзер мода никак. В кернел моде можно найти хэндл в таблице хэндлов и изменить поле GrantedAccess.
     
  4. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Разве только через прямой доступ к диску.
     
  5. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    смотря какая задача и для чего. В юзверьмоде можно перехватить вызов NtCreateFile или пропатчить.
     
  6. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    ..или просто записать в память процесса перед PUSH, пред вызовом CreateFile 1 байт
     
  7. djmans

    djmans New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2006
    Сообщения:
    312
    спасибо.