Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.033 c
14-1099036914
Baks
2004-10-29 12:01
2004.11.14
Мастера подскажите, помогите чайнику...


1-1099431497
Kolan
2004-11-03 00:38
2004.11.14
Abstrack Error


1-1099031337
Kniaz
2004-10-29 10:28
2004.11.14
Как произвести запись в файл ровно в указанное время??


1-1099021441
Nexel
2004-10-29 07:44
2004.11.14
выбор из справочника?


1-1099029748
dms_main
2004-10-29 10:02
2004.11.14
Dll и TThread





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