информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft Authenticator прекращает... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Трабл... 01.03.02 12:33  Число просмотров: 1077
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> - перехватчиков дисковых операций, по ним луучше всего
> учиться и по сырцу Scramdiska.

Там (в исходниках) на С++ код сделан - а мне надо на асме - нужно просто...

Лучше всего на MASM

Если кто не пожалеет представьте код с копированием файла средствами драйвера, плиз
<programming>
VxD 28.02.02 07:23  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Какие-нибудь функции или сервисы существуют,чтобы организовать
копирование файла при помощи статического драйвера?
(наподобие CopyFile)

То есть нужно,чтобы в виндах 98 мой драйвер реагировал на некоторые действия пользователя - и копировал один файл на место другого - не знаю как это сделать.В DDK не нашел ответа
VxD - сделал но по-другому 04.03.02 08:33  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Какие-нибудь функции или сервисы существуют,чтобы
> организовать
> копирование файла при помощи статического драйвера?
> (наподобие CopyFile)
>
> То есть нужно,чтобы в виндах 98 мой драйвер реагировал на
> некоторые действия пользователя - и копировал один файл на
> место другого - не знаю как это сделать.В DDK не нашел
> ответа

Если это кому-нибудь потребуется

Нашел в DDK98 где про файлы написано - сделал через IFSMgr_Ring0_FileIO

mov eax,R0_RENAMEFILE
mov esi,OFFSET32 oldfile
mov edx,OFFSET32 newfile
IFSMgr_Ring0_FileIO
Fs_renamefile(pioreq pir) 01.03.02 00:38  
Автор: + <Mikhail> Статус: Elderman
<"чистая" ссылка>


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmeother/storage_5xko.asp
VxD: Или хочешь звать файловые сервисы из VxD ? 28.02.02 16:25  
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
> Какие-нибудь функции или сервисы существуют,чтобы
> организовать
> копирование файла при помощи статического драйвера?
> (наподобие CopyFile)

То-есть, звать CreateFile, ReadFile ... из VxD ?
У меня есть немножко мыслей(кода), могу занести.
Чингачгук как всегда точнее всех понял... 01.03.02 07:17  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > Какие-нибудь функции или сервисы существуют,чтобы
> > организовать
> > копирование файла при помощи статического драйвера?
> > (наподобие CopyFile)
>
> То-есть, звать CreateFile, ReadFile ... из VxD ?
> У меня есть немножко мыслей(кода), могу занести.

Вот ИМЕННО ЭТО Я И ХОТЕЛ УЗНАТЬ

Очень нужны (просто необходимы такие мысли)
Плиз,подскажи,а то своим умишком долго еще доходить буду
Пардон:: сразу не ответил. 02.03.02 05:55  
Автор: Chingachguk <Chingachguk> Статус: Member
<"чистая" ссылка>
> Очень нужны (просто необходимы такие мысли)
> Плиз,подскажи,а то своим умишком долго еще доходить буду

Тут вот какое дело. Я тут делал чтение своп-файла из вин32.(По этому поводу я долго пытал z0 в нитке ниже). И наткнулся

(далее речь идет о вин98)

на вот какой фикус-прикус:

зовем, к примеру (из win32-кода) CreateFile. Вызов проходит через kernel32. Но, как бы это сказать - транзитом: реально вызывается одна из VxD-шек, причем вызов ее до боли напоминает вот это:

Это пошел мой код, который сквозняком вызывает РЕАЛЬНЫЙ сервис из VxD:
Вызов того самого ORD_0001(процедура кернела):

.data
ORD_0001 dd 0BFF713D4h
TestName db "test.dat",0
SwpName db "C:\WINDOWS\win386.swp",0
;...
;; mov esi,offset SwpName ; В этом случае нам вернется 5 в EAX
mov esi,offset TestName ; А в этом - нормальное число (дескриптор на файл ?)
push ecx
mov eax,716Ch
push eax ; ?
push 0002a0010h ; 2a - VWIN32.VXD, 10 - ???
call dword ptr ORD_0001 ; VxDCall
; Если в ESI имя swap-а, то вернется в EAX 5(Доступ запрещен ?)
; Если в ESI имя нормального файла, то все OK - например, EAX=2e9h

А вот чтаа такое этот вызов на самом деле:

Функция LFN 6Ch: Создать или открыть файл с длинным именем(DOS !)
Ввод: AX=716Ch
BX=режим доступа Windows95
Биты 0-2:доступ
000-только для чтения
001-только для записи
; и т.д.

По моему мнению, этот сервис* можно тем более звать из других VxD через стандартный int 20h.
А к тому ж я вроде бы как видал, что вызовы ring0(VxD) - > ring3(kernel32) возможны, но тут лучше спецов спроси - я дилетант, вообще-то ж)

* Видимо, VWIN32.VXD - сборник, но реально - VMM32 ?
замечания 02.03.02 09:35  
Автор: z0 <z0> Статус: Member
<"чистая" ссылка>
> * Видимо, VWIN32.VXD - сборник, но реально - VMM32 ?

именно VWIN32 - т.н. "третье ядро" чикаги
все функции нужные APP-ам там сидят
VMM собственно и есть именно VMM - управлялка виртуальных машинок и драйверков
просто исторически она грузит всех (кто-то ж должен начинать) и поэтому популярнее чем VWIN32 (с точки зрения новичков)
Всмысле, хочешь перехватить запись в файл? 28.02.02 11:01  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
To Zef 01.03.02 07:25  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Нет не перехватить,а именно просто скопировать файл - я только недавно начал драйверами интересоваться - поэтому много чего еще не понимаю.

А в DDK я видел fs_renamefile,fs_openfile,fs_readfile и подобные им.
Только вот не нашел понятного примера их использования.
Что такое pioreq pir?
Плиз,объясните
Ищи Filemon - там сырцы sys & vxd 01.03.02 08:32  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
- перехватчиков дисковых операций, по ним луучше всего учиться и по сырцу Scramdiska.
Трабл... 01.03.02 12:33  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> - перехватчиков дисковых операций, по ним луучше всего
> учиться и по сырцу Scramdiska.

Там (в исходниках) на С++ код сделан - а мне надо на асме - нужно просто...

Лучше всего на MASM

Если кто не пожалеет представьте код с копированием файла средствами драйвера, плиз
На ASMе у Скрамдиска, но 01.03.02 12:41  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
он не перехватывает файловых операций, а только эмулирует диск и подключает его в систему.
Ищи Filemon - там сырцы sys & vxd 01.03.02 09:01  
Автор: New Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> - перехватчиков дисковых операций, по ним луучше всего
> учиться и по сырцу Scramdiska.

Спасибо - а я то тормоз и не подумал об этом - иногда этой отличной прогой пользуюсь

Еще раз спасибо
Ищи Filemon - там сырцы sys & vxd 01.03.02 11:58  
Автор: ih8u <i hate you> Статус: Member
<"чистая" ссылка>
Кстати сурсы FileMon'а лежат на сайте производителя - www.sysinternals.com
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach