|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2015, 18:05 | #1 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 5
|
Добрый день!
Есть задачка по защите файла от бесплатного копирования). Сделал табличку в эксель с формулами и контролями, которая избавляет от мороки считать в течении года суммы и укладываться в определенные нормативы. Хочу ее продать, но стоит вопрос о защите, продам одному, а тот будет продавать или дарить дальше, а покупатели жадюги. Готов немножко заплатить за хорошую работу. Множко не готов, еще не продал). Тысяч за 5 если кто сможет напишите, оплата киви или с карты на карту, можно перечислением, хотите договор, но сумма того не стоит) Можно перевести ее в делфи, ну эт по желанию. Никаких сверхсложных формул там нет. ICQ 672954847. или ватсап 89187060666 Забыл. Дня за два надо сделать) Я сам придумал как) Не знаю на сколько это реализуемо, но для средненьких юзеров такая защита прокатит. Нужен макрос, который при открытии сравнит имя пользователя или имя компа с тем который будет введен в макросе(я его спрошу и мне его пришлют, впишу его в макрос), если имена не совпадут то он выдаст предупреждение типа "ай-йай-йай" и обнулит ячейки с формулами (сотрет) и так сохранится. Умники конечно полезут и отключат макросы, и попытаются снова его открыть, а там хрень. Кто реализует? И только самые умные отключат перед открытием макросы)) Дохлый форум( Последний раз редактировалось Stilet; 05.02.2015 в 07:42. |
04.02.2015, 20:52 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Чтоб макросы не отключали - изначально все листы скрыты, макрос их открывает. Естественно после проверки, что комп тот, который заплатил.
А при закрытии файла все листы скрываются, файл паролится. Но умники могут открытый файл сохранить как xlsx и всё пропало... Завязывайте свои формулы на макросы, чтоб без них основное не работало.
webmoney: E265281470651 Z422237915069 R418926282008
|
04.02.2015, 21:19 | #3 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 5
|
там всего пару формул. Готов заплатить за макрос если напишете. Долго самому разбираться и во времени ограничен(
|
04.02.2015, 21:33 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Нет, я пока не вижу надёжного варианта защитить пару формул.
webmoney: E265281470651 Z422237915069 R418926282008
|
04.02.2015, 21:37 | #5 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 5
|
Что скажете об этом
Function GetHash(ByVal txt$) As String Dim oUTF8, oMD5, abyt, i&, k&, hi&, lo&, chHi$, chLo$ Set oUTF8 = CreateObject("System.Text.UTF8Encod ing") Set oMD5 = CreateObject("System.Security.Crypt ography.MD5CryptoServiceProvider") abyt = oMD5.ComputeHash_2(oUTF8.GetBytes_4 (txt$)) For i = 1 To LenB(abyt) k = AscB(MidB(abyt, i, 1)) lo = k Mod 16: hi = (k - lo) / 16 If hi > 9 Then chHi = Chr(Asc("a") + hi - 10) Else chHi = Chr(Asc("0") + hi) If lo > 9 Then chLo = Chr(Asc("a") + lo - 10) Else chLo = Chr(Asc("0") + lo) GetHash = GetHash & chHi & chLo Next Set oUTF8 = Nothing: Set oMD5 = Nothing End Function Private Sub Workbook_Open() Rem Worksheets("Ëèñò1").Range("A1").Val ue = Date UserName = Environ$("USERNAME") OS = Environ$("OS") COMPUTERNAME = Environ$("COMPUTERNAME") NUMBER_OF_PROCESSORS = Environ$("NUMBER_OF_PROCESSORS") PROCESSOR_ARCHITECTURE = Environ$("PROCESSOR_ARCHITECTURE") PROCESSOR_IDENTIFIER = Environ$("PROCESSOR_IDENTIFIER") id_str = UserName + OS + COMPUTERNAME + NUMBER_OF_PROCESSORS + PROCESSOR_ARCHITECTURE + PROCESSOR_IDENTIFIER Worksheets("Ëèñò1").Range("A1").Val ue = UserName Worksheets("Ëèñò1").Range("A2").Val ue = OS Worksheets("Ëèñò1").Range("A3").Val ue = COMPUTERNAME Worksheets("Ëèñò1").Range("A4").Val ue = NUMBER_OF_PROCESSORS Worksheets("Ëèñò1").Range("A5").Val ue = PROCESSOR_ARCHITECTURE Worksheets("Ëèñò1").Range("A6").Val ue = PROCESSOR_IDENTIFIER Worksheets("Ëèñò1").Range("A8").Val ue = GetHash(id_str) End Sub |
04.02.2015, 22:09 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Ну допустим тот кто купил сможет файл открыть если сопадёт хэш. Хотя можно и без хэша, в явном виде сверять все эти значения.
Откроет и сохранит без макросов в таком открытом виде. Или скопирует нужные листы. И далее любой сможет всюду использовать этот файл. Нужно как-то привязывать эти формулы к макросам, например хотя бы по максимуму перевести расчёты на UDF, в которых будут динамично каждый раз (ну или раз в сессии) проверяться пользователь. А проект конечно запаролить. Хотя это вскрывается довольно легко...
webmoney: E265281470651 Z422237915069 R418926282008
|
04.02.2015, 22:45 | #7 |
Новичок
Джуниор
Регистрация: 04.02.2015
Сообщений: 5
|
нет среди них спецов таких, и сотрудников кто вскроет тоже нет. а пока он дойдет до того кто вскроет расчеты уже изменятся
Уже думаю не морочиться с эксель, перевести файлик хотя бы в делфи, тем более ничего сложно в нем нет и выглядеть будет солидней. Решил кардинально. Сайт с теми же расчетами и доступ давать за деньги и все дела. Спасибо! Последний раз редактировалось Stilet; 05.02.2015 в 07:43. |
05.02.2015, 00:15 | #8 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
есть готовое решение - конвертер файла Excel в EXE
XCell Compiler http://doneex.com/ лицензия стоит 100 баксов (возможно, вам и пробной версии хватит) есть в инете и бесплатный аналог компилятора (не помню как называется) Цитата:
8 минут прошло от предыдущего сообщения, а всё уже решено) |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Почему то что я сделал в Delphi 8 не открывается на других компах ? | Anatoluu | Общие вопросы Delphi | 16 | 15.03.2011 09:05 |
Запуск SWF на других компах,не имеющих flash player | Dj_SheLL | Общие вопросы Delphi | 5 | 13.04.2010 22:46 |
Макросы не работают на других компах :( | Oooleg | Microsoft Office Excel | 4 | 29.01.2010 17:00 |
Скомпилированая программа на одних компах запускается, а на других выдает ошибку? | Velross | Помощь студентам | 1 | 14.01.2010 21:05 |
Не запускается на других компах приложение. | evgenrpo | Общие вопросы C/C++ | 2 | 04.06.2009 00:36 |