Страницы: Пред. 1 2 3 След.
RSS
Программы для защиты VBA-проектов (макросов) от взлома.
 
Цитата
bedvit написал:
При другом количестве знаков - ошибка в файле.
Для xlam важно, из перевода Михаила
Цитата
БМВ написал:
(проверено на .xlam), вам необходимо заменить их на то же количество «F» как количество символов в исходных строках.
В высланной надстройке было две таких секции. Если менять в первой, то unviewable надстройка не становится. Возможно, действующая только последняя. Поменял в ней - надстройка стала unviewable.
 
Не срабатывает. :(
При открытии Ёксель ругается, что испорчен файл и предлагает удалить этот самый исправленный vbaProject.bin
Что-то тут не так. Ёксель 2010. файл xlsb, пробовал и с большими файлами и с маленькими, и менял только первые 10 символов и все символы и на "F" и не на "F" - результат один.
Тут сильно большую роль играет, что я распаковываю не РАРом, а 7ЗИПом, и исправляю не в N++, а в обычном блокноте?
Изменено: Мартын - 03.10.2018 08:50:44
 
Цитата
Мартын написал:
исправляю не в N++, а в обычном блокноте
Жёваный крот! Оказалось проблема именно в этом!!! Сейчас нашёл комп с N++, исправил там, собрал в кучу и ЧУДО!!! Открывается!!!
 
Цитата
Мартын написал:
исправляю не в N++, а в обычном блокноте
напоминает кучу тем, в которых про то что формула предложенная не правильно работает в Gogle sheets :-)
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
напоминает кучу
Каюсь, голова посыпана пеплом.
Ну кто-ж знал!?
 
Цитата
Андрей VG написал:
В высланной надстройке было две таких секции.
Андрей, верно! Был в заблуждении, что существует только один такой блок. Оказывается может быть два (и более?). Последний блок отрабатывает как положено.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
Андрей VG написал:
точно так же не доступен для просмотра
Обсуждаемый данный способ (с редактированием бинарного vba-проекта) абсолютно ненадежен.
Любой такой "project is unviewable" просто открывается в LibreOffice - и все как на ладони.
Изменено: jinnunja - 26.03.2019 11:13:32
 
Да, действительно, код открывается без искажений, в готовом виде - достаточно скопировать и перенести в MS Office.
Только лучше удалить пост 37, а то вообще никакой защиты не будет, так хоть какая-то защита.

jinnunja, а что Вы посоветуете? Может программа какая есть? Нужна защита не от хакеров, а от пользователей.
Изменено: Karataev - 24.03.2019 16:30:40
 
Цитата
Karataev написал:
так хоть какая-то защита.
лучше знать что защиты нет, чем заблуждаться, думая что она присутствует.
По вопросам из тем форума, личку не читаю.
 
Цитата
jinnunja написал:
Андрей VG  написал:точно так же не доступен для просмотраОбсуждаемый данный способ (с редактированием бинарного vba-проекта) абсолютно ненадежен.
Вы уверены, что это для меня тайна за семью печатями? Вы уж читайте весь топик, чтобы напраслину не наводить.
Цитата
Андрей VG написал:
Там же он пишет, что у него есть подход защиты проекта от ОО (во что с трудом верится, разве что это нечто подобно той программе, ссылку на которую дал Михаил (БМВ)).
А собственно обсуждение шло в рамках контекста
Цитата
Karataev написал:
После теста мне все равно будет видеть код или нет.Скрывать код на совсем я не планировал.
То есть, максимальная защита и не требовалась. И потом ОО - это хорошо. Вот только если проект на формах, как например редактор Ribbon Editor - как быстро вы восстановите такой проект?
 
Цитата
Андрей VG написал:
То есть, максимальная защита и не требовалась.
Если так просто можно посмотреть код, то это считается, что вообще защиты нет.
Нужна такая защита, чтобы пользователь не смог посмотреть код. Если пользователь видит код, то это считается, что защиты нет.

Плюс, теперь в интернете появилась еще одна статья, как взломать макрос - пост 37.
Изменено: Karataev - 24.03.2019 18:51:54
 
это известно лет 7-8 как. А уж на форуме обсуждается чуть ли не каждый год. Переходите на C++,  как Виталий BedVit .
 
Андрей VG, я думал, что Ваш способ защищает от Libre Office. Зачем тогда надо было обсуждать этот способ?
Хотя конечно, есть способ взлома без Libre Office. Для того способа Ваш способ работает. Так что в принципе есть смысл от Вашего способа.
Но если пользователь найдет информацию в интернете, что можно взломать макрос с помощью Libre Office, тогда этот способ защиты ломается.
Изменено: Karataev - 24.03.2019 19:07:06
 
Цитата
Karataev написал:
а что Вы посоветуете? Может программа какая есть? Нужна защита не от хакеров, а от пользователей.
Программа LockXLS, в сети есть пролеченная версия 6.23, для ваших нужд её хватит с избытком. Или другие платные (и не всегда :) ) решения, их уже немало развелось.

Цитата
Но если пользователь найдет информацию в интернете, что можно взломать макрос с помощью Libre Office, тогда этот способ защиты ломается.
Как и сказал Андрей VG, этот способ уже давно известен и взят на вооружение. Зачем его тут было обсуждать - еще тот вопрос :) ). Кстати, через OpenOffice код с такой защитой тоже "просвечивается". Что в последнем, что в Libre - другие алгоритмы парсинга vba, из-за чего штатная защита не эффективна.

Цитата
Андрей VG написал:
Переходите на C++
Я бы сам с удовольствием, только жизней в запасе нет...
Изменено: jinnunja - 25.03.2019 09:06:01
 
Цитата
Андрей VG написал:
Вот только если проект на формах, как например редактор  Ribbon Editor  - как быстро вы восстановите такой проект?
Libre Office видит код, который находится внутри UserForm, без искажений.
Изменено: Karataev - 24.03.2019 22:24:15
 
Karataev, я так понимаю, что Андрей говорил о воссоздании графической (формы) составляющей проекта на основе считанного кода)
И вообще копаться в чужом коде дело не благодарное. Одно дело поковырять макрос в пару десятков строк, и совершенно другое пытаться понять логику и пр. по проекту с десятком модулей, сотней процедур и функций. А если еще программист использует переменные названные не по всем правилам, то ой)
 
Anchoret, зачем пытаться понять код? Нужно просто сделать копи-пист из Libre Office в MS Office.
 
Ну-ну...
Копируют код формы. Или код, ссылающийся на имена в книге, на какие-то значения, которых не будет в новой книге, на записи в реестре... Много даст этот Copy/Past, если в коде - дуб дубом?
 
vikttur, я редко делаю макросы с формами, а если и делаю, то совсем простые формы.
 
Тема-то не о применении конкретно Ваших кодов... Общая она, для всех.
И, кстати, вот Вам совет, опираясь на сообщение - хотите большей защиты, применяйте
Цитата
...код, ссылающийся на имена в книге, на какие-то значения, которых не будет в новой книге, на записи в реестре
 
vikttur, тему я создал для себя, а не для всех программистов.
Я с формами очень редко работаю, поэтому для меня формы не актуальны.

Цитата
vikttur написал:
Много даст этот Copy/Past, если в коде - дуб дубом?
Если человек приходит на форум за макросом, то этот человек уже не является полным дубом. Она знает, где посмотреть код, куда его вставить. Если это делает периодически, то сообразит, что скопировать и куда.
Изменено: Karataev - 25.03.2019 10:06:17
 
Цитата
Karataev написал: тему я создал для себя
После того, как Вы ее создали, она - для всех. И здесь могут давать любые советы по теме.
 
