Модераторы: feodorv, GremlinProg, xvr, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрет доступа к каталогу 
V
    Опции темы
bra1ny
Дата 26.12.2009, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



Код

typedef HRESULT (__stdcall *MYPROC)( LPCWSTR  lpFilterName  );
       MYPROC addr;
    HRESULT res;
    addr = (MYPROC) GetProcAddress( LoadLibrary("fltlib.dll") , "FilterLoad");
    printf("FilterLoad at : %08X\n" , addr );
    res = addr(L"ololo");
    if( res != S_OK ) printf(" epic fail!\n");
    if( res == HRESULT_FROM_WIN32 (ERROR_FILE_NOT_FOUND) ) printf("yep!\n");


Я бы так сделал)
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
bra1ny
Дата 27.12.2009, 03:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



И так можете меня считать извращенцем )) Но я разреверсил FilterLoad и написал свой аналог)) 
Кратко Говоря вызов FilterLoad сводится к NtDeviceIoControlFile на FltMgr. Посылается структура 2 байта + строка. 
Код

typedef struct _tagLOAD
{
    WORD Len;
    WCHAR ServiceName[512];
} LOAD , *PLOAD;

 

Ну вот мой пример(тестил на примере из ддк (scanner) ).

Код

#include<stdio.h>
#include<windows.h>

typedef struct _tagLOAD
{
    WORD Len;
    WCHAR ServiceName[512];
} LOAD , *PLOAD;

#define MAGIC_IOCTL 0x00088004 

int main( int argc , char *argv[] )
{
    HANDLE hDevice;
    LOAD service_to_load;
    BOOL err;
    DWORD dwRet=0;


    hDevice = CreateFile ("\\\\.\\FltMgr" , GENERIC_READ | GENERIC_WRITE , FILE_SHARE_READ | FILE_SHARE_WRITE , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , NULL );
    if( hDevice == INVALID_HANDLE_VALUE )
    {
        printf("CreateFile failed with status : %d\n" , GetLastError() );
        return -1;
    }

    wcscpy( service_to_load.ServiceName , L"Scanner");
    service_to_load.Len = wcslen( service_to_load.ServiceName )*sizeof(WCHAR);
    err = DeviceIoControl( hDevice , MAGIC_IOCTL , &service_to_load , sizeof(service_to_load) , NULL , 0 , &dwRet , NULL );
    if( !err )
    {
        printf("sorry\n");
        goto __end;
    }
    printf(":)\n");

__end:

    CloseHandle( hDevice );
    return 0;
}


user posted image

Это сообщение отредактировал(а) bra1ny - 27.12.2009, 03:40
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
xvr
Дата 27.12.2009, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



А теперь выйдет очередной SP к Винде, или программу запустят на другой Винде, и MAGIC_IOCTL изменится, или _tagLOAD поменяется, и все, приплыли  smile Лучше разберитесь с оригиналом

PM MAIL   Вверх
bra1ny
Дата 27.12.2009, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



Цитата(xvr @ 27.12.2009,  12:14)
А теперь выйдет очередной SP к Винде, или программу запустят на другой Винде, и MAGIC_IOCTL изменится, или _tagLOAD поменяется, и все, приплыли  smile Лучше разберитесь с оригиналом

Да это все понятно) Это так чисто интерес в 4 утра) 

Это сообщение отредактировал(а) bra1ny - 27.12.2009, 14:39
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
KAlex1
Дата 28.12.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



bra1ny, интерес как раз для 4х утра))

Если кто желает поиграться драйвером) Пожалуйста. 
юзер-мод приложение незаконченное немного. 

Это сообщение отредактировал(а) KAlex1 - 28.12.2009, 15:46

Присоединённый файл ( Кол-во скачиваний: 49 )
Присоединённый файл  DADDrv.rar 302,75 Kb
PM MAIL   Вверх
bra1ny
Дата 28.12.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



У меня ничего не заработало))) 
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
KAlex1
Дата 28.12.2009, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Вначеле драйвер устанавливаете при помощи .inf файла. Затем запускате прогу выбираете папки для блокирования. 
После того как выбрали. Нажимаете "Заблокировать". После нажимаете "Load". Если изменяете список папок, вначале нажмите "Unload". Потом ""Заблокировать" и потом "Load".
PM MAIL   Вверх
bra1ny
Дата 28.12.2009, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



а вот в чем фишка) Надо сначала указать папки, а потом load =)
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
KAlex1
Дата 28.1.2010, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 18.10.2009
Где: Ukraine, Zaporozh ye

Репутация: нет
Всего: нет



Вопрос считаю, на определенном уровне, решенным. 
Благодарю за полезные советы!  smile 

PM MAIL   Вверх
Heal
Дата 22.4.2011, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 12.4.2011

Репутация: нет
Всего: нет



Здравствуйте. Я написал программу, которая запрещает/разрешает доступ к каталогу на уровне прав доступа. Я так понимаю, что это не эффективно, т.к. можно вручную снять это ограничение. Про читая ваши посты, я понял, что драйвер получается ниже и так просто ограничение не снимешь. Подскажите какую информация мне посмотреть, что бы написать такой же драйвер и можно ли его написать на Builder'e 6?
PM MAIL   Вверх
xvr
Дата 23.4.2011, 07:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Heal @  22.4.2011,  16:39 Найти цитируемый пост)
Подскажите какую информация мне посмотреть, что бы написать такой же драйвер

DDK/WDK в MSDN на MS

Цитата(Heal @  22.4.2011,  16:39 Найти цитируемый пост)
можно ли его написать на Builder'e 6? 

Нет

PM MAIL   Вверх
Heal
Дата 23.4.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 12.4.2011

Репутация: нет
Всего: нет



Спасибо. Т е его надо собирать в Visual studio, которая заточена на сбор драйвера???
PM MAIL   Вверх
xvr
Дата 23.4.2011, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Цитата(Heal @  23.4.2011,  13:13 Найти цитируемый пост)
Т е его надо собирать в Visual studio, которая заточена на сбор драйвера???

Штатное средство сборки входит в состав DDK/WDK. При большом желании можно собрать и студией, но понадобится большой шаманский бубен  smile 
PM MAIL   Вверх
Heal
Дата 24.4.2011, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 12.4.2011

Репутация: нет
Всего: нет



Нубский вопрос, но все таки задам - там в чем его собирать?  smile 
PM MAIL   Вверх
bra1ny
Дата 24.4.2011, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 196
Регистрация: 26.12.2008

Репутация: 2
Всего: 3



build' ом
--------------------
Что вас манит сюдаИз заморзких широт?Там гораздо сытней и красивей.Или воля не та, или воздух не тот -Знать и вам не прожить без России.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.1353 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.