Сжатие текстов исключительно средствами языка 1С

Публикация № 314818 25.11.14

Разработка - Защита ПО и шифрование

Сжатие LZSS Избыточность Кодирование Обфускация Защита

Обработка упаковывает текст и делает его в виде исполняемого SFX.
Область применения: Just for fun
Побаловался на досуге, размял мозг.
Можно применять для упаковки и нечитаемости текстов процедур и функций, или запросов


Цель данной обработки это сжатие текстов.
Поскольку в 1С никогда не требовалось сжимать исходные коды или тексты, то применимость данных методов сомнительна.
Обработка была написана с целью «размять мозг» и для развлечения.
Программа распространяется «Как есть», никаких гарантий и ответственности не подразумевает.
Возможно полезным побочным эффектом работы данного приложения является нечитаемость текстов при сжатии, но в платформе 1С и так предусмотрено сжатие текстов исходных кодов, а так же защита при помощи криптографии, путем установки пароля на тексты модулей
Сжатие (избавление от избыточности) текста при большом количестве итераций происходит довольно медленно и требует много времени, т.к многократно проходит по сжимаемому тексту.
В самом нижнем поле обработка создает текст который можно просто вставить в код своего модуля и данный текст распакуется при исполнении, так называемый «Самораспаковывающийся архив или SFX». Кстати текст который вы сейчас читаете так-же запакован и хранится в коде в запакованном виде, а при запуске обработки выполняется процедура распаковки.
Инструкция.
Для сжатия текста необходимо скопировать или ввести сжимаемый текст в верхнее поле ввода «Исходный», указать максимальное количество итераций для сжатия и нажать на кнопку «Упаковать». Через некоторое время (приблизительно 5 минут) программа заполнит остальные поля формы обработки упакованным текстом и «Разделители».
В окне сообщений будет выведена статистика сжатия: за сколько итераций произошло сжатие.
Строка разделителей по сути является ключом для распаковки сжатого текста, длина этого ключа всегда равна количеству затраченных итераций.

Пример использования:

 

Функция НайтиОптимальноеСловоСжатия(СтруктураПараметров)
Успешно = Ложь;
Текст = СтруктураПараметров.Текст;
СтруктураПараметров.Разделитель = Лев(НайтиНеиспользованныеСимволы(Текст),1);
Если СтруктураПараметров.Разделитель = "" Тогда Возврат Ложь; КонецЕсли;
Т="ЕслиVСжатl94ейaДлdовi8аvКонецo - s + tин0имальнkЦикл_СтрP ПоA;BS
| 5AзицияvWtasOтр9(8)R o_а;DПолi0аd0ыKPокаvL9ВсегоvZ9lогоvXМ0kая9C5 B = 3Разделител4lие6PуктураПараметрi.7Текст8d0а9 Z3сR;5K3Цел(сR / 2);5a3P9(74и)t1;5C3ZO1; 5dя 632A K _5 dяW31A СRs6 _ BL3Сред(8,W, 6)SПiтор3PЧислоВхождений(8,L)SX3Zt6O(6s1) *AвторSV C > X Тогда B C3XS 7ОптkоеСлiо3LS 7636S Успешно3Ист0аSoV; 5DD";
for а=1 to 32 do в=Mid("Vladivost0k_PAS5WORDKLZXCB346789",а,1);б=find(Т,в);Т=StrReplace(Mid(Т,б+1),в,Лев(Т,б-1));enddo;
Выполнить(Т);
Возврат Успешно;
КонецФункции

 

Скачать файлы

Наименование Файл Версия Размер
Сжатие.epf

.epf 10,98Kb
16
.epf 10,98Kb 16 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ildarovich 7662 25.11.14 16:58 Сейчас в теме
Какой принцип используется?
Какой коэффициент достигается?
Как относительно zip?
2. eugeniezheludkov 41 26.11.14 01:45 Сейчас в теме
(1) ildarovich,1. Принцип был придуман на ходу, но по прочтению википедии он ближе всего к LZSS:
ищем самый повторяющийся набор символов и заменяем его на неиспользуемый, в данном тексте (из предопределенного набора), символ, и так на повторе, пока не достигнем увеличения размера после сжатия.
2. Коэффициент в зависимости от повторяющихся символов, но в среднем для обычных "тел процедур" размер уменьшается на 30%, это с учетом размера распаковщика, который так же присоединяется к упакованному тексту.
3. Zip сейчас использует множество сжатий RLE + LZW + HAFFMAN поэтому он явно сильней сжимает , и если честно даже не сравнивал

