Как заблокировать файл

Тема в разделе "WASM.ZEN", создана пользователем Nikolay_1, 13 дек 2006.

  1. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Я удаляю файл в папке system32 (не важно какой), быстро записываю на его место другой с таким же именем, но windows переименовывает новый файл и восстанавливает старый.
    В VisualC++ мне удавалось этого избежать функцией CreateFile с незакрытым handle (файл блокировался), но в асме не могу. Я использовал:

    file db "file.exe",0
    invoke CreateFile,addr file,GENERIC_READ or GENERIC_WRITE,NULL,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL

    Подскажите, как подменить файл?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Отключить sfc не проще? А блокировать - открыть без общего доступа, LockFile(Ex), через ACL.
     
  3. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Отключить нет возможности. Но мне удалось через CreateFile. Оказалось, программа закрывалсь раньше времени.
     
  4. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Во время отключения компа снова восстановился старый файл.
    Есть вариант - повесить комп во время блокировки файла (удалось) или загр.диск (-NTFS), но дистанционно такое ни сделать - беспричинное зависание подозрительно.
    Придется отключать защиту в реестре. Как это сделать?
     
  5. zxm

    zxm New Member

    Публикаций:
    0
    Регистрация:
    20 июл 2006
    Сообщения:
    71
    Глянь как твикеры делают. Такого добра в инете навалом. И кстати старый файл заменяется из папки C:\WINDOWS\system32\dllcache, поэтому заменять его нужно и тут.
     
  6. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Спасибо
     
  7. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Теперь в окне ввода пароля пользователя могу запустить свою прогу, которая меняет в реестре строковой параметр LogonType с 1 на 0:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

    Почему то меняется стр.параметр "по умолчанию".
    Напишите пример изменения LogonType с 1 на 0.
     
  8. Nikolay_1

    Nikolay_1 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2006
    Сообщения:
    11
    Всё уже сделал. Тема закрыта.