Страницы: 1 2 След.
RSS
Защита от взлома пароля на проект VBA, Есть ли какие-нибудь идеи или алгоритмы такой защиты.
 
Всем привет, недавно с ужасом обнаружил, что есть масса программ, которые тупо удаляют пароль с проекта VBA за 1 секунду. Так как через код идет вся защита от нелегального распространения, то проблема очень очень актуальна.
1. Можно ли как то усилить защиту кода?
2. Может есть другие недорогие способы привязки пользователя к копии продукта, чем зашивка его параметров в тело кода?

Сразу добавлю, что у меня есть свой сайт(и ftp доступ), где я могу разместить нужный файл с данными, но не знаю как это реализовывать через VBA.

ПС: обфускацией я буду заниматься только в самом последнем случае, когда исчерпаю все другие возможности ))
Изменено: IvanSh - 15.03.2014 11:46:48
 
посмотрите здесь
отвечал до редактирования сообщения
Изменено: Nic70y - 15.03.2014 11:54:15
 
к сожалению по моей теме ничего нет, там в основном защиты листов и постановка пароля на проект VBA, который не защищает нисколько. Я сам скачал прогу и сломал свой же проект за 2 секунды ))
 

Нашел проект, где код не доступен, но там и пароль не предлагается ввести. Может просто версия не соответствует Екселя.
 
Это похоже на ProtectVBA - но тоже код есть возможность увидеть, кроме того бывает что файл с такой защитой работает криво...
 
Цитата
IvanSh пишет:
у меня есть свой сайт(и ftp доступ), где я могу разместить нужный файл с данными, но не знаю как это реализовывать через VBA
честно говоря, этого не понял - как это относится к вопросу/теме?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: честно говоря, этого не понял - как это относится к вопросу/теме?
на например закинуть данные персональные каждого зарегистрированного пользователя в html или другой файл на сервер, чтобы ексель при запуске сравнивал его с текущими данными компьютера, и если они отсутствуют на сервере, то прога не работала. Но опять же все это пишется в коде VBA, а доступ к коду получить как нефиг делать.
 
вот файл нашел в инете, сможете его код посмотреть? странно что он в формате xls, а работают макросы.
Как сделать такую же защиту?
Изменено: IvanSh - 15.03.2014 14:09:38
 
а вообще... меня в своё время аналогичные изыскания привели к довольно неутешительному выводу:
несанкционированное использование проектов VBA можно несколько усложнить (прятать что-либо для проверки на скрытые листы, в скрытые имена, в реестр windows и т.п., обфусцировать код), надеясь на некоторые пробелы в знаниях или недостаток времени у "взламывателя", но, по большому счету, полностью исключить не получится.
правда, меня интересовал вариант использования проекта в оффлайне.(есть такое ограничение).
при наложении условия наличи работающего соединения с инетом проблему, возможно, и удастся решить.
я представляю себе это примерно так: в коде нет ключевого фрагмента (важной функции, модуля и т.п.) либо он неправильный.
при запуске идет соединение с сайтом, отправка запроса, проверка логина-пароля и ip-шника.
при успешной проверке (логин такой имеет право быть (напр., был продан кому-л.), пароль верный, ip-шников для данного логина в базе данных сайта не слишком много - возвращаем текст кода ключевого фрагмента, вставляем его в проект и работаем.
ессно, сохранение этого самого фрагмента надо предотвращать.

конечно, тоже не 100%, если "злоумышленнику" известен этот алгоритм.
кроме того - всё это "чисто теретически", нужных знаний у меня пока нет и приобретить их мне пока лень ;)
но основная причина - возможность пользователей работать хотя бы иногда оффлайн всё-таки ограничивает :(
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
IvanSh пишет: странно что он в формате xls, а работают макросы
почему странно? формат xls поддерживает макросы. изначально и навечно  :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Проблема в том, что если я сохраняю свой проект в формат Книга Ексель, то у меня не работают макросы - не срабатывает нажатие кнопок. А по файлу выше видно, что он вроде как обычная книга Ексель.
 
Цитата
IvanSh пишет: Проблема в том, что если я сохраняю свой проект в формат Книга Ексель
Если у Вас Офис 2007 и выше, то так и должно быть: в xlsx макросы не живут.
 
емнип, зависит от того, какие кнопки.
с ActiveX может и не срабатывать.
впрочем, точно не скажу, ибо я работаю только с xls. :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
Юрий М пишет:  Если у Вас Офис 2007 и выше, то так и должно быть: в xlsx макросы не живут.
Да Офис 2007.
Ну так есть мысли почему выложенный выше файл не позволяет просмотреть код VBA и в то же время там не стоит пароль. Мне не нужен код этого файла, я хочу сделать так же со своим  )))
 
вам же Hugo называл волшебное слово - ProtectVBA
или гугл его не знает?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
ikki пишет: вам же Hugo называл волшебное слово - ProtectVBA
И он не всегда спасает.
Все зависит от знаний конкретного юзера
 
Цитата
Doober пишет: И он не всегда спасает. Все зависит от знаний конкретного юзера
попробую, ну про крайней мере это сложнее, чем открыть в программке взламываемый фаил и тыкнуть "убрать пароль vba"  )))
Моя задача осложнить жизнь взломщику так, чтобы цена взлома превысила 500-700 руб  )))
Изменено: IvanSh - 27.08.2014 00:57:29
 
