--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Можно ли защитить excel файл от копирования?

Нужен совет (поиск решения проблемы. не для купли-продажи)
3765
22
С друзьями на NN.RU
В социальных сетях
Поделиться
LuchS
20.05.2017
Файл содержит макросы VBA. Думаю отдать свою альфу-версию для тестов знакомым в строительной отрасли, с другой стороны хочу обезопасить код (узконаправленный) от копирования, т.к. пишу в свободное от работы время для себя.
MonitoR
20.05.2017
давно не совался в эту тему, так что может в современных офисах и получше, но в районе офиса 2007 защита была дырявая, спецсофтом вскрывалась на раз. может лучше сделать в виде веб-сервиса? так же решается вопрос обновлений, бакгфиксов, дебага и тд
LuchS
20.05.2017
Хм... т.е. весь код и логику необходимо будет вручную перенабрать, скажем, в PHP или Java и продолжать разработку уже в этих языках?
MonitoR
20.05.2017
ну да. зато полный контроль. и код можно украсть только сломав веб-сервер что имхо куда сложнее чем эксельный пароль :)
MonitoR писал(а)
но в районе офиса 2007 защита была дырявая, спецсофтом вскрывалась на раз.

Это пакет десятилетней давности )
Уже в Офисе 2010 защита не брутфорсится.
Если защитить нужно только макросы, код можно обфусцировать.
Meg@VaD
20.05.2017
Это если совсем дилетанты и никого найти не попытаются для деобфускации. Вроде сложность школьная. Всегда лучше распределённые вычисления, когда алгоритм основной на твоей стороне, и кол-во вызовов регулируется.
Ну или как всегда предложу в железяке часть кода исполнять важного, если должно без интернетов работать.
Зависит от ценности кода. Не думаю что в данном случае будут заморачиваться.
Ну и обфускация бывает разной степени сложности, а не только сократить имена функций и переменных и убрать форматирование кода.
В конце концов можно писать на brainfuck, а в документ встроить интерпретатор брейнфака на VB, если такой есть вообще.
mik-mak
22.05.2017
Дык.. Обфусцируя, можно зайти довольно далеко :))

utf-8.jp/public/aaencode.html
или
discogscounter.getfreehosting.co.uk/js-noalnum_com.php
LuchS
20.05.2017
Да, там вся фишка в макросах. Это по сути дело шифрование кода? Т.е. на ПК тестера софт будет работать, но сам текст VBA он не увидит? Тогда по-сути даже простейшая защита будет работать!!!
Это запутывание кода с целью сделать его сложно читаемым, от которого глаза вытекают. Простейшая обфускация это сокращение имён переменных, функций и прочего до минимума, удаление форматирования (пробелов, переводов строк и т.д.). Но это простейший вариант и если оно того стоит то можно поковыряться в таком вырвиглазном коде, к тому же форматирование кода теоретически можно восстановить автоматически. Точнее привести к читаемому виду. Но такой вид простейшей обфускации в основном применяется для уменьшения размера кода, например так часто javascript сжимают.
LuchS
20.05.2017
Тема интересная. Щас гуглю софтины, уже даже одну затестировал - Invisible Basic, но конкретно эта программа вылетела с ошибкой. Может ей не нравится русскоязычный эксель - я ХЗ. Пока гуглю дальше. Если вручную делать - как всегда лень и каждый раз не напасешься менять код без автоматизации в десятках макросов. (
ЗЫ: пример простой обфускации с целью уменьшения размера: ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js
Meg@VaD
20.05.2017
Походу со мной училась пара таких обфускаторов))
Ну вы, блин, даёте (с)
Аттач.

PS. Не благодари.
А для просмотра такой документ ведь не требует пароля? Значит и макросы там можно прочитать.
Зато он требует пароль для просмотра VBA-кода.
Доказано Занусси ;-))
---->
А при вызове списка макросов кнопка "Изменить" неактивна.


ЗЫ. Что же я, по твоему, ТЗ не в состоянии прочесть? ))
Это-то понятно, а если прочитать файл не офисом? Дело в том что если без пароля документ открывается и макросы работают, то очевидно что хранится внутри всё открыто, а наличие пароля всего лишь инструкция для читающей программы.
BrainFucker писал(а)
то очевидно что хранится внутри всё открыто,

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

Можно и из машинного кода восстановить )
Как, в свое время, Компак выпустил свой биос для 386-й платформы. Но кто будет заморачиваться этим для VBA-проекта?
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Принтер лазерный Avision AP30A

Avision AP30A лазерный принтер черно-белая печать формат A4, 33 стр/мин, 128 Мб, дуплекс, лоток 250 листов и многоцелевой лоток с...
Цена: 9 900 руб.

Материнские платы на запчасти и не только

Материнские платы на запчасти и не только Материнские платы и другие комплектующие Отправка в регионы после оплаты. Транспортной...
Цена: 3 000 руб.

Продаю факс (ы) Panasonic– FT932/982

Продаю факс (ы) Panasonic– FT932/982: термоперенос, термобумага, А4
Цена: 350 руб.

Дорого куплю новые картриджи от лазерных и струйных

РЕАЛЬНО Дорого куплю новые картриджи от лазерных и струйных принтеров и копиров (НР, Canon, Samsung, Xerox, OCE и др.) всех моделей....
Цена: 7 777 руб.