Сохранение файлов в конфигурации и обработках 1С: Предприятие 7.х

06.06.10

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

Дальнейшее решение проблемы с сохранение файлов в конфигурации и обработках 1С: Предприятие 7.х

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

Наименование Файл Версия Размер
File2BMP.exe
.exe 198,00Kb
64
.exe 198,00Kb 64 Скачать
ExtForms KZK Starter.ert
.ert 131,50Kb
25
.ert 131,50Kb 25 Скачать
File2BMP.rar
.rar 33,24Kb
19
.rar 33,24Kb 19 Скачать
Test.rar
.rar 346,51Kb
23
.rar 346,51Kb 23 Скачать
Protect.rar
.rar 451,36Kb
21
.rar 451,36Kb 21 Скачать

Однажды я увидел оригинальное решение сохранения файлов в обработках 1С 7х - //infostart.ru/public/14459/

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

А после подарка Альфа //infostart.ru/public/19511/ - и вовсе наступило счастье !!!

Сравнительно недавно увидел статью //infostart.ru/public/64757/, которая несколько меня возмутила. Автор не предложил ничего своего, а просто чужое выдал на гора. Ну нельзя же так !!!

Поэтому вот решил поделится своими инструментами, ну и результатами исследования проблемы.


Вкратце о файлах:

File2BMP.exe - внедряет файл в картинку BMP.

File2BMP.rar - исходники вышестоящего

ExtForms KZK Starter.ert - моя запускалка защищенных обработок.

Test.rar - тестовая база

Protect.rar - закрытая тестовая база


Итак, продолжение…

В оригинальном решении вроде бы все было, но ... надо было помнить некую минимальную информацию, а именно: имя файла и его размер. В ходе дискуссии по решению, предлагались идеи использовать палитру картинки, как FAT (не буду подробно писать что это), благо формат BMP. вроде как, размер под палитру не ограничивает.

