Как защитить проект?

Программирование на Visual Basic for Applications
Ципихович Эндрю
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 07.04.2010 (Ср) 17:19

Как защитить проект?

Сообщение Ципихович Эндрю » 26.05.2010 (Ср) 8:11

Подскажите в следующем, знает ли кто ссылку на русскоязычную программу Inno Setup или её аналоги, подскажите??
Также мне известно, что имеется вариант с установкой при помощи ВБА переменной в Нормал дот, которая будет считать количество его открытий, подскажите скрипт как в Нормал дот «зашить» информацию о количестве открытий документов Ворда, если это количество наступили можно и как Нормал дот обнулить, то есть, чтобы он все строки кода сам удалил. Прав-да ещё у пользователя настырного появится возможность снова его уста-новить и пользоваться до следующего раза. Можно ли и это устранить??? А также как сделать, если контролировать не по количеству открытия Вор-да, а по отрезку времени, например 2 недели и как чтобы пользователь не смог меняя системное время обмануть программу. Также если Нормал дот запароленный, а пользователь при использовании получил ошибку и поя-вится форма, благодаря которой он может нажать на отладку и посмотреть скрипт. Где может произойти ошибка наперёд не известно, можно как то обезопасить, чтобы не появилась эта форма, благодаря которой можно на-жать на отладку, чтобы это касалось всех модулей, кодов форм и т. д., то есть не появилась никогда. Спасибо Эндрю

Владимир7
Обычный пользователь
Обычный пользователь
 
Сообщения: 59
Зарегистрирован: 13.03.2008 (Чт) 22:12

Re: Как защитить проект?

Сообщение Владимир7 » 04.06.2010 (Пт) 21:22

Не пробовал, но предполагаю, что точно так же, как записать в модуль проекта VBA Excel какую либо строку, в том числе и с новым значением переменной количества открытий файла, можно записать и в Нормал дот аналогично.
Удаление строк кода из Нормал дот, опять же так думаю, должно быть такое же как и в Excel.
Вы знаете свой пароль к проекту, с пом. VBA возможно его снятие и установка нового или того же с пересохранением файла и произведенных изменений. Если Нормал дот запароленный и проект VBA с паролем то просмотр скрипта разве возможен?

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как защитить проект?

Сообщение qwertyhp » 08.06.2010 (Вт) 17:09

Код: Выделить всё
' Находим серийный (заводской, не получаемый при форматировании) номер диска 0 :
    Set objWMIService = GetObject("winmgmts:")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMedia")
   
    For Each objItem In colItems
        Exit For ' чтобы не перечислять все
    Next

' Проверяем номер диска 0 компьютера, на котором запустили программу :
    If Trim$(objItem.SerialNumber) <> "Тот, который должен быть" Then ' пиратский запуск!!!
    ' ваши санкции :)))
    End If

:roll:
Что до всего остального - пишите/читайте Реестр. Дату/Время первого запуска, Дату/Время последнего (прошлого) запуска, Дату/Время текущего запуска. И сравнивайте их! А по Реестру (применительно к VBA) - вот Очень Полезная Ссылочка:
http://www.hostmake.ru/articles/visualbasic/216/
Всё доходчиво и понятно. Спасибо её Автору - мне очень помогла.
Пятачок Forever! :)

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как защитить проект?

Сообщение qwertyhp » 09.06.2010 (Ср) 14:54

Да, совсем упустил из виду - если Вы подключите к системе новый физический жесткий диск (например, на доп. контроллере) - то именно он может стать Disk(0) - хотя диск "C:\" (логический) останется тем же. Это надо учитывать, и проверять на сер.номер лучше все диски, отыскивая знакомый. Сам только что с этим столкнулся)))))).
Пятачок Forever! :)

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как защитить проект?

Сообщение qwertyhp » 24.06.2010 (Чт) 1:36

Кстати. Дату первого запуска программы совсем не обязательно хранить [только] в Реестре. Например, можно просто изменить атрибут времени создания папки System32 на время первого запуска программы. Или ещё чей-нибудь, чьё время создания некритично для системы и/или пользователя.
Пятачок Forever! :)

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Как защитить проект?

Сообщение VVitafresh » 24.06.2010 (Чт) 8:21

qwertyhp писал(а):Кстати. Дату первого запуска программы совсем не обязательно хранить [только] в Реестре. Например, можно просто изменить атрибут времени создания папки System32 на время первого запуска программы.

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

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как защитить проект?

Сообщение qwertyhp » 24.06.2010 (Чт) 13:16

Цитирую себя: "Например, можно просто изменить атрибут времени создания папки System32 на время первого запуска программы. Или ещё чей-нибудь, чьё время создания некритично для системы и/или пользователя."
VVitafresh, ты вообще читаешь оригинал того, что комментируешь? Об изменении системных файлов и файлов вообще нет и речи. Прочитай вслух моё сообщение и сразу следом - своё - и почувствуй разницу. Или, как говорят в Одессе - две большие разницы.
Пятачок Forever! :)

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Как защитить проект?

Сообщение iGrok » 24.06.2010 (Чт) 13:29

qwertyhp писал(а):Цитирую себя: "Например, можно просто изменить атрибут времени создания папки System32 на время первого запуска программы. Или ещё чей-нибудь, чьё время создания некритично для системы и/или пользователя."
VVitafresh, ты вообще читаешь оригинал того, что комментируешь? Об изменении системных файлов и файлов вообще нет и речи. Прочитай вслух моё сообщение и сразу следом - своё - и почувствуй разницу. Или, как говорят в Одессе - две большие разницы.

Да нету тут двух больших разниц, что бы там в Одессе не говорили.
Папка - это тот же файл, только с другими атрибутами, и возможностью содержать "в себе" другие файлы.
Доступа к системной папке, сколь бы критичными не были запрашиваемые изменения, у простого пользователя на правильно настроенном компе нету и быть не должно. И точка.

Тем более, кто сказал, что впоследствии на этот же комп не поставится ещё одна такая же "суперумная" программа, которая ещё раз поменяет время создания [О Великий Рандом!], той же самой папки?

И вообще это - верх кривописания. Я, кажется, начиню понимать, из-за кого VB считают быдлоязыком.
label:
cli
jmp label

VVitafresh
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1641
Зарегистрирован: 12.05.2005 (Чт) 14:44
Откуда: Херсон, UA

Re: Как защитить проект?

Сообщение VVitafresh » 24.06.2010 (Чт) 13:38

iGrok, +1
Хотел только что писать ответ в том же духе, но ты меня опередил :)

wertyhp, попробуй в качестве эксперимента изменить атрибуты папки System32 под пользователем без админских прав.
Никакую проблему невозможно решить на том же уровне, на каком она возникла. Нужно стать выше этой проблемы, поднявшись на следующий уровень.

qwertyhp
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 156
Зарегистрирован: 07.10.2009 (Ср) 15:02
Откуда: Москва

Re: Как защитить проект?

Сообщение qwertyhp » 24.06.2010 (Чт) 14:11

iGrok писал(а):
Я, кажется, начиню понимать, из-за кого VB считают быдлоязыком.

Быдлоязык - это из-за тех, у кого быдлорот. iGrok, используйте свой ротик по назначению - и с вашим языком всё будет в порядке. Удачи.
[Viper] :: За хамство получайте предупреждение!
Пятачок Forever! :)


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38

    TopList