Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Вниз

Зашифровать файл   Найти похожие ветки 

 
Choovak   (2005-07-28 12:05) [0]

Как можно зашифровать файл чтобы юзер не смог его открыть?


 
Jeer ©   (2005-07-28 12:09) [1]

Открыть все равно сможет.


 
Lamer@fools.ua ©   (2005-07-28 12:15) [2]

Ну в NTFS можно так зашифровать, что и открыть не сможет...


 
Choovak   (2005-07-28 12:15) [3]

Нет я имею ввиду например есть файл *.WAV. Надо чтобы его нельзя было через Winamp проиграть


 
Jeer ©   (2005-07-28 12:53) [4]

Lamer@fools.ua ©   (28.07.05 12:15) [2]

Это не шифрация, а ограничение доступа.

Choovak   (28.07.05 12:15) [3]
Придумай свой формат и напиши проигрыватель.

А так - любые средства шифрации бинарных файлов или изменение структуры заголовка wave-файла


 
Choovak   (2005-07-28 13:05) [5]


> Придумай свой формат и напиши проигрыватель.
>
> А так - любые средства шифрации бинарных файлов или изменение
> структуры заголовка wave-файла

Может хотя бы ссылка найдётся, где обо всём этом можно прочитать?


 
Antonn ©   (2005-07-28 14:17) [6]

Choovak   (28.07.05 13:05) [5]
грузани в TmemoryStream и сохрани "задом-на-перед". Или просто добавь пару байт в начало. или сожми zlib"ом.


 
Choovak   (2005-07-28 14:20) [7]


> грузани в TmemoryStream и сохрани "задом-на-перед".

А можно код?


 
Polevi ©   (2005-07-28 14:22) [8]

можно еще компакт диск поцарапать, верный способ


 
Lamer@fools.ua ©   (2005-07-28 14:48) [9]

>>Jeer ©   (28.07.05 12:53) [4]

>Это не шифрация, а ограничение доступа.

Наверное, у меня с английским очень плохо. Я думал, что "Encrypt contents to secure data" означает "Шифровать содержимое для обеспечения безопасности данных". А оказывается, что это просто ограничение доступа.


 
Antonn ©   (2005-07-28 16:28) [10]

Choovak   (28.07.05 14:20) [7]
можно еще над кодом поработать:
procedure InvertStream(var _M:TMemoryStream);
var _M_temp:TmemoryStream; i:integer;
begin
_M_temp:=TmemoryStream.Create;
try
_M_temp.SetSize(_m.Size);
_m.Position:=_m.Size;
for i:=_m.Size-1 downto 0 do begin
  _m.Position:=i;
  _M_temp.CopyFrom(_m,1);
end;
_m.Position:=0;
_M_temp.Position:=0;
_m.CopyFrom(_M_temp,_M_temp.Size);
finally
_M_temp.Free;
end;
end;


 
Jeer ©   (2005-07-28 18:08) [11]

Lamer@fools.ua ©   (28.07.05 14:48) [9]

Видишь ли..
Открыть файл после этого все равно можно:)
Другое дело, что не прочитать.

Поэтому - точнее выражаемся.


 
Андрей Молчанов   (2005-07-28 18:26) [12]

Самое простое - поменять расширение на какое-нибудь *.ens. Но это так, на дурака.


 
Lamer@fools.ua ©   (2005-07-28 18:51) [13]

>>Jeer ©   (28.07.05 18:08) [11]

>Видишь ли..
Открыть файл после этого все равно можно:)
Другое дело, что не прочитать.

Поэтому - точнее выражаемся.


Простите, сенсей, мою огромную тупизну, но у меня функция CreateFile в операторе
HANDLE hFile = CreateFile(fn, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE,
   NULL, OPEN_EXISTING, 0, NULL);

(где fn - строка с именем encrypted файла)
возвращает INVALID_HANDLE_VALUE, а GetLastError() возвращает 5 (ERROR_ACCESS_DENIED).

Может подскажите, что я делаю не так?


 
Choovak   (2005-07-28 20:21) [14]


> Antonn ©   (28.07.05 16:28) [10]

Спасибо большое, учту как вариант

> Андрей Молчанов   (28.07.05 18:26) [12]

Не, это совсем не то

А вообще, хотелось бы почитать, как свой формат написать...


 
Jeer ©   (2005-07-29 11:40) [15]

Lamer@fools.ua ©   (28.07.05 12:15) [2]

Для ламера из fools.ua доступно объясняю:

1. Средства шифрации и ограничения доступа (права доступа) выполняют функцию предотвращения доступа к защищаемому содержимому.
2. Средства шифрации не ограничивают физический доступ, но при этом без выполнения дешифрации получить доступ к смысловому содержимому невозможно.
3. Права доступа, ограничивая физический доступ не защищают содержимое от всех тех, кто имеет право на физический доступ.
4. Разумеется, возможно одновременные шифрация и ограничение доступа

В вашем посте:
"Ну в NTFS можно так зашифровать, что и открыть не сможет..."

содержится намек на использование одновременно двух методов защиты, но он некорректен, поскольку шифрация не означает ограничение физического доступа, т.е. запрет на открытие.
А перевели Вы верно, спору нет, но это относится к шифрации данных, а не правам доступа к файлам.


 
Jeer ©   (2005-07-29 11:51) [16]

Choovak   (28.07.05 20:21) [14]

Начни с изучения чужих форматов.


 
Lamer@fools.ua ©   (2005-07-29 13:13) [17]

>>Jeer ©   (29.07.05 11:40) [15]

Понятие "открыть файл" (а в формулировке автора "чтобы юзер не смог его открыть") подразумевает, насколько я понимаю, операцию открытия файла, используя штатные средства ОС. Если имеется доступ к диску минуя механизмы ОС доступа к файлам, то тут запретить открыть файл проблематично, конечно. Хотя бы потому, что можно и посекторно/покластерно читать данные.

А насчёт намека "на использование одновременно двух методов защиты" Вы неправы. Я имел в виду только шифрование содержимого.


 
Jeer ©   (2005-07-29 14:34) [18]

Lamer@fools.ua ©   (29.07.05 13:13) [17]

>Понятие "открыть файл" (а в формулировке автора "чтобы юзер не >смог его открыть") подразумевает, насколько я понимаю, операцию >открытия файла, используя штатные средства ОС.

..операция открытия файла приложением, способным работать с данным форматом через штатные средства ОС.

Но можно открыть файл иными приложениями, не понимающими специфический формат, например hex-редактором.

Именно эта поправка имелась в виду в посте Jeer ©   (28.07.05 12:09) [1], поясняющая, что зашифрованный файл все равно можно открыть, но без доступа к смысловому содержимому.


 
Lamer@fools.ua ©   (2005-07-29 14:39) [19]

>>Jeer ©   (29.07.05 14:34) [18]

См. [13].



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.08.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.036 c
11-1105680010
DmiSb
2005-01-14 08:20
2005.08.21
Проверить содержимое каталога


14-1122382591
oldman
2005-07-26 16:56
2005.08.21
Задачка из программы "Спокойной ночи, малыши" :)


11-1105541859
Help
2005-01-12 17:57
2005.08.21
Есть аналог Form1.Activate?


3-1121175516
syte_ser78
2005-07-12 17:38
2005.08.21
Процедура обновления БД


1-1122969212
PChI
2005-08-02 11:53
2005.08.21
Вызов диагогового окна из модальной формы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский