Главная страница
    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.47 MB
Время: 0.039 c
1-1098873662
Leonid
2004-10-27 14:41
2004.11.14
TMainmenu


1-1098961605
Chlavik
2004-10-28 15:06
2004.11.14
Pointer -> _ContactItem и наоборот


1-1099227590
Ada
2004-10-31 15:59
2004.11.14
Изменить шрифт отдельных строк TreeView


4-1096901315
bgs
2004-10-04 18:48
2004.11.14
Добавить пользователя в вин 2000 средствами делфи


1-1099327256
Ralf
2004-11-01 19:40
2004.11.14
Перетаскивание окон





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