1С не предназначен для этой задачи :)
мой интерес был написать минимальный по размеру и быстрый распаковщик для текстов процедур и запросов (иногда с паролем) если есть что еще оптимизировать я б выложил на гит, но возможно завтра мне будет уже не интересно :(
ПС извиняюсь за слово "Jast" в статье , фэйл
3. DrAku1a 1582 27.11.14 02:42 Сейчас в теме
ZIP = новый ЗаписьZIP();
это не средствами 1С разве?
4. eugeniezheludkov 41 27.11.14 03:10 Сейчас в теме
(3) DrAku1a, в 8.2 нет такого ЗаписьZIP есть лишь ЗаписьZIPФайла, в моем случае предполагается сжимать, к примеру текст запроса, непосредственно в исходном коде конфигурации, а не во внешнем файле и очень быстро распаковав его "на лету", распаковщиком в 4 строки, выполнить. Можно даже защитить паролем который в свою очередь хранить в константе ИБД. пароль в данном случае это строка разделителей, но Да вы совершенно правы, название и текст статьи необходимо сменить но пока в голову ничего не приходит кроме как "развлечения ради", данная обработка неприменима в областях 1С.
Её применение где-нибудь в javascript. для защиты и сжатия кода веб-страницы, собственно что-то подобное уже нашел http://js1k.com/2012-love/demo/1127
алгоритм тот же, разве что подход и формат данных другой

для сравнения с добавил кнопку:
	Упакован = СтрЗаменить(СтрЗаменить(ЗначениеВСтрокувнутр(Новый ХранилищеЗначения(Распакован, Новый СжатиеДанных(9))),Символы.ПС,Символы.ПС+"|"),"""","""""");
    ПересчитатьРазмеры();
	SFX = "Т=ЗначениеИзСтрокиВнутр("""+Упакован+""").Получить()";

результат: zip + base64 быстрее (нативный же), но всегда сжимает хуже чем мой способ сжатия, но как я уже писал мой способ действует лишь на текстовую информацию. В случае с zip: base64 все портит . base58 очень спас-бы ситуацию
5. alexa_19 26.12.19 09:02 Сейчас в теме
Добрый день!
Работает только на обычных формах?
Оставьте свое сообщение

См. также

Формирование файлов ЭЦП

Защита ПО и шифрование ЭДО и ОФД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Внешняя обработка на УФ для формирования файлов подписей. Формирует как отсоединенные, так и присоединенные ЭЦП. Не требует БСП, работает как в тонком, так и в веб-клиенте.

1 стартмани

26.02.2023    969    7    serg33rus    7    

8

Запрет глобального поиска в конфигурации

Защита ПО и шифрование Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Представляю вам микрорасширение, которое запрещает глобальный поиск по вашей конфигурации.

1 стартмани

09.02.2023    1104    1    aximo    3    

2

Универсальный синтаксический анализатор ASN.1 для декодирования .key, .cer, .der, .p7m, .p7s, .crt, .pem

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    1390    2    keyn5565`    0    

10

Шифрование строки на основе мастер-пароля в 1С Предприятие 8.3.19

Защита ПО и шифрование Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    2078    3    vit59    2    

5

Обфускатор байт-кода 1C

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

10 стартмани

16.06.2022    5362    40    ZhokhovM    9    

28

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Антидекомпилятор

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

5 стартмани

03.06.2022    5498    41    ZhokhovM    28    

53

Как уберечь конструкторскую документацию от воровства конкурентами?

Защита ПО и шифрование Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Как уберечь конструкторскую документацию от воровства конкурентами? Недавно столкнулся с этой проблемой. Заказчик серьёзно обеспокоен утечкой информации о конструкторских разработках в адрес конкурентов, за счет подкупа исполнителей, занимающихся производством по конструкторской документации, операторов технологического оборудования и обрабатывающих центров по изготовлению деталей и сборочных единиц.

2 стартмани

09.03.2022    4229    0    ge_ni    9    

2

Защита конфигураций, обработок, расширений 1С онлайн, управление версиями

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Система построена на веб платформе, все управление происходит на сайте в личном кабинете пользователя.

1 стартмани

27.12.2021    3551    2    idm80    10    

9

Пример работы с криптографией в Web-клиенте 1С

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Столкнулся с проблемой отсутствия примеров кода по работе в Web-клиенте 1С с криптографией. Свою задачу решил, выкладываю сюда, может, кому пригодится.

1 стартмани

20.12.2021    4245    8    Derushev    1    

5

Создание "ДЕМО" базы, скрытие конфиденциальной информации

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Украина Абонемент ($m)

С помощью обработки вы можете до неузнаваемости преобразовать базу клиента.

1 стартмани

26.10.2021    3692    3    VitushVV    0    

3

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Генератор контента

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Генератор контента предназначен для скрытия конфиденциальной информации, для создания тестовых баз, а также для использования в учебном процессе.

1 стартмани

12.10.2021    3370    6    mkalimulin    2    

7

Анонимная база, обезличивание данных в базах 1С. Управляемые формы

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка презназначена для обезличивания данных в справочниках базы данных, если база передается стороннему контрагенту или разработчику. Подходит для любой конфигурации на Управляемых формах. Тестировалось на самописных конфигурациях. 1С:Предприятие 8.3 (8.3.18.1334)

1 стартмани

13.08.2021    5462    28    uribur    12    

6

Шифрование по алгоритму RSA. Внешняя библиотека (*.dll)

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Абонемент ($m)

Внешняя библиотека для шифрования данных в 1С по алгоритму RSA открытым ключом. Открытый ключ задаем сами, и передаем в качестве параметра.

10 стартмани

07.07.2021    8224    17    itserve    20    

5

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Контур Диадок API. Аутентификация. Сертификат ЭЦП

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подробно рассматриваем процесс аутентификации в системе Контур.Диадок при помощи сертификата электронной цифровой подписи. Получаем аутентификационный токен и выполняем простой запрос для проверки работоспособности токена.

1 стартмани

01.04.2021    8534    28    elian    9    

11

Криптография (шифрование) на эллиптических кривых

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Тема шифрования сейчас очень популярна, а шифрование на эллиптических кривых является топом, поскольку считается одним из самых надежных криптографических алгоритмов (и поэтому используется в Bitcoin и других криптовалютах, SSL протоколе и т.д.). У меня же возник интерес - а возможно ли реализовать шифрование на эллиптических кривых средствами 1С... и теперь мне известен ответ.

3 стартмани

12.01.2021    11642    8    ikar-nikolay    12    

26

Занимательные задачи

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Решение занимательных задач средствами 1С

1 стартмани

25.11.2020    5203    0    agressor    3    

1

Практика применения XOR. XOR кодирование строковых полей с помощью ключа. Побитовые операции

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Украина Абонемент ($m)

В данной статье я расскажу о битовой операции XOR (исключающее ИЛИ) и приведу наиболее интересные примеры ее применения на 1С методами платформы. Обмен значений переменных без использования дополнительной переменной.

1 стартмани

06.11.2020    7728    13    kv.lv    4    

8

4 лабораторные работы по шифрованию и хешированию данных средствами 1С

Защита ПО и шифрование Платформа 1С v8.3 Абонемент ($m)

Знакомил студентов с шифрованием (и хешированием) данных штатными средства платформы «1С:Предприятие 8». Материалы превратились в четыре лабораторные работы: Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера; Шифрование и расшифровка строковых полей справочников модифицированным методом Виженера с использованием контрольной (хеш) суммы; Метод симметричного шифрования; Использование хеш-суммы для контроля изменения значений справочника.

2 стартмани

02.11.2020    8621    3    delta    2    

8

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Подпись данных алгоритмами SHA + AES собственным модулем

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Реализация подписи данных ключом длиной 256 бит алгоритмами SHA-256 + AES-256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

2 стартмани

01.11.2020    8050    7    1div0    8    

28

Быстрый алгоритм шифрования AES ECB 128/192/256

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Реализация существенно оптимизированного алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент, zip-файлов, обращения к диску или БД и без привязки к ОС.

1 стартмани

30.10.2020    12058    53    1div0    50    

50

Обфускатор операционного кода 1С

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Защита обработок 1С от восстановления исходного кода awa-ким декомпилятором. Протестировано 1С:Предприятие 8.3 (8.3.16.1502)

3 стартмани

18.09.2020    16173    70    MoiseevSN    65    

54

Бекдор для 1С или как обезопасить свои данные

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Как обезопасить данные информационной базы и не стать жертвой "ЗЛЫХ" программистов.

3 стартмани

25.06.2020    4573    1    Doloris0    1    

2

Алгоритм ECDSA для кривых SECP256k1 (Биткоин/Лайткоин)

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализация алгоритма ECDSA для кривых SECP256k1, которые лежат в основе Биткоин.

1 стартмани

19.06.2020    8694    7    NikitaXa    3    

5

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Алгоритм шифрования AES ECB 128/192/256

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Реализация алгоритма симметричного шифрования AES (Advanced Encryption Standard) в режиме ECB (Electronic codebook) с различной длиной ключа 128/192/256 без использования внешних компонент и zip-файлов.

1 стартмани

20.04.2020    14200    37    NikitaXa    12    

9

Кодирование / декодирование в Base58 без использования внешних компонент

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Функции кодирование / декодирование строки в Base58 без использования внешних компонент. Код алгоритмов доступен в полном описании статьи.

1 стартмани

14.11.2019    11907    1    ArtemSerov    24    

8

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

Разработка внешних компонент Мобильная разработка Защита ПО и шифрование Мобильная платформа Абонемент ($m)

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    13570    2    IgorKissil    9    

9

Криптографическое шифрование файлов

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка шифрует и дешифрует файлы. 

1 стартмани

03.09.2019    8415    6    shell_maxim    0    

0

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Запутывание кода 1С

Защита ПО и шифрование Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

02.09.2019    21898    98    leoxz    66    

52

Защищаем конфигурацию. Один ключ СЛК для всех клиентов

Защита ПО и шифрование Платформа 1С v8.3 Абонемент ($m)

Пользователь защищенной конфигурации вводит регистрационный номер и код доступа. Установка сервера СЛК у пользователя не требуется. Управляем лицензиями удаленно.

1 стартмани

30.08.2019    29050    31    mvxyz    67    

44

Электронный документооборот для украинских конфигураций

Защита ПО и шифрование Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Конфигурации 1cv8 Украина Абонемент ($m)

Подсистема электронного документооборота (в дальнейшем ЭД) является конфигурацией 1С:Предприятие, выполняющей базовые функции регистрации НН/РК и загрузки их из Реестра и способной встраиваться с минимальными изменениями в любые, в том числе нетиповые конфигурации 1С. ЭД представляет собой несколько независимых регистров сведений, справочников, документов и обработок, которые можно встроить в любую конфигурацию. «Сердцем» ЭД является обработка «ЭД: Криптопровайдер», которая экспортирует методы взаимодействия 1С с криптобиблиотекой ИИТ

1 стартмани

30.06.2019    10616    26    Asdam    2    

4

Проверка пинкода для мобильного приложения

Защита ПО и шифрование Мобильная платформа Абонемент ($m)

Простая проверка с помощью пинкода на вход в мобильное приложение.

3 стартмани

16.04.2019    8555    3    bashinsky    3    

2

Кодирование Base64

Защита ПО и шифрование Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка кодирования декодирования строки алгоритмом Base64 через использования потоков.

1 стартмани

18.02.2019    11599    12    BigTaur    6    

4

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Подписываем отчёт об исполнении контрактов ГОЗ или приказ №554

Защита ПО и шифрование Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Государственные, бюджетные структуры Россия Абонемент ($m)

Внешняя обработка, упрощающая подпись файла и генерацию архива с отчётом об исполнении госконтракта по Приказу №554 МО РФ

1 стартмани

06.02.2019    16533    40    semagin@gmail.com    8    

8

Генератор ФИО, ИНН, СНИЛС и дат рождения

Защита ПО и шифрование Обработка справочников Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Понадобилась мне обезличенная база биллинга на полтора миллиона лицевых счетов. Забивать существующие ФИО символом "Х" ("Иванов Иван Иванович" -> "Хххххх Хххх Хххххххх") было не интересно. Взял из существующей базы собрал мужские, женские фамилии, имена и отчества и написал генератор случайных ФИО. Также в обработке есть возможность генерировать ИНН физических лиц, СНИЛС и дат рождения.

1 стартмани

03.12.2018    28470    20    BigB    14    

10

"Открыть нельзя защищать!" - Где поставить запятую?

Защита ПО и шифрование Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Если Вам интересна эта тема, то вы уже знаете, какие есть возможности по защите кода модулей, внешних обработок и отчетов. Это расширение конфигурации для защиты внешних обработок от просмотра и редактирования кода.

1 стартмани

16.02.2018    25445    33    adam26    17    

29

Шифрование перестановкой символов

Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Простое шифрование строки перестановкой символов.

1 стартмани

14.12.2017    11715    3    unregisteret    3    

1

ЭЦП по гостам Украины в 1С - Внешняя компонента BilboSign.dll

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v8.3 Конфигурации 1cv8 Украина Абонемент ($m)

Причиной данной разработки послужило отсутствие на данный момент криптопровайдера ЭЦП, который может работать по гостам Украины и использоваться в 1С. Для этого разработана внешняя компонента по технологии NativeAPI.

1 стартмани

11.12.2017    20739    34    Zahary    6    

14