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

Вниз

Есть необходимость защитить некоторые файлы от копирования   Найти похожие ветки 

 
Ol_G   (2004-10-30 01:10) [0]

Есть необходимость защитить некоторые файлы от копирования. Подскажите как в делфи это можно сделать. должно быть что то типа консольной программы, отслеживающей попытки скопировать файл, при необходимости обрубать эти попытки. Желательно с примером. Заранее спасибо.


 
Defunct ©   (2004-10-30 01:17) [1]

Так, давайте подробнее.
1. Какие файлы хотим защитить запускаемые или файлы-данных?
2. Как вы их хотите защитить, чтобы просто нельзя было скопировать или чтобы просто нельзя было даже при копировании ими воспользоваться?
3. Пример вам никто не даст, даже из тех кто его имеет под рукой (вопрос безопастности).

Идею подкину после того как вы уточните свой вопрос по пунктам 1 и 2.


 
Ol_G   (2004-10-30 01:39) [2]

Защищать нужно файлы данных. Необходимо их защищать просто от копирования, в том числе и по сети, а программа предназначенная для работы с ними должна работать


 
Defunct ©   (2004-10-30 02:07) [3]

Предложу следущее.

1. написать программу Hook на CreateFile, в которую будет передаваться список "защищенных" файлов. При нормальной попытке открыть файл возвращать системную ошибку "write protected" или любую другую. В свобственной программе (которой разрешен доступ к файлам) открывать файл ненормальным образом, например с атрибутом $FF, этот атрибут должен вашим хуком распознаваться как 02 - read/write, и соответственно будет ваша программа получит доступ к файлу, а все остальные программы - нет.

2. Без хуков: перекрываете процедуры BlockRead/BlockWrite, и в перекрытых функциях делаете линейное шифрование по модулю 2 (XOR) с номером раздела диска C: или с датой создания каталога Windows соответственно после чтения и до записи. Таким образом данные будут достоверными только в памяти, а на диске будут всегда зашифрованными, и даже если их перенесут на другой компьютер и там запустят вашу программу работать они не будут.

3. Комбинируем 1 и 2 и получаем вполне приличную защиту, которую не так просто взломать.

Удачи.


 
Defunct ©   (2004-10-30 02:09) [4]

извините за грамматические ошибки, с 6-ти утра на ногах..


 
Ol_G   (2004-10-30 02:17) [5]

Спасибо за совет. Попробую.


 
GanibalLector ©   (2004-10-30 02:22) [6]

> написать программу Hook на CreateFile
Дык снесут Hook и все...На счет второго согласен


 
Defunct ©   (2004-10-30 03:04) [7]

> Дык снесут Hook и все...

А сделать его как service с reboot"ом после третьего сбоя?


 
GanibalLector ©   (2004-10-30 03:14) [8]

>А сделать его как service с reboot"ом после третьего сбоя?
Овчинка выделки ... // продолжать не буду


 
Defunct ©   (2004-10-30 03:43) [9]

> Овчинка выделки ..

а ведь если снесут Hook, то программа файлы открывать перестанет. Мы же открываем с "ненормальным" атрибутом, что является гарантом для Hook"a в памяти.



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

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

Наверх




Память: 0.46 MB
Время: 0.059 c
14-1098554938
Piter
2004-10-23 22:08
2004.11.14
Ищу архив ветки об обновлении FAQ


1-1099005259
BURN
2004-10-29 03:14
2004.11.14
Подсчет дней


1-1099319513
alexa
2004-11-01 17:31
2004.11.14
INI файлы


14-1098755050
Думкин
2004-10-26 05:44
2004.11.14
С днем рождения! 26 октября.


3-1097914633
arick
2004-10-16 12:17
2004.11.14
Проблема в подключении TSQLConnection (dbExpress)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский