Защита в VBA при помощи ЭЦП

Программирование на Visual Basic for Applications
LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Защита в VBA при помощи ЭЦП

Сообщение LevelUP » 08.09.2005 (Чт) 5:10

Можно ли защитить код VBA от просмотра при помощи ЭЦП?.. или она служит исключительно для доверия макросам?
Делал сертификаты при помощи SelfCert.exe - защиты можно сказать никакой.
У меня установлено CriptoPro, может быть его как-то можно использовать чтобы создать МЕГАсертификат, чтобы он так все шифровал, чтобы никто не мог ни просмотреть код, ни тем более изменить его?
Заранее спасибо

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 08.09.2005 (Чт) 7:24

хошь чтобы никто не мог посмотреть твой код - пиши на vb, а не на vba
хотя дезасемблирование никто не отменял :lol:
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 08.09.2005 (Чт) 7:36

lord0n писал(а):хошь чтобы никто не мог посмотреть твой код - пиши на vb, а не на vba
хотя дезасемблирование никто не отменял :lol:


Оно то так это..да вот задача у меня, и в ТЗ строго оговорено, что под Excel все должно быть, и базы и документы, и органы управления..а показывать код действительно не хочу..
Так вот и думаю есть ли еще возможность защиты кроме ДЛЛ, типа принес сертификат на дискетке, все и открылось для редактирования, а нет сертификата..извините.

ЗЫ: Защиту паролем не рассматриваю в принципе

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 08.09.2005 (Чт) 7:41

ну встрой в авто опен проверку сертификата
хотя это легко обойти
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

lord0n
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 845
Зарегистрирован: 30.06.2005 (Чт) 9:55
Откуда: Moskow

Сообщение lord0n » 08.09.2005 (Чт) 7:43

есть еще идея:
написать весь код на vb в скрытой форме, а из екселя вызывать программу
Теория - это когда что-то не работает и известно почему.
Практика - это когда что-то работает, но неизвестно почему.
Нам удалось совместить теорию с практикой, теперь ничего не работает и неизвестно почему.

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 08.09.2005 (Чт) 8:07

lord0n писал(а):есть еще идея:
написать весь код на vb в скрытой форме, а из екселя вызывать программу


Типа извращенная защита ДЛЛкой? или это кардинально иная защита?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.09.2005 (Чт) 8:34

А почему не хочешь делать в VBA?
Знаниями поделиться жалко?

В VBA на особую защиту можешь не рассчитывать. Сертификаты предназначены для подписывания, а не для шифрования, а различные пароли вскрываются на раз.
Либо пиши весь функционал в DLL, либо договаривайся с заказчиком о смене тех.задания.
Lasciate ogni speranza, voi ch'entrate.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.09.2005 (Чт) 8:36

Вдогонку. А SelfCert.exe позволяет делать лишь "самопальный" сертификат. Чтобы получить нормальный, заверенный одним из корневых центров сертификации, надо платить денежку. Причем не один раз, а регулярно, т.к. каждый сертификат выдается обычно не более, чем на 1-2 года.
Lasciate ogni speranza, voi ch'entrate.

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 08.09.2005 (Чт) 11:14

Ладно, буду ДЛЛ писать и подключать, заодно туда авторизацию какую-нить добавлю :)
А сам себе я не смогу выдать корневой серт имея CriptoPro как нибудь полулегально, а потом уже личный под ним, чтобы доверие было?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.09.2005 (Чт) 11:49

Да можешь конечно.
Только почему ты думаешь, что даже если твой сертификат будет заверен корневым центром сертификатов "Вася_Пупкин", то уровень доверия будет выше?
Lasciate ogni speranza, voi ch'entrate.

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 08.09.2005 (Чт) 12:11

alibek писал(а):Да можешь конечно.
Только почему ты думаешь, что даже если твой сертификат будет заверен корневым центром сертификатов "Вася_Пупкин", то уровень доверия будет выше?


Увидел просто такую запись когда просматривал свой серт на закладке "Путь Сертификации":
"Нет доверия к этому корневому сертификату центра сертификации, поскольку он не найден в хранилище доверенных корневых сертификатов центров сертификации"
вот и решил, что если бы у меня был какой-то корневой, ситуация была бы лучше..
Хотя, каюсь, не знаю на что может повлиять наличие корневого серта, знаю только, что все нормальные личные серты имеют своего корневого, например, сертификаты абонентов системы "Контур-Экстерн".

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 08.09.2005 (Чт) 13:25