ProtectVBA - вполне достаточно в 95% случаев
Мои платные программы взламывают не более 5% пользователей, - остальные покупают.

> Моя задача осложнить жизнь взломщику так, чтобы цена взлома превысила 500-700 руб )))

Дело не в цене взлома, а в непреодолимом желании халявы отдельных пользователей.
Если хочется программу нахаляву, - некоторые по несколько дней пароли подбирают (рекорд, на моих программах, - 4 месяца, около 100 попыток подбора пароля)
Т.е. если пользователь изначально не готов платить за софт, - он вам не заплатит.
А если готов оплачивать чужой труд, - то он и ломать пытаться не будет, просто купит (независимо от уровня защиты)

Скачать программу ProtectVBA можно у меня на сайте:
http://excelvba.ru/soft/VBE
Изменено: Игорь - 15.03.2014 17:35:54
 
Доброе время суток.
ProtectVBA, ссылка на который есть у Игорь,к сожалению выполняет такую защиту только для xls, xla файлов. Можно подобное сделать и для файлов xlsb, xlsa, xlsm таким кодом
Скрытый текст

На двух проектах протестировал, вроде и их функциональность не пострадала и unviewable сообщение получается.
P. S. Код для извлечения и записи изменённого vbaProject.bin не писал. Думаю это не столь частая операция.
 
По теме: использую честно купленную LockXLS в своих проектах.

Не совсем по теме:
Цитата
Игорь пишет: если пользователь изначально не готов платить за софт, - он вам не заплатит
Согласен на 100%. А есть еще сайты для нищебродов, которые скидываются по три рубля и покупают вскладчину вашу программу как бы "честно", а потом раздают среди своих. У меня так как-то раз PLEX за 500 рублей 30 с лишним человек купили. Все никак не могу придумать названия для таких товарищей. Софт-бомжи?
 
Николай, просто надо сделать ограничение по количеству рабочих мест (ну и код открытым в полной версии не делать, чтобы ваши программы не продавали потом на других сайтах), - и смысл покупки вскладчину исчезнет (ненамного выгоднее получится)

Кстати, 500 рублей - это дешево очень.
Я тут продавал одну программу (самую простенькую) за 500 рублей - её вообще не покупали почти (почти 2 года она стоила 500).
Повысил цену до 800 рублей - сразу начались продажи)
А остальные программы, которые 1000 и больше стоят, - так вообще хорошо продаются.
Впечатление такое, что пользователей смущает низкая цена...
 
Доброе время суток !

Тоже интересует данная тема.
Не все программы взломщики могуть раскрыть файл, если он в двоичном формате (*.xlsb).
Или я ошибаюсь ?
 
А что мешает пересохранить в *.xlsm?
 
Мне нужна защита от взлома.
Поэтому в двоичном формате (*.xlsb) думал менее уязвим.
 
Доброе время суток
Цитата
xl\vbaProject.bin
xlsb также как и xlsm и xlam - это zip-архивы, проект VBA в которых - это файл vbaProject.bin в папке архива xl. Так что если программа-взломщик паролей может ломать xlsm, то и другие она точно также сломает. Не сломают, только если эти программы не понимают новый формат файлов.
 
Цитата
Андрей VG пишет: xlsb также как и xlsm и xlam - это zip-архивы
Андрей, разве?
читал, что xlsb - это бинарный файл.
впрочем, Михаил уже подсказал правильный путь - пересохранить xlsb в xlsm

на столь нелюбимом многими кибере столь нелюбимый многими Скрипт недавно создавал похожую тему
я в подробности не вдавался, но, кажется, к чему-то в процессе обсуждения они таки пришли...
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
читал, что xlsb - это бинарный файл.
Александр, xlsb бинарный в смысле содержимого листов книги (для примера xl\worksheets\sheet1.bin в xlsb и xl\worksheets\sheet1.xml в xlsm), а в остальном всё тоже самое. Файл проекта VBA бинарный в любом случае. Вам проще зайти и в тот и другой тип файла как в архив по Ctrl+PgDn в Total Commander or Double Commander (ну, или изменить тип файла на zip),
 
ага...
спасибо.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Цитата
к чему-то в процессе обсуждения они таки пришли...
Поковырялся, вывод-то Этот формат - формат .XLA. Тема закрыта :)
Но, по ходу обсуждения "Project is unviewable" - в фомате xls легко смотрится в OpenOffice Calc. Так проблемы вернуть xla в xls особой нет. Всего-то ставим активным защищённый проект и в Immediate (а можно отдельный макрос написать)
Код
ThisWorkbook.IsAddin=False
ThisWorkbook.SaveAs "d:\temp\xls_code.xls", XlFileFormat.xlExcel8
То же самое верно и для xlam в xlsb/xlsm
Изменено: Андрей VG - 27.07.2014 11:08:06
 
я давно сделал вывод лично для себя - защита моих проектов мне не нужна.
ибо ничего "общеполезного" я не пишу, а решение для конкретного заказчика такой ерунды не требует.
поэтому просматриваю подобные темы исключительно по диагонали.
сорри, если ввёл в заблуждение.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
Страницы: 1 2 След.
Читают тему
Наверх