dos прерывание int 21

Тема в разделе "WASM.BEGINNERS", создана пользователем domov0i, 27 мар 2008.

  1. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    здравствуйте.
    возникло парочка мелких вопросов...
    вот код:
    Код (Text):
    1. cseg SEGMENT
    2. assume cs:CSEG, ds:CSEG, es:CSEG, ss:CSEG
    3. org 100h
    4. start:
    5. call readwrite
    6. int 20h
    7. mov ax, 3D02h
    8. mov dx, offset patch  
    9. int 21h
    10. mov handle, ax
    11. mov ax, 5700h
    12. mov bx, handle
    13. int 21h
    14. mov time, cx  
    15. mov date, dx
    16. mov ax, 4000h
    17. mov bx, handle
    18. mov cx, 0006h  
    19. mov dx, offset stroka  
    20. int 21h
    21. mov ax, 5701h
    22. mov bx, handle
    23. mov cx, time  
    24. mov dx, date
    25. int 21h
    26. mov ax, 3E00h
    27. mov bx, handle
    28. int 21h
    29. int 20h
    30. handle dw 0
    31. time dw 0
    32. date dw 0
    33. stroka db 'qwerty$'
    34. patch db 'C:\windows\system32\ntoskrnl.exe', 0
    35. CSEG ends
    36. end start
    если пытаюсь в свой файл писать то все норм, не смотря на атрибуты файла, если в, допустим, ntoskrnl.exe, то просто не получается запись...
    почему?
    и еще когда, когда возвращаю файлу его старые дату и время, то все равно разница получается в одну секунду, интересно, почему?
     
  2. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    Может WFP(Windows File Ptotection)?
     
  3. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    а как ее можно обойти уже после полной загрузки системы?
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    domov0i
    Средствами ДОС по-моему никак.
     
  5. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    лол! какую траву куришь?
    ntoskrnl.exe - это:
    1. ядро
    2. запущенный ехе-шник

    В запущенные ехе-файлы по умолчанию запись запрещена
     
  6. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    zoool
    ntoskrnl.exe это драйвер, так что именно в этот запущенный екзешник - запись разрешена
     
  7. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    ЗЫ:
    "забудь его забудь" (с) не мое
     
  8. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    zoool
    ну попробуй удалить ;) удалится! но WFP его восстановит через несколько секунд

    выход, скопировать ядро под другим именем, и прописать в boot.ini параметр /kernek=новоеядро.exe
     
  9. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    К стате zoool что значит по умолчанию? кагбудтобы это отключить гдето можно...
     
  10. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    железо само по себе не знает, что к запущенному ехе-шнику нет доступа.

    За все отвечает софт.
    Не так сложно написать драйвер, позволяющий работать с занятыми ехе-файлами напрямую.
     
  11. domov0i

    domov0i New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    74
    короч я понял, писать нужно драйвер...
    всем спасибо...