Вызов макропрограмм из ZIP-архива

Материал из K3-Macro
Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎

В данном разделе даётся информация о ZIP-архиве, о том, как хранить в нём макропрограммы, в том числе и зашифрованные, и как пользоваться парольным доступом для запуска шифрованных макросов из ZIP-архива.

Zip-архивы[править | править код]

MTest.zip в WinZip
MTest.zip в WinRar
MTest.zip в 7z

Архивы — это файлы, содержащие другие файлы. Обычно файлы внутри архива находятся в сжатом виде. Доступ к файлам в архиве может осуществляться в свободном доступе или по паролю. Архивы упрощают группировку, транспортировку и копирование группы файлов.

Существует достаточно большое количество разнообразных форматов архивов (файлы с расширением ZIP, RAR, CAB, 7z и т.д.). Ниже будем рассматривать только ZIP-архивы.

Будет показано, как использовать ZIP-архив для хранения группы макропрограмм семейства приложений K3, в том числе хранения в шифрованном виде, а также вызывать шифрованные макросы с использованием пароля.

Для иллюстрации работы с ZIP-архивом был создан тестовый архив MTest.zip.

Архив MTest.zip содержит папку Test, содержащую четыре макропрограммы. Таблица ниже содержит их список:

файл
шифрован?
пароль
алгоритм
WithoutPass.mac
Нет
Pass1.mac
Да
qwerty
Zip 2.0 compatible
Pass2.mac
Да
asdfgh
Zip 2.0 compatible
PassAES128.mac
Да
zxcvbn
128-Bit AES

Существует много программ, которые работают с ZIP-архивами. Ниже приведены примеры отображения тестового архива в некоторых наиболее популярных программах, умеющих работать с ZIP-архивами: WinZIP32.exe, WinRAR.exe, 7z.exe.

Информация о содержимом MTest.zip[править | править код]

Программы сообщают о том, что файл в архиве хранится в шифрованном виде либо добавляя символ звёздочка (*) к имени файла в списке файлов, либо явно указывая наличие и метод шифрования (в данном случае – ZipCrypto).

Некоторые программы показывают и метод сжатия файлов (в данном случае – стандартный метод сжатия, известный как Deflate)

Семейство приложений K3 позволяет вам использовать только стандартное шифрование файлов (WinZIP.exe называет его «Zip 2.0 compatible», 7z.exe называет его ZipCrypto).

Рассмотрим пример добавления файла с шифрованием в программе WinZIP.exe, хотя вы можете воспользоваться любой программой-архиватором, которая поддерживает ZIP-формат или даже в файловом менеджере типа TotalCommander или FAR.

Добавление файлов в архив[править | править код]

Начиная с версии 8.1[править | править код]

Для добавления файла в архиватор используйте специальную утилиту сборки архива. Она доступна в приложении K32.exe по команде Инструменты/Упаковщик файлов (рис. 1).

K32 — это внешний редактор простых объектов К3. Вызвать его можно через меню Пуск из папки с программой (рис. 2).

(1) Работа с Архивом в 8.1
(2) Запуск К32 в К3-Мебель

После запуска команды Упаковать:

  1. Выберите пункт упаковать и укажите файлы mac, которые следует добавить в архив, нажав на кнопку с многоточием (рис. 3);
  2. Далее (рис. 4) введите Имя архива;
  3. Задайте пароль;
  4. Нажмите Упаковать.
(3) Выбор файлов
(4) Запуск создания архива

Для более старых версий[править | править код]

В более старых версиях К3 (до 8.0) алгоритмы создания архивов были другие. Ниже показан пример добавления файла в архиваторе WinZip и в файловом менеджере TotalCommander.

Используем WinZip[править | править код]

Выберите пункт меню Action|Add….

Clip2004.png

Выберите необходимый файл или группу файлов, установите метод сжатия (Compression) в «Normal», установите флажок “Encrypt added files” и нажмите кнопку Add.

Появится диалоговое окно запроса пароля и метода шифрования. Введите необходимый пароль, метод шифрования нужно установить как «Zip 2.0 compatible».

Clip2005.png

Используем TotalCommander

Откройте на одной панели нужную папку внутри ZIP-архива, а на другой – папку с архивируемой макропрограммой.

Clip2006.png

Нажмите кнопку F5 Копия. Появится диалоговое окно с параметрами архивации.

Clip2007.png

Установите флажок Шифровать (ZIP, ARJ, RAR, ACE) и нажмите кнопку OK.

Появится диалоговое окно запроса пароля. Введите необходимый пароль и нажмите кнопку OK.

Вызов шифрованных макропрограмм из ZIP-архива[править | править код]

Для использования шифрованных макропрограмм должны быть выполнены следующие условия:

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

В системе имеется команда, устанавливающая пароль для работы с ZIP-архивами.


passzip <N> <password>

где <N> – номер паролирования файлов в ZIP-архиве, полученный у разработчиков программы. <password> - пароль шифрования макропрограмм. Это команду нужно выполнить однократно для задания пароля. Например, passzip 1703,"Bm746pc". Можно вставить это команду, например, в макропрограмму автозагрузки AutoStart.mac и пароль будет устанавливаться при старте приложения автоматически.

Для вызова из ZIP-архива, например, макропрограммы pass1.mac из архива d:\MTest.zip нужно выполнить следующую команду:

macro "D:\\MTest.zip|Test|Pass1.mac" ;

В качестве разделителя имён внутри архива используется символ вертикальной черты “|”.

В случае ошибки доступа к макропрограмме в архиве выводится сообщение "Неверный пароль, неподдерживаемый метод сжатия/шифрования или иная ошибка файла: <имя файла>".

Влияние passzip на настройки к3[править | править код]

Внимание!!! Команда passzip отключает установку трассировка макропрограмм.

Это означает, что установка чекбокса "трассировка макропрограмм" в установках(F9) и инструкция macromode trace on; работать не будет.


Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