Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/47: Рейтинг темы: голосов - 47, средняя оценка - 4.91
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578

В каком формате безопаснее держать макросы с паролями?

11.07.2014, 23:03. Показов 10648. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Из двух форматов:
xlsb
xlsm

в каком формате лучше держать макросы, у которых пароли?

Зачем вообще нужен формат "xlsb"? Ведь появился новый формат "xlsm", поэтому зачем нужен "xlsb"?
Xlsb - это ведь старый формат, который использовался в "Excel 2003".
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.07.2014, 23:03
Ответы с готовыми решениями:

В каком формате сохранять модуль?
Вопрос по модулям. Я написал свой модуль для Free pascal В каком формате его необходимо сохранить?

В каком формате писать в datetime?
Здравствуйте! В ms sql таблице есть колонка DateTime , пытаюсь в нее записать необходимые мне дату и время через ExecuteNonQuery() получив...

В каком формате лучше ссылка
Скажите пожалуйста, на сайте использую формат ссылки href="/catalog/tovar1" Или же надо ...

42
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
16.07.2014, 09:38
Студворк — интернет-сервис помощи студентам
В свойствах VBA галки поставь и перезагрузи ОО
Я то же не работаю, но для просмотра кода мне проще открыть в ОО чем ломать пароль
0
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
16.07.2014, 09:46

Не по теме:

Цитата Сообщение от Alex77755 Посмотреть сообщение
А зачем вскрывать-то
1. Интерес академический.
2. Уже писал, что путем нехитрых махинаций можно наплодить листы типа "Эта книга", которых в структуре дерева(в индексных файлах структуры XML) нет. Упоминание о них только в vbaProject.bin, а соответственно, в структуре оснастки они появляются из него. Они никак не удаляются и чистить их нужно.
3. Зачастую, получается так, что код удален и файл сохранен, а в vbaProject.bin он еще присуствует. Хочется понимать где это и почему, чтобы проблему решать и чистить файл от уже удаленного кода.
4. Довольно часто происходит так, что код вроде обновлен и даже не похож на прежний, а файл открывается вместе с "компиляцией старого кода" и работает как бы по старому коду - делая при этом совершенно не то, что нужно (что делает актуальный код). Эту проблему тоже нужно решать.
5. + ряд других проблем


Коллеги, вы действительно думаете, что если человек лезет в код чтобы его посмотреть (и видимо его поправить), то после этого ему не хватит квалификации чтобы понять как из любого эксельного файла вытащить код? (пусть это будет не OpenOffice, - пусть будет другой инструмент ... но вытащит же)
0
81 / 18 / 1
Регистрация: 22.05.2013
Сообщений: 32
16.07.2014, 09:55
Цитата Сообщение от Скрипт Посмотреть сообщение
Из двух форматов:
xlsb
xlsm
в каком формате лучше держать макросы, у которых пароли?
Ответ: в третьем - в *.dll или AddIn, написанном на Visual Studio.
VBA, на мой взгляд, не имеет надёжных средств хранения исходного кода.
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
16.07.2014, 10:47
Цитата Сообщение от Hedge-Hog Посмотреть сообщение
Ответ: в третьем - в *.dll или AddIn, написанном на Visual Studio.
VBA, на мой взгляд, не имеет надёжных средств хранения исходного кода.
Так-то да, правильный ответ уже первый. А всё что можно сделать средствами VBA это заставить человека сделать 1-2 действия перед тем как ему предстанет код.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
16.07.2014, 16:20  [ТС]
Цитата Сообщение от Hedge-Hog Посмотреть сообщение
Ответ: в третьем - в *.dll или AddIn, написанном на Visual Studio.
вы подразумеваете, что нужно использовать другой язык программирования, чтобы сделать "dll" и "AddIn"?

Я только VBA знаю, поэтому мне это не подходит.


Цитата Сообщение от StepInLik Посмотреть сообщение
Коллеги, вы действительно думаете
Я просто узнаю, как защитить макрос, у которого есть пароль. Если какой-то формат лучше защищает, то лучше его использовать. Я теперь буду использовать только "xlam" для макросов, у которых есть пароли. Пока не узнаю что-нибудь новенькое.
0
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
17.07.2014, 09:52
Неужели вы думаете, что пользователь станет открывать ваш файл с макросом именно OpenOffic'ом?
Сами подумайте - какова вероятность этого?
Если ему будет нужен макрос - какова вероятность, что он станет его открывать OpenOffic'ом, а не просто сломает его? Подумайте об этом критично. Вероятность однозначно нулевая. И какой тогда смысл менять формат файла?
По сути xlam - тот же зип и прекрасно распаковывается как и любой другой из новых.
Попробуйте VB. Потратьте немного времени и вставьте часть ключевых функций в нее. Попробуйте, это не сложно - и полезно с т.зрения вашего опыта и защитит ваш код.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
17.07.2014, 09:59  [ТС]
StepInLik, для меня сложно программирование - я на другой язык программирования не смогу перейти.
0
17.07.2014, 10:39

