Страницы: 1
RSS
защита кода в VBA, можно ли создать код, защищенный от редактирования
 
Добрый день. Я в excel делаю некие громоздкие специфические вычисления, нужные узкому кругу людей моей специальности. VBA пока знаю очень поверхностно.
Возможно ли на VBA сделать программу (надстройку, как PLEX?), которая по входным данным делает вычисления, и выводит результат, одновременно показывая имя автора и ссылку на сайт со свежей версией программы? Мне важно, чтобы люди пользовалось (аудитория в РФ - несколько десятков человек), но не могли увидеть или изменить код. Пусть при желании пишут пожелания к усовершенствованию.
 
Цитата
iva2000 пишет:
десятков человек), но не могли увидеть или изменить код.
Сделать можно. Ломается на раз два
Изменено: pharmaprofi - 04.08.2013 20:52:51
 
Цитата
iva2000 пишет:
аудитория в РФ - несколько десятков человек
Если эти люди обычные пользователи эксель, то они и не полезут в ваш код, потому что побоятся. А специалист в любом случае получит доступ к коду...
Я свой код никогда не закрываю!
Изменено: Watcher_1 - 04.08.2013 21:01:09
 
Цитата
Watcher_1 пишет:
Я свой код никогда не закрываю!
АБСОЛЮТНО ПРАВИЛЬНЫЙ ПОДХОД!!!!! :D
 
Цитата
pharmaprofi пишет: Сделать можно. Ломается на раз два

Ну а как-нибудь можно сделать вычисления excel закрытыми и неломаемыми? Тут ведь сам смысл в том, что я подряжусь проделать большую работу на благо людей ради славы и известности. А если можно будет сломать, сломают и выложат так, я своих коллег знаю.
 
Microsoft Office и Windows сломали. Неужели думаете, что Вашу программу не сломают? Запомните золотое правило: время и силы, потраченные на защиту проекта никогда не должны превышать выгоду от этого проекта. Если же считаете, что Ваша выгода будет столь велика, что стоит так сильно защищать - пишите сразу Native DLL на С++. Но и его кому надо сломают, только сил на это уйдет достаточно и для взломщика тоже нужна будет нормальная мотивация.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
iva2000!
Получите патент на алгоритм задачи и будет Вам счастье!
В ситуации с реализацией в EXCEL: прислушайтесь к мнению специалистов - The_Prist - и успокойте свое честолюбие. :)
 
Подскажите, а есть способ защитить от просмотра и редактирования только один модуль?
Любой способ. Ломать никто не будет.
 
Нет.
Я сам - дурнее всякого примера! ...
 
Как вариант натравить на этот модуль обфускатор...
Будет такая каш в модуле что черт ногу сломит пока поймет откуда у макроса ноги ростут
 
Ну модуль все же запаролить можно.
1. Выберете необходимый модуль.
2. В VBA-проекте выбираете меню Tools - VBAProject Properties
3. В появившемся окне вкладка Protection.

Но как уже было сказано ранее, в сети есть множество платных/бесплатных программ которым потребуются секунды для взлома защиты.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
 
>> Ну модуль все же запаролить можно.
>> 1. Выберете необходимый модуль. ...
Abakumov, Вы сами-то свой рецепт пробовали?  :D Зачем человека вводить в заблуждение? Так Вы защитите весь проект ВБА, а никак не отдельный модуль.
Я сам - дурнее всякого примера! ...
 
Согласен. Сформулировал неправильно.
Но как я понял iva2000 требуется что-то банальное для закрытия кода. Это пойдет.

Но если глубже копать, то для закрытия именно вашего кода, то лучше создавать надстройку. Но здесь я не советчик, не люблю их.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
 
Цитата
Но если глубже копать, то для закрытия именно вашего кода, то лучше создавать надстройку
И чем надстройка написанная на том же VBA то так же все легко вскрывается, а вот что скажут форумчане про VSTO.
Опыт у кого нить есть?
 
Я тоже сначала подумал о надстройке. Но это же ее с собой тягать на все машины, вместе с рабочим файлом, что совсем не кошерно :)
Я сам - дурнее всякого примера! ...
 
Надстройка на VSTO тоже на ура ломается. А если на C#(да и вообще на .NET) написана, то получить все исходные коды вообще труда не составит.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Protect VBA 1.6 вроде не ломается? или тоже ломают?
 
Protect VBA ломается без проблем. Хоть и не распространенными прогами.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Один из способов защиты программ на .NET - это сделать исходный код таким, что бы максимально усложнить его понимание и желание в нем разбираться.

Это называется Обфускация
Код до:
Код
int COUNT = 100;
 float TAX_RATE = 0.2;
 for (int i=0; i<COUNT; i++)
 {
   tax[i] = orig_price[i] * TAX_RATE;
   price[i] = orig_price[i] + tax[i];
 }


Код после обфускации:
Код
for(int a=0;a<100;a++){b[a]=c[a]*0.2;d[a]=c[a]+b[a];}
Изменено: pharmaprofi - 11.08.2013 10:47:30
 
Константин, в принципе да. Еще наряду с обфускацией можно применять запутывание кода. Более подробно можно прочитать в книге Рихтера - "CLR via C#". Но насколько я знаю по большей части ломают ради одного - снять ограничения. А опытному программисту найти точку проверки труда точно не составит хоть до обфускации, хоть после.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх