информационная безопасность
без паники и всерьез
 подробно о проекте
Портрет посетителяСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Как создать substed диск из под Win32? 07.12.01 14:51  Число просмотров: 1320
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> > а запусти команду subst
>
> Это не интересно. Охота узнать можно ли это сделать из
> Win32 приложения, и если можно то как.

Можно, это совершенно точно.
FAR например под Win98/ME/NT/2K позволяет удалять substо'вый диск клавишей Del в в меню выбора дисков.
Возьми subst.exe из NT/2K и посмотри, какие он API юзает.
В крайнем случае можно вызвать Int 21h (поищи по доске, я давал пример как вызывать Int 21h из Win32 прог), но это только для Win9x
<programming>
[Win32] Как создать substed диск из под Win32? 06.12.01 18:38  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я знаю только функцию 21h-го прерывания. (DOS)
А как сделать subj из Win32?
[Win32] Как создать substed диск из под Win32? 07.12.01 15:27  
Автор: cb <cb> Статус: Member
<"чистая" ссылка>
> Я знаю только функцию 21h-го прерывания. (DOS)
> А как сделать subj из Win32?

RTFM однако... ;))

DefineDosDevice(DDD_RAW_TARGET_PATH, "K:", "\\??\\c:\\tmp");

#define DDD_RAW_TARGET_PATH 0x00000001
#define DDD_REMOVE_DEFINITION 0x00000002
#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
#define DDD_NO_BROADCAST_SYSTEM 0x00000008

BOOL
DefineDosDeviceA(
DWORD dwFlags,
LPCSTR lpDeviceName,
LPCSTR lpTargetPath
);

cb.
[Win32] Как создать substed диск из под Win32? 13.12.01 15:29  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
А под Win9x?
[Win32] Как создать substed диск из под Win32? 13.12.01 19:59  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> А под Win9x?

В Win98 юзай DefineDosDevice(), она там реализована (хотя в MSDN написано Win9x unsupported - это неправда, мало ли чего там пишут :-))
В Win95 она и правда только заглушка, возвращающая ошибку, поэтому в Win95 вызывай Int 21h/AX=71AAh через VWIN32.VXD
[Win32] Как создать substed диск из под Win32? 14.12.01 16:30  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > А под Win9x?
>
> В Win98 юзай DefineDosDevice(), она там реализована (хотя в
> MSDN написано Win9x unsupported - это неправда, мало ли
> чего там пишут :-))
> В Win95 она и правда только заглушка, возвращающая ошибку,
> поэтому в Win95 вызывай Int 21h/AX=71AAh через VWIN32.VXD

А как его вызвать, в MS SDK есть пример для вызова только IOCTL функций 21-го прерывания через VWIN32.VXD, а как вызвать произвольную функцию?
[Win32] Как создать substed диск из под Win32? 14.12.01 20:10  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
В VWIN32.VXD есть сервис Int21h_Dispatch, через него kernel32.dll вызывает Int 21h. Ну а чем мы хуже kernel32.dll ? :-))
Про это безобразие можно почитать у Мэтта Питрека.

Из k32.def сделать lib и линковать subst.cpp c ним

; ---- k32.def ----
LIBRARY KERNEL32
EXPORTS
        _VxDcall @9

// ---- subst.cpp 
extern "C" int _declspec(dllimport) _VxDcall;

void main()
{
  char szSubstPath[] = "c:\\1";
  
  _asm 
  {
     mov    eax, 71AAh
     mov    ebx, 'M' - 'A'+1
     lea    edx, szSubstPath
     push   ecx
     push   eax
     push   2A0010h   // Int21h_Dispatch
     call   _VxDcall
  }
}

---
[Win32] Как создать substed диск из под Win32? 06.12.01 19:06  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
а запусти команду subst
[Win32] Как создать substed диск из под Win32? 07.12.01 14:25  
Автор: Oleg St. Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> а запусти команду subst

Это не интересно. Охота узнать можно ли это сделать из Win32 приложения, и если можно то как.
[Win32] Как создать substed диск из под Win32? 07.12.01 14:51  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> > а запусти команду subst
>
> Это не интересно. Охота узнать можно ли это сделать из
> Win32 приложения, и если можно то как.

Можно, это совершенно точно.
FAR например под Win98/ME/NT/2K позволяет удалять substо'вый диск клавишей Del в в меню выбора дисков.
Возьми subst.exe из NT/2K и посмотри, какие он API юзает.
В крайнем случае можно вызвать Int 21h (поищи по доске, я давал пример как вызывать Int 21h из Win32 прог), но это только для Win9x
[Win32] Как создать substed диск из под Win32? 07.12.01 14:42  
Автор: NeuronViking_IForgotMyPassword Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> > а запусти команду subst
>
> Это не интересно. Охота узнать можно ли это сделать из
> Win32 приложения, и если можно то как.
а ты subst дизассемблируй, поковыряйся и может найдешь что нужно...
1





Рейтинг@Mail.ru


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