Не по теме:

Стоит ли вообще закрывать код скриптов от кого бы то ни было? Давайте будем честны перед собой: делая сценарии, нам международных корпораций не создать, в top 100 forbes не попасть, так зачем выделываться? По-моему, навыки VBA одни из самых низкооплачиваемых у тех, кто зарабатывает на программах. По большей части макросы не поставить на серьезные коммерческие рейсы, это лишь Ваш персональный скилл, дающий вам небольшой плюс ко всему остальному резюме офисного служащего.

0
17.07.2014, 11:27

Не по теме:

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

может тогда автору темы нужно сделать что-то посерьезнее, чем просто поменять формат файла?

0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
17.07.2014, 11:55
Лучший ответ Сообщение было отмечено Аксима как решение

Решение

Интересная тема про хранение макросов с паролями. Меня она прямо заинтриговала, и я попробовал взломать все форматы файлов Excel из числа тех, в которых можно хранить макросы.

По результатам тестирования, которое продолжалось два дня, мне удалось взломать все форматы, кроме .xla...

Что пробовал с файлами формата .xla:
  1. Простой перебор паролей: cлишком медленно, к тому же в некоторых файлах, на которых я проводил тестирование, вместо окна ввода пароля появлялась надпись "Project is unviewable" - тогда вообще не получится ввести пароль.
  2. Открыть с помощью OpenOffice.
  3. Открыть файл в двоичном режиме с попыткой преобразования формата файла из .xla в .xls. Попытка заключалась в следующем:
    1. Написал простенький hex-редактор.
    2. Произвел в редакторе поиск последовательности BOF (809h). У меня она оказалась следующего вида:

      9810006506632CD7C980106600

      Дам пояснения: первые две цифры - код поля. Понятно, что 98 не похоже на 809h, но дело в том, что числа в бинарнике записываются с младшего разряда, а в спецификации - в привычной нам форме (со старшего разряда).
      Следующие две цифры - размер поля данных. Он равен 0 * 256 + 16 = 16 байтам (10 в 16-системе равно 16 в десятичной).
      Наконец, само поле данных. Его содержание в данном случае неважно, важно, что сразу после поля данных BOF должна следовать последовательность ADDIN (если это файл .xla).
    3. Произвел в редакторе поиск последовательности ADDIN (87h). У меня она оказалась следующего вида:

      87000

      Пояснений тут, я думаю, не требуется.
    4. Удалил последовательность ADDIN из файла, сохранил изменения и попробовал его открыть. Не вышло.
    5. Потом провел ряд опытов с преобразованием .xls файлов в .xla файлы. Из моих наблюдений над изменениями двоичной структуры файла выходит следующее:
      При преобразовании .xls файлов в .xla файл Excel:
      1. Добавляет последовательность ADDIN (как я и предполагал).
      2. Меняет байты в последовательностях FONT2, причем каждый раз по-разному, закономерности мне найти не удалось. Скажем, байт 92 он при этом преобразовании он может заменить как байтом A1, так и байтом 9F.
      3. Добавляет/удаляет несколько нулевых байтов (видимо, чтобы длина файла оставалась кратной некоторой длине).
      4. В связи с изменением длины файла и вставкой поля ADDIN меняет в ряде последовательностей значения полей, содержащих данные о позиции некоторых других последовательностей внутри файла.
      У меня оставлось уже не так много времени из того, что было отведено на тестирование, как итог, мне не удалось справиться с задачей обратить эти преобразования.
Подводя итоги, получаем, что Скрипту лучше всего выбрать формат .xla, т.к. взлом такого формата требует от программиста много времени и усилий.

С уважением,
Akisma
3
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
17.07.2014, 12:51  [ТС]
Aksima, но "xla" - это старый формат. Сейчас используется "xlam".
Вы подразумеваете какой из этих форматов?
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
17.07.2014, 16:15
Здравствуйте, Скрипт,
Я подразумеваю именно формат .xla.