Karataev, весь смысл взлома - использовать, то что взломано для своих целей. не понимая логику трудно что-то использовать правильно. К тому-же в коде могут быть использованы значения со скрытых листов и пр.. Часть этих значений может в свою очередь быть зависимой от результатов вычислений формул. А сами формулы также частично могут генериться программой (макросом). Как часть защиты - использовать привязку серийников оборудования (для проектов расчитанных на конкретного пользователя с конкретным же набором оборудования. Но есть сложность - код как правило пишется по удаленке, и все это оборудование неизвестно. Для корпоративных проектов - список имен пользователей допущенных к использованию файла с проектом.
 
Цитата
Anchoret написал:
Для корпоративных проектов - список имен пользователей допущенных к использованию файла с проектом.
А список имён файлов откуда будет браться? Из кода? Если человек увидит код, то внесет туда свои данные.
Если будет браться из листа, то человек увидит лист и добавит в него свое имя.
 
Karataev, при проектировании защиты, как правило всё упрётся в авторизацию через интернет - иначе мало-мальски пригодной защити, наверное, и не сделать. А если есть авторизация/регистрация, то и список оборудования будет (с какого активировали, то и в списке)
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Karataev, есть такая штука - хеширование. Придумать алгоритм создания массива из отдельных кодов символов обработанных XOR , из которых будут собираться имена пользователей. И алгоритм считывания данных из такого массива.
----------
Еще есть интересный оператор выхода из процедуры при неверном вводе/не соблюдении условия (например) - End. Он не возвращает в вызвавший макрос, а просто прекращает выполнения макроса.
Изменено: Anchoret - 25.03.2019 10:32:07
 
Цитата
Андрей VG написал:
Переходите на C++,  как Виталий BedVit .
Андрей, спасибо, рецепт помог ;)
Немного своих комментариев:
1.Ломается все, это вопрос стоимости. Если стоимость взлома будет дороже вашей программы, никто ее не будет ломать, ну если только на спор или с другими, не прагматичными целями.
2. Адекватной защиты в VBA не знаю. Все просматривается просто (если ты спец, не спец - хватает и способа описанного Андреем, если код хранить в xlam. Xlam не открывается в ОО.) Платными средствами не пользовался, пусть прокомментируют люди, кто пользовался, но говорят бывают проблемы с переходом на разные версии Excel, VBA.
3.
Цитата
Karataev написал:
нужно делать два макроса: один на VBA. другой на C#
защиту это не даст, байт-код .NET тоже, довольно просто, смотрится, пруф.
4.Бинарники С++ смотрятся несколько сложнее, пруф. Небольшой код разобрать можно, для кода побольше - нужны знания низкоуровнего программирования и терпения разбирать кучу операторов безусловного перехода- goto, jmp, оптимизации самого компилятора и т.д.  Даже если все это разобрать можно получить оптимизированный компилятором код, который, будет мало напоминать исходный. Для взлома этого хватит, для написания своей программы, сомневаюсь, проще будет написать заново, свою, со своей логикой.
Поэтому, имхо, компилируемые в машинный (нативный) код языки по взлому самые трудоёмкие.
Смотрим п.1, оцениваем с учётом вышесказанного.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
человек уже не является полным дубом... сообразит, что скопировать и куда.
Нужно не только уметь перенести код, но и разобраться в нем. И если уровень подготовки взломщика выше Вашего, то защита бесполезна.
Пример.
Если в коде сослаться на суперскрытое имя в книге и потенциальный взломщик о применении имен ничего не знает, чтение кода ему не поможет. Но если знает?
 
Цитата
bedvit написал:
1.Ломается все, это вопрос стоимости. Если стоимость взлома будет дороже вашей программы, никто ее не будет ломать, ну если только на спор или с другими, не прагматичными целями.
В этой теме обсуждается взлом пользователем, а не хакерами. Изначально в первом посте я об этом написал, сделав акцент на "пользователя", поэтому Вы уходите в сторону и Вам нужно создать тему: как защитить макрос от хакеров.
 
Цитата
Karataev написал:
А список имён файлов откуда будет браться?
В корпоративной сети с доменной авторизацией просто проверять на принадлежность группе  AD, которая контролируется администраторами. Также группа дает права на файл с проектом. Если даже открыть скопированный файл , то пользователь должен быть авторизован по группе. Но все это опять в коде и все открывается и обходится.

Мне кажется обсасываем то что обсосано много раз. Все ухищрения - это отсрочка взлома.

P.S. Рассказали историю.  При ремонте охрененно дорогом у одного не бедного чела была установлена дверь с супер замками и классом защиты тоже охрененным. Короче закрылась и не открывается. Резать хотели, но толь вышли на того кто устанавливал, толь на того кто ремонт делал, те приехали т оказалось что вокруг рамы зашито толь гипроком, толь гипсом, но расковыряли в районе замка за 5 мин и открыли дверь еще за пять. Хозяин был "безмерно счастлив"!! История рассказывалась до сюжета из RED
По вопросам из тем форума, личку не читаю.
Страницы: Пред. 1 2 3 След.
Наверх