В ходе чтения дискуссии родилась первая идея: писать картинки в JPEG! Там в конце можно, что угодно дописывать. И первое НО… 1С картинки хранит и выдает (программно) только в BMP.   Ж:?(

Ладно … И вот поковырявшись в спецификации, новые идеи … Для простоты, картинку BMPделать24 бита, и вместо палитры (при этом в спецификации указано, что картинка идет без палитры, но место под нее можно отводить) писать свою информацию. И следующие НО … 1С отводит килобайт под палитру и режет «мусор» в ней…  Ж:?( 

Ладно, попробуем без палитры… И снова НО... 1С «коверкает» 24-х битную картинку!!! Почему она «оптимизирует» цвета, для меня осталось загадкой …

ОК. Будем пользовать палитру в 256 цветов, а информацию запишем (правда очень мало) в четвертый неиспользуемый бит … И снова НО …  1С «подчищает» неиспользуемые биты.   Ж:?(   Ну прямо нет на 1С управы …

После очередных раздумий решил оставить палитру в покое, и писать информацию в «тело» картинки (правда не без ньюансов). А вот здесь и «обманули» 1Съ !!!   Ж:?)

После исследования картинок пришел черед реализации функций. Как мне не хотелось полностью все сделать на 1С, ничего не вышло. Без VBScript не обойтись ...  Ж:?(

Во-первых, 1С затирает "нетекстовые" символы, во-вторых, не пишет длинные строки через объекты. Поэтому можете даже не экперементировать ...

Со «стандартом» формирования «тела» картинки можно ознакомиться в исходниках Delphi. Если что-то еще надо, то допишете… В исходниках 1С все функции опираются на этот «стандарт» (ну типа контроль «внедренного» файла от «настоящей» картинки).

И напоследок еще о некоторых нюансах:

1. Из конфы картинка вытягивается почему-то «корявая» (может только у меня?). В начале файла, почему-то идут 1С-ные размеры картинки (это наверно из стримов МД-шника) … Заложил этот нюанс в функции…

2. Из обработок, специально, картинки «тяну» из (через) MXL. Это дает нам большой запас гибкости и скорости.

3. Чтобы не перегружать чтением из MXL, внедряйте картинки в несколько таблиц. Еще лучше если будут "логические блоки", например таблица с DLL-ками и таблица с ERT-шками. Функция "распаковки" поддерживает смещения, и поэтому читать подряд несколько файлов получится быстрее, чем читать по-одному.

4. Помните что 1С сохраняет картинки последовательно, как их вставляли. Т.е. если вы вставили 10 картинку (файл) в ячейку 1:1, то она и будет 10, а не первой!

5. Идентификаторы картинок в MXL, надо записывать в поле «Расшифровка» в кавычках !!! Это правило убережет от всякого рода ошибок при действительном использовании MXL. Ну и конечно уникальность идентификаторов, на «Вашей» совести.


Решенные неприятности:

Мой любимый Dr.Web ругался на конфу и внешние отчеты из-за скриптов VB (идет работа с записью на диск) предупреждением "Возможно, инфицирован SCRIPT.Virus".

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


Пользуйтесь на здоровье!

И как всегда, соблюдайте одно правило: не затирайте цопирайты …  Ж:?)

 

См. также

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

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

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

2 стартмани

09.03.2022    5654    3    ge_ni    9    

2

Криптография: внешняя компонента для 1С 7.7

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v7.7 Абонемент ($m)

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

1 стартмани

08.06.2020    9048    27    mdbruyfn    10    

9

1С7 + MD5

Защита ПО и шифрование Платформа 1С v7.7 Оперативный учет 7.7 Конфигурации 1cv7 Абонемент ($m)

Шифрование MD5 появилось в 1991 году (опубликовано в 1992), но и в XXI-м веке в 1С7 функция шифрования так и не появилась...

1 стартмани

11.01.2019    8677    10    vakham    2    

3

Злоумышленник зашифровал базы 1С и другие файлы

Информационная безопасность Защита ПО и шифрование Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Звонит пользователь, на экране сообщение ваши данные зашифрованы, введите пароль, пишите письма и т.д.

1 стартмани

08.11.2014    40152    44    aleksch21    85    

47

Пример кодирования строки средствами 1С в BASE64

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

Вспомнил свою старую обработку. Кодирование строки в base 64. Может пригодится для обмена с сайтами из 1с, где это требуется протоколом.

1 стартмани

02.09.2013    24285    9    _Vovik    2    

4

Внешняя обработка «Кинт: Обезличиватель 1.0»

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

Обезличивание текстовых данных любых информационных баз на платформе «1С:Предприятие 7.7».

1 стартмани

31.12.2010    18378    111    kint    7    

17

Скрыть персональные данные сотрудников (ЗиК)

Защита ПО и шифрование Кадровый учет Расчет 7.7 1С:Зарплата и кадры 7.7 Россия Абонемент ($m)

Обработка очищает или заменяет личную информацию сотрудника (Зарплата и Кадры)

1 стартмани

02.09.2010    18565    103    gucci76    15    

18

В помощь пользователям КЗК 2

Защита ПО и шифрование Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Задача: Защитить внеш. обработку или отчет с помощью КЗК 2 - передать клиенту с тем что бы он мог ее запустить, но без копирования файла precomp.dll в каталог ИБ. Так же может применяться и для блоков конфигурации.

28.01.2010    31021    script    42    

19
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Ёпрст 1063 17.05.10 08:50 Сейчас в теме
3. VRP 270 17.05.10 12:37 Сейчас в теме
(1) Вы уж извините, но "придумал" - это сильно сказано ...
4. VRP 270 17.05.10 12:52 Сейчас в теме
(1) Пардон ! Это было (2)
:D
2. script 128 17.05.10 10:04 Сейчас в теме
Сравнительно недавно увидел статью http://infostart.ru/public/64757/, которая несколько меня возмутила. Автор не предложил ничего своего, а просто чужое выдал на гора. Ну нельзя же так !!!

Я не чужое выдрал, а придумал как объединить 2 технологии в одну и очень полезную.
Следите за выражовываниями :evil:
5. VRP 270 02.06.10 00:41 Сейчас в теме
Йо-о-о !!!
CheBurator молча поставил плюс !!!
:D
6. Ёпрст 1063 29.12.10 10:45 Сейчас в теме
(0) не распаковывает, если база находится на сетевом ресурсе..
7. Ёпрст 1063 29.12.10 10:46 Сейчас в теме
+6 точнее, если путь для распаковки будет начинаться с \\
8. krupp 27.10.11 13:04 Сейчас в теме
ссылка на публикацию альфа неактивна. что там было?
9. VRP 270 27.10.11 23:22 Сейчас в теме
Оставьте свое сообщение