Форум программистов, компьютерный форум, киберфорум
Носители информации
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/83: Рейтинг темы: голосов - 83, средняя оценка - 4.80
2 / 2 / 2
Регистрация: 04.07.2010
Сообщений: 66

Как сделать так что бы невозможно было удалить определьнный файл?

18.07.2010, 21:40. Показов 17390. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте...


у меня есть USB флешка...

меня интересуэт вопрос как сделать так что бы невозможно было удалить определьнный файл(только 1) с флешки...

тоесть на флешке есть много других файлов, а мне нада запретить удаления конкретного.

возможно ли ето и как ето сделать??

спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.07.2010, 21:40
Ответы с готовыми решениями:

Как сделать так, чтобы вернутся назад было невозможно?
Всем привет. Есть файл 1.php, который делает редирект на страницу index.php. Как сделать так, чтобы вернутся на эту страницу (1.php) было...

не могу сдлеать так что бы можно было удалить файл
Здравствуйте все загруженные файлы а точнее их адреса-в БД В админке не могу сдлеать так что бы можно было удалить файл из БД!!! ...

Как сделать что бы первые 11 символов каждой строки в richTextBox невозможно было стереть или редактировать?
Здравствуйте Как сделать что бы первые 11 символов каждой строки в richTextBox невозможно было стереть или редактировать ? (Под...

10
1080 / 1007 / 107
Регистрация: 28.02.2010
Сообщений: 2,889
19.07.2010, 07:46
Здравствуйте.
Да. Возможно.

Исходник на C/C++ (на примере autorun.inf):

Anti AutoRUN для флешек в FAT32
Понравился метод связанный с установкой атрибута файлу 0x40 в FAT32 и вот было по быстренькому реализовано ПО.
Возможности:
1) получение буквы диска из командной строки или ввод вручную
2) Поддержка только FAT32 (а больше и не надо)
3) определение файловой системы (чтобы случайно не попортить другую ФС)
4) автоматически создает файл autorun.inf
5) Лочит и унлочит файл autorun.inf

Алгоритм работы:
1) Если буква диска не передана через командную строку, то попросит её ввести
2) Получит тип файловой системы на этом диске
3) Если файловая система не FAT32 то завершит работу
4) создаст файл autorun.inf
5) откроет диск на чтение/запись
6) будит читать по 2 килобайта пока ненайдет текст AUTORUN INF или не будет достигнут конец флешки.
По хорошему нужно было бы брать из бутсектора номер кластера где находится корневой каталог, затем искать где этот кластер физически находится на флешке и далее начинать парсить записи FAT( но увы было очень влом это делать ))).
7) Если нашел файл AUTORUN INF то:
Если он залочен, то разлочит
Если разлочен, то залочит

А вот и непосредственно исходник. Ко/v\пилится в VC++ 6.0 без проблем (писался в нем)

Код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include "windows.h" 
#include "stdio.h" 
#include "conio.h" // поиск участка памяти в буфере 
char * memmem(char *buf, char *pattern, size_t buflen, size_t len) { 
size_t i, j; 
char * bf=buf; 
char * pt = pattern; 
if (len>buflen) return NULL; 
for (i = 0; i <= (buflen - len); ++i) { 
for (j = 0; j < len; ++j) { 
if (pt[j] != bf[i + j]) break; 
} 
if (j == len) return (bf + i); 
} 
return NULL; 
} 
int main(int argc, char* argv[]) { 
HANDLE h; 
char c; 
DWORD rb; 
char* p; 
int x; 
char buf[2048]; 
char VolumeName[256]; 
char tmp[256]; 
char FSName[256]; 
ULONG MaximumFNameLength,FileSystemFlags,SerialNum; 
printf("Anti AutoRun (C) SLESH\n"); 
if (argc==1) // если буква диск на введена 
{
printf("Enter Driver Latter: "); 
c=getch(); // спросим букву диска 
printf("%c\n",c); 
sprintf(buf,"\\\\.\\%c:",c); 
sprintf(tmp,"%c:\\",c); 
} else // если буква диска введена в командной строке 
{ 
sprintf(buf,"\\\\.\\%s:",argv[1]);
sprintf(tmp,"%s:\\",argv[1]); 
c=0x00; 
} 
// получим тип ФС 
if (GetVolumeInformation(tmp,VolumeName, 256,&SerialNum,&MaximumFNameLength,&FileSystemFlags, FSName, 256)) { 
printf("FileSystem Type: %s\n",FSName); 
} else { 
printf("Get FileSystem Type Error\n"); 
return 0; 
} 
// проверим ФС 
if (strcmp(FSName,"FAT32")) { 
printf("UNSUPPORT FileSystem\n"); 
return 0; 
} 
strcat(tmp,"autorun.inf"); // создадим пустой файл 
autorun.inf h=CreateFile(tmp,GENERIC_WRITE,0, 0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0); 
if (h!=INVALID_HANDLE_VALUE) { 
CloseHandle(h); 
} 
// откроем диск 
h=CreateFile(buf,GENERIC_WRITE|GENERIC_READ,FILE_S HARE_READ|FILE_SHARE_WRITE, 0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0); 
if (h==INVALID_HANDLE_VALUE) { 
printf("Open Drive Error\n"); 
} else { 
x=0; 
printf("Search File\n"); 
// читаем пока есть что читать 
while (ReadFile(h,buf,2048,&rb,NULL)&&rb==2048) { 
printf("%i\r",x); 
// ишем нужную нам запись 
if (p=memmem(buf,"AUTORUN INF",rb,11)) { 
if (p[11]==0x40) // если файл залочен 
{ 
printf("Autorun.inf UNLOCKED\n"); 
p[11]=0x20; // разлочем его 
} else // сли незалочен 
{ 
printf("Autorun.inf LOCKED\n"); 
p[11]=0x40; // залочим 
} 
SetFilePointer(h,x,NULL,FILE_BEGIN); // передвинем указатель на начало считанного блока 
WriteFile(h,buf,2048,&rb,NULL); // запишем измененные данные break; //прервем выполнение дальнейшего чтения 
} else x+=rb; // счетчик считанных байт 
} 
CloseHandle(h); // закроем дескриптор открытого диска 
} 
if (c) getch(); // если имя диска получили не в виде командной строки. Сделано это чтобы неисчезло сразу с экрана окошко 
return 0; 
}


ВАЖНО!!!!!
1) Вы используете прожку на свой страх и риск и я не отвечаю за то, что хз по какой причине у вас могут быть повреждены данные на флешке.
2) Как видно запись в FAT ищется банальным перебором, так что могут быть ошибки, когда случайно будет найден нужный текст но в другом месте

P.S. Тестил на двух флешках - вроде норм работает.

(C) SLESH 2009

Программа от Panda Labs:
http://research.pandasecurity.... n-Vaccine/

Как-нибудь напишу прогу для таких дел... Если нужна сегодня скажите полное имя файла (типа G:\MyFile.doc) я вам пришлю аналогичную прогу для этого файла.

ЗЫ: За последствия не несу.
1
Эксперт Hardware
 Аватар для ElecТроник
4667 / 1879 / 76
Регистрация: 16.05.2008
Сообщений: 8,631
Записей в блоге: 1
19.07.2010, 16:09
Любую прогу для защиты файлов и папок, например Folder Lock.
1
 Аватар для Serge3344
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 125
23.07.2010, 16:27
Цитата Сообщение от ElecТроник Посмотреть сообщение
Любую прогу для защиты файлов и папок, например Folder Lock.
Он говорит,что нужно не скрыть,а чтобы не удалить.А файл запиханый в Lock можно вместе с Lock-ом

и удалить.
0
Эксперт Hardware
 Аватар для ElecТроник
4667 / 1879 / 76
Регистрация: 16.05.2008
Сообщений: 8,631
Записей в блоге: 1
23.07.2010, 16:42
Цитата Сообщение от Serge3344 Посмотреть сообщение
нужно не скрыть
Та прога, она может скрывать и защищать. Если файл защищен, к нему нет доступа, выскакивает окно - доступ запрещен админом. Прога ставится на комп, но позволяет защищать и файлы на флешках. Прогу нельзя удалить без пароля, даже из под Safe Mode. Если ОС переустановить и не снять блокировку с файла, он повиснет навсегда на флешке.

Добавлено через 5 минут
А не, я что-то попутал. Прога не Folder Lock, а вроде Folder Guard.
0
 Аватар для Serge3344
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 125
23.07.2010, 17:43
Цитата Сообщение от ElecТроник Посмотреть сообщение
Та прога, она может скрывать и защищать. Если файл защищен, к нему нет доступа, выскакивает окно - доступ запрещен админом. Прога ставится на комп, но позволяет защищать и файлы на флешках. Прогу нельзя удалить без пароля, даже из под Safe Mode. Если ОС переустановить и не снять блокировку с файла, он повиснет навсегда на флешке.

Добавлено через 5 минут
А не, я что-то попутал. Прога не Folder Lock, а вроде Folder Guard.
После форматирования все равно пропадет
0
Эксперт Hardware
 Аватар для ElecТроник
4667 / 1879 / 76
Регистрация: 16.05.2008
Сообщений: 8,631
Записей в блоге: 1
24.07.2010, 08:34
Цитата Сообщение от Serge3344 Посмотреть сообщение
После форматирования все равно пропадет
Ну знаешь, если там такая инфа, что надо защищать как сервер ФСБ. То пусть в на груди флешку носит.
0
Почетный модератор
Эксперт по компьютерным сетямЭксперт Windows
 Аватар для magirus
28049 / 15785 / 983
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78
24.07.2010, 09:18
Цитата Сообщение от ElecТроник Посмотреть сообщение
если там такая инфа, что надо защищать
используйте криптоконтейнеры.
правда против терморектального криптоанализа никто не устоит.
а если это банальная защита от авторана.... способов масса.
0
Эксперт Hardware
 Аватар для ElecТроник
4667 / 1879 / 76
Регистрация: 16.05.2008
Сообщений: 8,631
Записей в блоге: 1
24.07.2010, 09:24
Ты написал, я ничего не вкурил . Что же там за файлы, что требуется такая защита. Мне и Folder Guard хватало, чтобы уберечь от ручек племянницы.
0
Эксперт HardwareЭксперт Windows
22199 / 12120 / 653
Регистрация: 11.04.2010
Сообщений: 53,466
24.07.2010, 11:19
кароче, топикстартер, купи флеш с аппаратной залочкой записи (переключателелм) и не парь себе кальцевые отростки, в простонародье именуемые рогами
0
 Аватар для Serge3344
1 / 1 / 0
Регистрация: 20.07.2010
Сообщений: 125
24.07.2010, 11:43
Чего-сам автор ничего не говорит по теме
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2010, 11:43
Помогаю со студенческими работами здесь

Как сделать так, чтобы можно было удалить из массива элементы, выводить их на экран?
Здравствуйте, срочно нужна помощь с программированием на Java. Даны: объект символ, умеющий печатать свое значение и отвечать на...

Как сделать так чтобы было видно что подставляться в уравнения
Я хочу чтобы через равно програма подставляла числа, а через следующие результат, тоесть как бы в ручну считалось. Как это делать, можете...

как сделать так, что бы в 1 и 2 заказе не было скидки, а в последующих была?
Вы работаете в химчистке. Ваша химчистка осуществляет прием у населения вещей для выведения пятен. Для наведения порядка Вы, по мере...

Как сделать так, что бы в поле можно было вставлять много ссылок?
У меня есть такой php код: &lt;?php if(isset($_POST)) { $url = substr($_POST,0,-4); } if(!empty($url)) {print('Код: &lt;textarea...

Как сделать так, что-бы текст из TextBox нельзя было убрать, но можно скопировать
Здравствуйте я новичёк в изучении c#. Как сделать так что-бы текст нельзя было убрать только скопировать.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru