|
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 7
|
|
Уровень Безопасности22.03.2012, 06:18. Показов 9701. Ответов 41
Метки нет (Все метки)
Подскажите пожалуйста как программно в VBA Word сменить уровень безопасности для автозапуска макроса если установлен высокий
ИЛИ если при открытии файла, в котором стоит макрос на автозапуску, в Word-е установлен Высокий Уровень безопасности выдать MsgBox и закрыть файл.
0
|
|
| 22.03.2012, 06:18 | |
|
Ответы с готовыми решениями:
41
Уровень безопасности в Word и Excel Как включить доверие и уровень безопасности (решение) Меняем доверие к проектам VBA и уровень безопасности |
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
||
| 23.04.2012, 17:16 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 63
|
|
| 23.04.2012, 17:21 | |
|
Хм, странно. Просто у меня выдает только при открытии редактора.
Но после того, как выяснилось, что посмотреть код проекта, защещенного таким образом, возможно, то смысл использовать данный метод теряется.
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
|||
| 23.04.2012, 17:28 | |||
( но эти символы c chr(1)...по chr(31), т.е. ENTER TAB ESC.... - всякие служебные символы. Попробуй ввести такие через ALT+...
Все намного проще, чем вы думаете.... ![]()
0
|
|||
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
| 23.04.2012, 17:28 | |
|
на MSDN причиной этой ошибки называется нарушение целостности VBA-проекта (project is corrupted) и рекомендуется его перекомпилировать. Подозреваю, что "защита" заключается во внесении изменений в книгу другим редактором, из-за чего эксель не может корректно отобразить содержимое модулей. Имхо последствия могут быть непредсказуемыми - например, неверное выполнение отдельных макросов, причем в зависимости от данного конкретного экземпляра экселя, установленного у пользователя.
0
|
|
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
||
| 23.04.2012, 17:35 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
|
| 23.04.2012, 18:16 | |
|
Защитил так большой проект с кучей макросов, форм - все работает.
лично у меня при вводе пароля не дает писать ALT+1 и т п (кстати длина пароля у меня MAX 32 символа, как Алексей temeshov ввел 250?) у меня Microsoft Excel 97 SR-1 jw.rar -> см.рис.
0
|
|
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
| 23.04.2012, 18:30 | |
|
А еще есть такой бесплатный пакет OpenOffice.org, он понимает файлы Microsoft Office, жаль, макросы только показывает, но не исполняет (там свой встроенный язык). Так вот, при открытии файла xls и переходе в режим просмотра макросов этот OpenOffice преспокойно открывает ЛЮБОЙ модуль, не обращая внимания на наличие/отсутствие пароля. Так что защищаешься ты в основном от самого себя :-)
0
|
|
|
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 63
|
|
| 24.04.2012, 10:05 | |
|
Как я установил пароль в 250 символов?
Я устанавливаю пароль не на проект а на открытие файла. Может быть мы говорим о размых проблемах - мне главное, чтобы НИКТО, кто не имеет отношение к нашей компании, не смог просмотреть исходный код программы, т.к. там храниться конфиденциальная информация. Сотрудники офиса, для кого и написана программа, не очень разбираются в вопросах взлома программ, поэтому от них я спокойно отгородился стандартным паролем на vba проекте и isaddin. Однако в прошлом году одна из сотрудниц попросила парня, работающего в нашей же компании вскрыть программу (может и не просила, а он сам хотел "повыпендриваться"). Но вскрыли не проект, а защиту листа с данными. После чего они были уволены. Может надо создать новую тему, но я спрошу здесь: Я хочу сделать (пока сам незнаю как), чтобы программа знала, когда она сама сняла защиту листа, а когда её снял пользователь, чтобы предупредить меня об факте вскрытия. Есть еще проблема - ведь можно нажать на Ctrl + PauseBreak и остановить выполнение макроса. Ведь можно попасть в тот момент, когда программа сняла защиту, хочет произвести запись данных, а её остановили и лист остался незащищенным. Кто нибудь сналкивался с чем-нибудь подобным и что можно придумать?
0
|
|
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
||
| 24.04.2012, 10:35 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 63
|
|
| 24.04.2012, 10:45 | |
|
Спасибо за совет, в каком направлении двигаться!
Никогда не сталкивался с компиляцией кода в DLL-библиотеку, но будем учиться! ![]() Сразу наводит на мысль: Возможно практически весь проект компелировать в различные DLL-библиотеки, а затем (моя программа автоматически обновляется через интернет) обновить только те библиотеки, коды которых изменились? Я думаю, что возможно...
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
||
| 24.04.2012, 14:12 | ||
|
Читал статью про полиморфные вирусы.
Как я понял вроде, сам код программы не меняется, а меняются коментарии к строкам. т.е. при компилировании получается совсем другой размер у файла. (читал ночью - может что-то не понял). Но опять-же к VBA это не применить.
Задумка есть: написать прогр, которая имена переменных поменяет на произвольный набор символов. пример: dim a, b -> dim hcdgbfdhjfkhweuifhidsfh, csgvukrhiufgherwilfos (соответственно по всему проекту). отсюда вопрос: Максимальная длина имени переменной?
0
|
||
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
|
| 24.04.2012, 15:22 | |
|
Не забивай гвозди микроскопом - для этого есть молоток.
Какой нафиг полиморфизм, какие комментарии! В [underline]машинном коде[/underline] имен переменных НЕТ, им статически или динамически выделяется область памяти с определенным адресом, по которому и идет чтение/запись данных. Ну, переназовешь ты все переменные, и что? Я бы, увидев такое, из раздела DIM копировал бы их в буфер обмена, а потом делал замену по всей процедуре на простое имя... Господа, поверьте мне, даже машинный код трассируется и анализируется без особых проблем (лично этим занимался), ломается [bold]любая[/bold] программа, вопрос только во времени взлома. Меньше всего времени уйдет на "взлом" проекта VBA, ибо он хранится в исходном виде. Если есть желание его защитить, сохранив привычную среду VBA, ищите программеров или сами учите языки типа СИ/Дельфи, там код в exe-шнике не хранится, как и имена переменных. Вообще, кто-нибудь может объяснить, где используется приложение, написанное в среде Эксель, для которого критично раскрытие кода? Подскажу вариант защиты: пишите две программы в экселе: основную и т.н. загрузчик. Основная - то, что у Вас сейчас есть. Закройте её паролем на [bold]открытие[/bold] файла, а сам пароль запишите в виде текстового файла на любой съемный носитель (CD, flash-disk и т.п.) или на сервер в другой каталог. Задача загрузчика: прочитать пароль из внешнего источника, открыть с его использованием основной программный файл и все! Код загрузчика прятать не нужно: увидев, что он использует внешние данные (а не хранимые [underline]внутри[/underline] кода), любой ломальщик на этом остановится, ибо вскрыть пароль на открытие в "офисе" - задача прямого перебора, которая усложняется использованием длинного пароля и широкого набора возможных символов (русские, английские, цифры, знаки препинания и т.д. - в файле можно хранить что угодно). Пароль можно генерить при каждом запуске новый, обновляя его на внешнем носителе. Если криптографической стойкости такой защиты покажется мало (хотя у меня в версии Экселя 2002 использован вариант RSA-4), можно дополнительно упаковать основной модуль любым архиватором с использованием пароля, тогда потенциальному взломщику придется сперва вскрыть архив, а затем и файл (оба пароля, естественно, хранятся на внешнем носителе). Этот способ подойдет тем, кто не тиражирует свои разработки, а использует их внутри компании, для предотвращения использования программы теми, кто ее попробует скопировать. Естественно, что уже запустив программу в среде Экселя, пользователь может прервать ее работу и сохранить файл без пароля для дальнейшего анализа. В этом случае надо смотреть в сторону СИ/Дельфи...
0
|
|
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
||
| 25.04.2012, 10:51 | ||
|
[bold]Ok![/bold] Не надо обьяснять понятные вещи. (первый абзац)
у нас заявки по автозапчастям обрабатываются в Excel'e. Удобно: можно наценить проценты на любую позицию, добавить коментарии, видно сколько получено, сколько осталось докупить (все наглядно), сделать счет-фактуру и накладную и т п. ставил это все один чел в каком то там 199.. г, конечно не бесплатно. (да и так несколько раз приходил, тоже не бесплатно ![]() Я знаю что и в других фирмах она использовалась.
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
|
| 25.04.2012, 10:55 | |
|
Еще один вариант [bold]"защиты"[/bold] (в больших, больших кавычках).
0
|
|
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
||
| 25.04.2012, 11:02 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 63
|
|
| 25.04.2012, 11:10 | |
|
У нас программа отсылает отчеты на сервер. Причем стоит она не только в офисе, но и во всех магазинах сети, а в програмном коде содержится информация по подключению к серверу...
Я бы не хотел, чтобы она хранилась в открытом виде.
0
|
|
|
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
|
||
| 25.04.2012, 11:22 | ||
Если бы ты не сказал, что код должен быть, никто бы его не искал :-)
0
|
||
|
0 / 0 / 0
Регистрация: 02.09.2010
Сообщений: 102
|
||
| 25.04.2012, 12:15 | ||
|
Я же говорю, ставил он ее за деньги.
Некоторое время назад менялся НДС 20%->18%, так вот за эти 2 циферки он получил 500 рублей. если ее скопировать на др. комп, то она там не работала. (как потом выяснилось были подключены доп библиотеки, использовалась запись в реестр,проверялось наличие файла на диске) Начальник поставил задачу, и... ![]() теперь как вы поняли мы справляемся своими силами.
я понимаю так - компьютер подключен к локальной сети, кто нибудь может сделать этот носитель общим ресурсом (например в ваше отсутствие), и спокойно списать пароль при помощи другого компа. (а вы и не заметите) надо проверять - если общий ресурс, то .....
0
|
||
|
0 / 0 / 0
Регистрация: 20.03.2012
Сообщений: 7
|
|
| 27.04.2012, 02:49 [ТС] | |
|
Приятно, что за мое недолгое отсутствие тема разрослась.
Интересные вещи Вы пишете, но все же немножко отклонились от изначально поставленной задачи. Мне по прежнему [bold]нужно:[/bold] 1) Сделать так, чтоб при открытии файла автоматически включался низкий уровень защиты и автозапуск формы невозможно было отключить. 2) Сделать проверку уровня защиты и если он не низкий автоматически без изменений закрыть файл, ну и если можно в идеале выдать MsgBox типа «Для открытия файла установите низкий уровень защиты» Если есть соображения по этому поводу поделитесь пожалуйста. [bold]рoiskxxx[/bold] , если небольшой секрет, можешь подробней поделится о варианте [bold]"защиты"[/bold] (в больших, больших кавычках) ;-) sdemyan_собака_ukr_точка_net
0
|
|
|
90 / 37 / 14
Регистрация: 03.11.2010
Сообщений: 429
|
|
| 28.04.2012, 00:41 | |
|
Просто посмотри код до конца вправо.
0
|
|
| 28.04.2012, 00:41 | |
|
Как понизить уровень безопасности
Нужно ли повышать уровень безопасности газовой техники путем её замены в случае окончания месторождений природного газа? Как сделать чтобы уровень змейки и уровень яблока совпадал? Работа со звуком более или менее низкий уровень. Получить уровень сигнала микрофона Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
|
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи.
. . .
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|