Хотя современные версии офиса предлагают сохранять аддоны в формате .xlam, они по-прежнему могут успешно работать с макросами, записанными в файле более старого формата .xla.

Основная разница между форматами .xlam и .xla заключается в том, что часть информации в .xlam файле представлена в виде отдельных XML-файлов, хранящихся внутри .xlam файла, тогда как .xla файл представляет собой единый двоичный файл. Но эти тонкости не влияют на работу макросов в этих файлах.

Если захотите сохранить .xla файл в Офисе версии 2007-2013, то прилагаю скриншот, как это делается.

С уважением,
Aksima
Миниатюры
В каком формате безопаснее держать макросы с паролями?  
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
17.07.2014, 16:39  [ТС]
Aksima, что лучше для хранения макросов, у которых пароли:
xla
xlam
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
17.07.2014, 16:43
Скрипт, для хранения макросов, у которых пароли, лучше формат .xla.

С уважением,
Aksima
P.S. А ответ на вопрос "почему .xla лучше" - в этом посте. .xlam я тоже тестировал на стойкость.
1
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
17.07.2014, 16:47  [ТС]
Aksima, спасибо. Значит буду хранить макросы, у которых пароли, в xla-файлах.
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
17.07.2014, 17:11
Aksima, но ведь можно в том числе .xla файл засунуть в программу типа Advanced Office Password Recovery и поменять пароль на какой хочешь. То же самое с любым другим форматом. Там в защите проекта в вба какой-то фатальный бэкдор есть
0
6082 / 1327 / 195
Регистрация: 12.12.2012
Сообщений: 1,023
17.07.2014, 20:12
korvindeson, тогда укрепляем файл .xla защитой "Project is unviewable", о которой я упоминал в этом посте, и программа Advanced Office Password Recovery обламывает зубы. Или уже не обламывает?

С уважением,
Aksima
P.S. Оказывается, это еще и платная программа. Ну естественно, она должна быть на порядок сильнее того, что я могу за 2 дня сварганить для взлома "полюбившегося" формата, иначе кто будет за нее деньги платить?
Но все равно не верится, что она взломает такую двойную защиту.
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
17.07.2014, 20:50
Aksima, посмотрел. Да, забавная штука, даже разобрался как воспроизводить. Но тем не менее если мы пройдём в Рецензорование -> Общий доступ и снимем галку с общего доступа, внезапно окажется, что всё можно.
А бесплатные аналоги наверняка есть, хотя и эту можно бесплатной сделать
Вложения
Тип файла: xls 1.xls (32.5 Кб, 19 просмотров)
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,578
17.07.2014, 21:15  [ТС]
Цитата Сообщение от Aksima Посмотреть сообщение
тогда укрепляем файл .xla защитой "Project is unviewable", о которой я упоминал в этом посте
не могу найти в сообщении, как сделать защиту "Project is unviewable". Как Вы её делали?


korvindeson, Вам удалось посмотреть код макроса, у которого есть пароль, в файле с форматом "xla"?
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
17.07.2014, 21:24
Скрипт, да и проблем не возникло. А вот с проектом, который нельзя посмотреть интересно получилось. При помощи маааленького трюка можно достаточко креативно защитить проект. Проблема в том, что если знать как его закрыть обратный взлом не представляет трудов. Однако вот самый защищённый вариант файла на VBA, на который я натыкался. Тоже не беда открыть, но уже надо подумать.
Вложения
Тип файла: rar 1.rar (10.9 Кб, 37 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2014, 21:24

В каком формате хранится Varchar?
Вопрос такой как сохраняется значение varchar в базе данных?Кодируется?

В каком формате это зашифровано?
Добрый вечер,подскажите пожалуйста,если знаете,в каком формате,это зашифровано? ...

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

В каком формате удобнее хранить данные?
Есть необходимость хранить данные. Нет возможности организовывать базу данных. Какие есть альтернативы. Скорость обработки имеет...

В каком формате лучше хранить образ ОС?
В .dmg или в .iso лучше? Если сохраняю


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
Создание формы заимствованного документа
Maks 03.08.2026
Задача: Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также табличная часть со следующими реквизитами: - Расчетный счет покупателя. . .
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача: В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов. Логика кажется понятной: 1. Находим ключевые слова. 2. Добавляем их на. . .
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302 Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru