Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2015, 18:05   #1
Lanso
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 5
По умолчанию

Добрый день!
Есть задачка по защите файла от бесплатного копирования). Сделал табличку в эксель с формулами и контролями, которая избавляет от мороки считать в течении года суммы и укладываться в определенные нормативы. Хочу ее продать, но стоит вопрос о защите, продам одному, а тот будет продавать или дарить дальше, а покупатели жадюги.
Готов немножко заплатить за хорошую работу. Множко не готов, еще не продал). Тысяч за 5 если кто сможет напишите, оплата киви или с карты на карту, можно перечислением, хотите договор, но сумма того не стоит) Можно перевести ее в делфи, ну эт по желанию. Никаких сверхсложных формул там нет.
ICQ 672954847. или ватсап 89187060666

Забыл. Дня за два надо сделать)

Я сам придумал как) Не знаю на сколько это реализуемо, но для средненьких юзеров такая защита прокатит. Нужен макрос, который при открытии сравнит имя пользователя или имя компа с тем который будет введен в макросе(я его спрошу и мне его пришлют, впишу его в макрос), если имена не совпадут то он выдаст предупреждение типа "ай-йай-йай" и обнулит ячейки с формулами (сотрет) и так сохранится. Умники конечно полезут и отключат макросы, и попытаются снова его открыть, а там хрень.
Кто реализует?

И только самые умные отключат перед открытием макросы))

Дохлый форум(

Последний раз редактировалось Stilet; 05.02.2015 в 07:42.
Lanso вне форума Ответить с цитированием
Старый 04.02.2015, 20:52   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Чтоб макросы не отключали - изначально все листы скрыты, макрос их открывает. Естественно после проверки, что комп тот, который заплатил.
А при закрытии файла все листы скрываются, файл паролится.
Но умники могут открытый файл сохранить как xlsx и всё пропало...
Завязывайте свои формулы на макросы, чтоб без них основное не работало.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.02.2015, 21:19   #3
Lanso
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 5
По умолчанию

там всего пару формул. Готов заплатить за макрос если напишете. Долго самому разбираться и во времени ограничен(
Lanso вне форума Ответить с цитированием
Старый 04.02.2015, 21:33   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Нет, я пока не вижу надёжного варианта защитить пару формул.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.02.2015, 21:37   #5
Lanso
Новичок
Джуниор
 
Регистрация: 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
Lanso вне форума Ответить с цитированием
Старый 04.02.2015, 22:09   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну допустим тот кто купил сможет файл открыть если сопадёт хэш. Хотя можно и без хэша, в явном виде сверять все эти значения.
Откроет и сохранит без макросов в таком открытом виде. Или скопирует нужные листы. И далее любой сможет всюду использовать этот файл.
Нужно как-то привязывать эти формулы к макросам, например хотя бы по максимуму перевести расчёты на UDF, в которых будут динамично каждый раз (ну или раз в сессии) проверяться пользователь.
А проект конечно запаролить. Хотя это вскрывается довольно легко...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.02.2015, 22:45   #7
Lanso
Новичок
Джуниор
 
Регистрация: 04.02.2015
Сообщений: 5
По умолчанию

нет среди них спецов таких, и сотрудников кто вскроет тоже нет. а пока он дойдет до того кто вскроет расчеты уже изменятся

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

Решил кардинально. Сайт с теми же расчетами и доступ давать за деньги и все дела. Спасибо!

Последний раз редактировалось Stilet; 05.02.2015 в 07:43.
Lanso вне форума Ответить с цитированием
Старый 05.02.2015, 00:15   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

есть готовое решение - конвертер файла Excel в EXE
XCell Compiler http://doneex.com/
лицензия стоит 100 баксов (возможно, вам и пробной версии хватит)

есть в инете и бесплатный аналог компилятора (не помню как называется)

Цитата:
Решил кардинально. Сайт с теми же расчетами и доступ давать за деньги и все дела
нифига как быстро вы сайт сделали...
8 минут прошло от предыдущего сообщения, а всё уже решено)
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему то что я сделал в 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