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

Публикация № 70304

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

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

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

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

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

Сравнительно недавно увидел статью //obrabotki1c.chavalah.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".

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


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

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

 

10

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

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

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

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

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

См. также

1С7 + MD5 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v77::ОУ 1cv7.md Windows Абонемент ($m) Защита и шифрование

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

1 стартмани

11.01.2019    2584    5    vakham    2       

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v7.7 1cv7.md Windows Абонемент ($m) Информационная безопасность Защита и шифрование

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

1 стартмани

08.11.2014    31516    45    aleksch21    85       

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

Инструменты и обработки Системный администратор Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Защита и шифрование

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

1 стартмани

02.09.2013    18198    26    _Vovik    2       

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

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Абонемент ($m) Защита и шифрование

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

1 стартмани

31.12.2010    13673    107    kint    7       

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

Инструменты и обработки no Внешняя обработка (ert,epf) v77::Расчет 1С7:ЗиК Россия Управление персоналом (HRM) Абонемент ($m) Защита и шифрование

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

1 стартмани

02.09.2010    13152    99    gucci76    15       

Golden Key 1.1 Бесплатная защита твоей конфигурации 132

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Информационная безопасность Защита и шифрование

Вам надоело видеть, как взламывают Ваши конфигурации? Вам нужна надежная и бесплатная защита для 1С? И Вы, тем не менее, хотите оставить пользователям возможность видеть и изменять Ваши программные модули? КАЧАЙТЕ GOLDEN KEY! ---------------------------- Особенности этой защиты 1. На основе использования технологии внешних компонент 2. Проста в использовании 3. Взят в основу метод интеграции защиты в программный модуль 4. Надежный алгоритм перекодировки 5. Возможность выборочной защиты отдельных процедур и функций в модуле 6. Возможность ограничить демоверсию по количеству запусков и числу имеющихся в базе документов 7. Позволяет оставлять конфигурацию без пароля, открытой для изменения без ущерба защищенности

1 стартмани

18.10.2007    39372    2229    O-Planet    473