Если бы у этого сертификата был бы непроверенный корневой сертификат "Вася_Пупкин", у тебя бы к нему доверие возникло?
Lasciate ogni speranza, voi ch'entrate.

Терминатор
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 164
Зарегистрирован: 06.01.2005 (Чт) 12:57
Откуда: Москва

Сообщение Терминатор » 09.09.2005 (Пт) 20:13

>>>А почему не хочешь делать в VBA?
>>>Знаниями поделиться жалко?

LevelUP, почитал тебя и очень интересно стало.
Смысл защиты кода? Информация это понятно. Но кода?
Что бы ты не зделал в VBA или C, или, я даже незнаю какой язык в пример привести, может Ассемблер, или нет Санскрит - крутой
язык, но что бы ты не сотворил, это точ-в-точ может повторить другой человек, но уже на том языке, в котором именно он спец.

Пример из жизни. У нас на работе, в прошлом году, один программер всё загибал пальцы и просил повышения зарплаты. Ему её повышали но не настолько. В принцыпе, выбивать зарплату - правое дело, я занят тем же.
Но! Он всегда приводил аргумент что то что он делает на его любимом С, никто другой повторить не сможет. Наверное это и задело директора. Уволил он его. Взял "Дельфийца", просто фаната и мудреца по Дельфи. Он все его проги переписал. Всё то же самое.
Конечный пользователь разницы никакой не видит. Всё один в один.Но так как новый сотрудник горел желанием проявить себя на новом месте работы, то функциональность выросла.

По моему, главное это деньги. Как только они в кармане, пусть этот програмный код хоть на уличных столбах в виде объявлений развесят. Ведь за него, и за эту работу уже заплатили. Другой вопрос когда не заплатили... Но на это есть демо-версия. Или есть опасения, что кто-то подсмотрит идею, и на этой идеи напишет свою программу? ТАК ЕЁ И ТАК НАПИШУТ.Конечный пользователь, или обуревший директор, сорящий деньгами в ресторане или казино, (но жмущий денег за хорошую программу - дави его, крути на бабки, а то ишь как на ветер деньги, так им не жалко, а как за труд заплатить, так жалко) им ведь твой код программный - китайская грамота.
А для профи ничего невозможного нет. Тем более в VBA да ещё в Excel (ладно бы ещё Access)
Я тут панописал, по причине того, что сам недавно в реале, (а не в инете, не на форумах) в такой просак попал, смех просто. Тоже думал, что то что делаю я это
так сказать мастерство. Ха-ха! Как горько я был разачарован. Хорошо что ещё при своих остался. (но я не программист)
Да, Москва город большой, ушлых много. А есть ещё и крутые. А есть ещё, к стати, и по-круче.
Так что, наверное, деньги, которые реально заплачены - это главное. Может я в чём-то не прав? Поправте меня. Или добавте.
Hasta la vista, baby!

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 12.09.2005 (Пн) 5:13

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

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.09.2005 (Пн) 9:54

Детский сад.
"Он взломает пароль, поменяет программу и будет выдавать мою программу за свою".
Тебе-то какая разница? Пусть выдает. Если ты ее писал на заказ, то заказчик знает, кто автор. Если ты ее писал просто так, то к чему эти телодвижения?
Lasciate ogni speranza, voi ch'entrate.

LevelUP
Новичок
Новичок
 
Сообщения: 32
Зарегистрирован: 08.09.2005 (Чт) 5:05

Сообщение LevelUP » 12.09.2005 (Пн) 10:30

Давайте учиться мыслить масштабно.
В моем случае заказчика как такового уже нет. Весь вопрос в распространении ранее написанной. Существует определенная ниша предприятий, в которых моя прога или уже внедрена, или может существенно облегчить жизнь.
Человек взломавший прогу и потративший на это секунд скажем пять, может затем предложить ее моему потенциальному клиенту раза в два дешевле.
На мой взгляд это неправильно, а прецеденты уже были..вот я и думаю что с этим делать

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 12.09.2005 (Пн) 11:16

Да пусть предлагает.
Суппорт он тоже предлагает? Доработку и обновление он тоже осуществляет?
Lasciate ogni speranza, voi ch'entrate.


Вернуться в VBA

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

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

    TopList