Страницы: 1
RSS
Защита файла Excel от несанкционированного копирования, Защита файла Excel от несанкционированного копирования
 
Добрый день!
Создан файл Excel с определенными данными. Планируется его передача определённым людям для работы. Задача: защитить файл от несанкционированного копирования, чтобы его можно было открыть только на конкретном компьютере (устройстве). При передаче файла третьему лицу, и его попытке открыть его на другом устройстве, будет запрет. Вопрос: как это сделать?
 
Цитата
DimoN233 написал:
Вопрос: как это сделать?
надежно никак.
 
Цитата
DimoN233 написал:
чтобы его можно было открыть только на конкретном компьютере (устройстве)
из собственного опыта - макрос на открытие в кт. прописан поиск конкретного файла по конкретному адресу в корпоративной сети, но...
достаточно отключить макросы и получишь файл со всей требухой и делай с ним что хошь, так что...
Цитата
bigorq написал:
надежно никак.
 
А как не надежно можно? Пользователи будут не опытные люди, которые с вероятностью 90% не будет этим заниматься.
 
Цитата
написал:
Пользователи будут не опытные люди, которые с вероятностью 90% не будет этим заниматься.
тогда достаточно сказать что при копировании несанкционированном у них случится недержание....
По вопросам из тем форума, личку не читаю.
 
Цитата
DimoN233 написал:
Создан файл Excel с определенными данными
- что за файл?
Если с макросами то проще. Можно например привязываться к конкретной машине, или юзеру.
 
Цитата
написал:
открыть только на конкретном компьютере (устройстве)
серийный номер диска - можно изменить
Серийный номер материнки - не всегда доступен
Имя компа -меняется на раз
Имя пользователя - и меняется и не привязка к устройству
Файлы, записи в реестре и прочие влаги - переносятся без проблем
В домене еще можно хоть как -то прикрутить GUID компа, но это меняется в самом коде на раз.
.......


Темы о защите проектов, файлов . (planetaexcel.ru)




 
По вопросам из тем форума, личку не читаю.
 
Ну если залезть в код и посмотреть к чему привязано - тогда нет нужды ничего менять, можно просто отрубить функционал.
Ну а так я помню привязывался к имени пользователя и к номеру операционки, и только к имени пользователя.
 
Hugo, Фалй Excel с макросами.
 
Буду признателен за любое технические решение. Как можно привязаться к имени пользователя? Диска?
 
DimoN233, ну вот например название диска и его серийный номер
Код
Private Function Test_Drive() As String
    Dim queryObj As Object, i&, t$

    For Each queryObj In GetObject("winmgmts:").ExecQuery("SELECT * FROM Win32_DiskDrive WHERE InterfaceType='IDE'")
        i = i + 1
        If i = 1 Then t = queryObj.Model & "|" & queryObj.SerialNumber
    Next
    Test_Drive = "|" & t & "|"
End Function

Можно например тут же взять хэш этого значения. Ну чтоб никто не догадался (с) ))
Выслать юзеру закрытый файл с кнопкой с просьбой нажать кнопку и ответить с результатом.
Изменено: Hugo - 09.10.2024 21:36:19
 
DimoN233, я использовал аппаратные ключи Guardant.
Запихивал пару функций в dll (можно выбрать плюс-минус любой компилируемый язык, я писал на delphi) и гонял  из dll в ключ и обратно некоторые переменные и константы. Сломать можно все, но в таком варианте уже потребуются специальные знания и навыки. И да, ценность вашего файла должна быть больше, чем стоимость ключей))
 
DimoN233, еще был способ попроще и бесплатный)

Раньше WIN API позволяла (может и сейчас так можно) писать и читать данные на диске сразу за  концом файла. Если размер файла не кратен размеру сектора, то эти данные будут защищены от затирания (т.к. запись любого другого файла начинается с начала сектора).

Соответственно, схема такая: часть функций тоже выносим в dll, создаем какой-нибудь очень нужный конфиг-файл, который должен лежать рядом с вашим excel-файлом, при инсталляции всего этого добра пишем за концом этого файла какую-нибудь метку и периодически проверяем из dll наличие этой метки.

И да, устанавливать ваш файл на конкретный комп должны вы сами из вашего суперсекретного инсталлятора)
 
надёжно - написать весь свой код на С++ и скомпилировать его в DLL, а потом подключить этот DLL к файлу. Всё остальное костыли

P.S. Есть программа, вроде, ProtectVBA можно ей пробовать, либо аналогами
Изменено: New - 10.10.2024 00:10:49
 
Цитата
DimoN233 написал:
Пользователи будут не опытные люди,
в макрос на открытие файла проверку имени пользователя:  

пользователь устройства - Environ("USERNAME")
или
пользователь офиса - Application.UserName
 
Цитата
New написал:
надёжно - написать весь свой код на С++ и скомпилировать его в DLL, а потом подключить этот DLL к файлу.
Автор темы хочет защитить файл от копирования. Привязать его к конкретному устройству. Что мешает скопировать файл вместе с библиотекой? В любом случае потребуется мудрить с привязкой.
 
Понеслось... Опять мега идее о том как защитить ... .
0. если файл передан куда либо значит контроль над ним потерян.
1 нужно четко понимать что и от чего защищаем. например если данные от копирования, то кто мешает открыть на нужном компе сделать копию пусть не самого файла, а данных, и благополучно использовать уже эту копию.
2 нужно понимать стоимость того что защищаем в сравнениие с затратами на защиту.
3. нужнопонимать что вскрывается все и снова стоимость вскрытия в сравнении со стоимостью данных.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Читают тему
Наверх