Как тебе такое, снеговик?

https://blogs.klerk.ru/users/1911762/post178121/
Ковыряясь в API Озона, оказалось, что он может по запросу вернуть документы для печати (наклейки, лейблы, акты приема-сдачи и пр.) в формате pdf.
https://cb-api.ozonru.me/apiref/ru/#...ckagalabel_fbs
Но возвращает он их не файлом, а в виде "строки base64"
Любой файл, любого вида можно преобразовать в набор вот такой абракадабры текста.
Вот здесь внешняя обработка для 1С игра-квест "Как сдать отчетность":
Открыть оригинал изображения (668x720, 0.92 Мб)
И, соответственно, эту абракадабру можно декодировать обратно в исходный файл.
А передается как строка.

Редактировано: 21 октября 2019

Комментарии:
Когда-то давным-давно (лет 15 тому как) в прошлой жизни, была эта тема, но долгие ковыряния ни к чему не приводили - утилита, которая использовалась для декодирования (чья-то корявая поделка) декодировала какой-то хлам. И автор хлопал глазками "а я че, я ниче".
Сегодня, вернувшись к этой задаче, как-то сразу и быстро все срослось.
Как всегда, чем использовать чужие приблуды, лучше найти эту же библиотеку в Windows'е.
Так оно и оказалось.
Сижу радуюсь удаче и думаю как это можно использовать.
Первое, что хотелось сделать еще тогда, давно-давно:
Добавить во внешнюю обработку видео.
С некоторых пор, стараюсь добавлять в обработку не только текстовое описание, но и видеоинструкцию.
Для этого приходилось выкладывать ролик на ютуб, а из обработки запускать приложение с гиперссылкой на ролик - в результате, в новом окне открывается браузер по умолчанию и ролик начинает проигрываться.
Все работает, но, во-первых: для этого нужен доступ в тырнет, а, во-вторых, самое главное: ролик то один на всю обработку и показать конкретный маленький кусочек я не могу и показать где в этом ролике смотреть (если он на 10 минут, а мне нужно только несколько кадров на 5-7 секунд по конкретной теме) тоже не могу.
Теперь же, при помощи этой технологии, я могу эти коротенькие видео вставлять прямо в обработку, налету их декодировать и показывать.
Вторая очевидная группа задач - картинки и пиктограмки в формах 1С.
Причем, как в печатных, так и на формах отчетов, документов, справочников.
Например, при формировании печатной формы Счета на оплату (формируется сразу с печатями и подписями, сохраняется в PDF и присоединяется к мейлу для заказчика), приходится "картинки" печатей и сканы подписей хранить в обработке - кто хочешь открывай, копируй и т.д.
Теперь же, я могу их хранить где-нибудь в укромном месте в виде текста - фиг найдете, где они спрятаны и как их получить.
И самая главная проблема - это можно делать во внешней печатной форме, но нельзя во встроенной - картинки добавятся в библиотеку конфигурации и затрутся при очередном обновлении.
Тоже самое с картинками на форме.
Вот бесплатная загрузка курсов валют с сайта РБК во всех конфигурациях 1С:

Видите логотип в верхнем левом углу?
Он сохранен в библиотеке картинок внутри конфигурации.
Вот она:

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


Чтобы не вводить пользователей в необходимость платить за воздух и послать на фиг все эти прокладки (1С и РБК), мною была выложена бесплатная обработка для бесплатной загрузки курсов с сайта ЦБ.

Она входит в том числе НЭБО (новая эра без обновлений), если кто пропустил.
https://blogs.klerk.ru/users/1911762/post175776/
Чтобы "заткнуть" платные обработки так, чтобы пользователь ничего не замечал и обновления не затирали мою бесплатную, нужно их добавить в конфигурацию, а не использовать как внешние.
И тут опять проблема с логотипом в левом верхнем углу: если я просто положу картинку на форму, то ее придется добавить в библиотеку. Первое же типовое обновление его затрет.
Поэтому мне приходится для #красотыудачи делать обработку с пустой картинкой

При открытии, обработка скачивает с моего сайта картинку и загружает ее в пустое место на макете.
Муторно и хлопотно.
Причем, нашелся-таки один (единственный пока) поганый комп у кого-то из клиентов, на котором админ-дегенерат так права пользователя зарезал, что прав на просмотр скаченной картинки не хватает.
Зато теперь я могу их (картинки) и иконки кнопок хранить прямо в обработке в текстовом виде.
Вот что ОЗОН животворящий делает!!!
Еще одно применение - стороннее приложение, компонента или библиотека (библиотека - *.dll - в виндоусе - это тоже приложение, но оно не имеет пользовательского интерфейса, у него нет "окна", оно работает "за кадром").
Иногда приходится использовать (запускать) другие приложения прямо из 1С. Например: zip-архиватор. Он по большому счету нужен в любой рег.отчетности - если сформированный xml-файл очень большой, его по правилам нужно архивировать для того чтобы сдать или отправить в ИФНС. Но у самого движка 1С такой доступной функции нет. Поэтому, например, в последних комплектах квартальной отчетности добавлена специальная zip-утилита от моей любимой фирмы Папук. Причем, в коде они даже не проверяют есть она там или нет, т.е. падение 1С и некорректная работа практически гарантирована разработчиком.
А я могу нужный мне софт закодировать в текст и сохранить его в самой обработке, а когда он понадобится, я его декодирую (превращу в экзешник) в папке временных файлов, запущу, он отработает все, что надо и я его после этого удалю в корзину.
Сейчас, если вы почитаете руководство пользователя, там написано куда, в какую папку нужно переписать эти файлы внешних приложений и компонент, но, во-первых: кто их читает эти руководства(?), ну, признайтесь - никто и никогда, а потом нужно все-таки где-то их брать чтобы скопировать, на копирование могут быть ограничены системные права и т.д. и т.п.
Мой вариант не требует со стороны пользователя никаких действий, все свое я приношу вам с собой. Не благодарите ...
На злобу дня.
Я могу сделать генератор ответов на запросы ФНС полностью автоматическим.
Для этого добавлю документам реализация новый реквизит с типом безразмерная строка. Показывать в форме его не буду, изменять не дам. Тоже самое в справочниках, например, Договоры.
После отгрузки при помощи специальной обработки бумажные документы сканируются, сканы кодируются в строку base64 и записываются в этот реквизит.
Таким образом сканы можно хранить в базе.
При поступлении запроса нужно будет выбрать контрагента и период и все сканы автомат запихнет в один pdf.
Как тебе такое, Мишустин?
Открыть оригинал изображения (640x852, 389.91 Кб)
Еще одна острая потребность - вспомогательные обработки.
Например, практически у каждого рег. отчета из состава квартальной отчетности есть (и, как правило, несколько) вспомогательные обработки, которые вызываются из основной. Многие из них даже не открываются пользователю и вы их не видите, но они есть и их много.
Прежде всего, это обработки заполнения.
Дело в том, что эти отчеты универсальные, т.е. работают в разных типовых конфигурациях. И при использовании встроенных процедур и функций конфигурации (т.н. Глобального модуля) возникает проблема - в разных конфигурациях вызов одной и той же процедуры может быть с разными параметрами. Поэтому использовать такой вызов в одном отчете/обработке нельзя - она будет вылетать при запуске с синтаксической ошибкой, причем во всех базах.
Другая необходимость - дополнительная форма. У отчета есть только одна форма, а очень часто нужно вывести пользователю другую форму поверх исходной. Например, ввод адреса из адресного классификатора. Или вот в Декларации по НДС есть много "составных" полей, которые к тому же должны формироваться по специальным правилам, например: "номер СФ", потом символ ";" потом "дата СФ" в определенном формате, таких значений в одном поле может быть несколько (сколько угодно) и они должны быть разделены символом ",".
Для каждого такого случая делаются отдельные обработки, которые лежат там же в папке реготчетов RpГГqК.grp.
Так вот, в случае, если вам нужны вспомогательные обработки для вашего отчета/обработки/документа/справочника и т.д., их можно хранить прямо в самой исходной обработке в виде текста, а при вызове на лету их декодировать в нормальный вид во временную папку, штатно запускать, а после использования все временное также программно удалять.
И не надо будет, во-первых, разбрасывать все время кучи этих вспомогательных обработок в папки с основной, а, во-вторых, не надо думать, есть ли где-то нужная обработка или нет - она всегда в наличии...
Yes!
Есть первый клиент для моего ноухау!
Сканы оригиналов документов отгрузки и договоры будут храниться в документах и в справочнике в базе.
Подборка документов за период будет формироваться автоматически.
Будет использоваться в двух ситуациях, которые сейчас отнимают очень много времени:
- формирование ответов по встречкам и
- для подтверждения нулевой ставки НДС при экспорте.
По плану, весь пакет документов можно будет получить одним нажатием кнопки.
В понедельник начну делать.
В предвкушении успеха жутко чешутся руки ...
Статейку напишу про эту технологию.
Надо только методу название придумать.
Есть у кого идеи?
- Принцип ДекодеРулит
- Техника КодеРулирования
- Мысль в строке абракадабры
- Смысл хаоса текста
Надо только методу название придумать.
Формула Евы.
Звучит?
А чего скромничать-то?
Как говорится, покашливают те, кого не замечают ...
Чем больше я об всем этом думаю,
https://blogs.klerk.ru/users/1911762/post178380/
всё больше укрепляюсь в мысли, что вирус-вымогатель, который шифровал одинесные базы и требовал биткоинты за их "расшифровку", был исполнен именно при помощи Формулы Евы. И думаю, что исполнители использовали один говностарт, который уже был однажды уличен в распространении вируса прямо со своего говноресурса, своим зарегистрированным пользователям. Хозяин говнофорума устами своих холуев открестился ото всего, поудалял все следы и концы спрятал в воду.
И цель этого вируса-вымогателя - продвижение снеговика тем, кто его категорически отвергает. Не деньги, а именно посеять страх, мол если будете работать на клюшках, все потеряете в один миг - вот, смотрите как это будет.
Скорее всего, не сам вирус, а закачка его была спрятана в каком-нибудь закрытом модуле какой-нибудь обработки или конфигурации для снеговика.
Почему именно снеговик, а не клюшки?
В клюшках нет секретного или закрытого кода - весь код полностью открыт.
(конечно, есть такая поделка Альфа, называется КЗК (Комплекс Защиты Конфигураций), при помощи которой можно зашифровать программный код в клюшках, но Федоров известный криворучка и, к тому же, тот спор на взлом своей КЗК, он, по моему мнению, проиграл - тестовая обработка, наполненная не реальным кодом, а всевозможным бредом была практически полностью расшифрована одним из участников "конкурса", причем, в течении нескольких часов, и если бы у автора отмычки было бы желание, он бы сделал и какой-нибудь сервис дешифровки КЗК, тем более, что там был бы осмысленный программный код, который можно восстановить даже по обрывкам текста, про кирпичную фабрику я вообще не говорю, обработка по "раскирпичиванию" есть даже за моим авторством, хоть это и было сто лет назад - не меньше)
В снеговике же, шифрование программных модулей - встроенная функция конфигуратора.
И в типовых конфигурациях снеговика есть программные модули, которые не только нельзя изменить, но даже увидеть. Поэтому я не могу утверждать, что именно внешняя обработка, а не типовая конфигурация снеговика была распространителем вируса. Размеры зашифрованной части в типовых конфигурациях для снеговика с годами только увеличиваются.
Конечно, текст модуля можно прятать и в клюшках.
Я тоже могу запрятать код так, что обыщетесь его искать и уж точно, глазами вы его не найдете, если не знаете точно где и как искать.
Я вам больше скажу.
Если вы откроете программные модули моих обработок, то увидите, что они начинаются с моих комментариев для шибко грамотных любителей тырить чужой код:
Открыть оригинал изображения (1445x720, 376.37 Кб)
Это, как вы можете видеть мой вариант текущей РСВ.
В первый раз такая защита кода понадобилась в моих обработках-игрушках для 1С квестах для бухгалтера "Как сдать отчетность" и "А вы на корпоратив пойдете?" - http://kvest1c.narod.ru/ , т.к. некоторые коллеги, которые не смогли решить головоломки честно, тут же полезли в код смотреть ответы.
Открыть оригинал изображения (1472x650, 269.09 Кб)

Так вот, даже такая фигня, как минимум, половине дураков не позволила прочитать мой код.
А от второй половины программный код или картинки (в которых тоже можно прятать программный код) я спрячу (если будет нужно) так, что найдут только особо ушлые единицы, которые сами прячут так же, как я, хотя я его и не прячу никуда, у меня весь код открыт (защита от дураков не в счет).
Всем кто не верит - попробуйте скачать НЭБО и киньте в меня камень, если найдете, откуда там берутся картинки в обработке загрузки курсов валют с сайта ЦБ вместо платной нуралиевской.

Мест, куда можно спрятать код в снеговике больше, чем в клюшках, к тому же его можно закрыть криптованием примерно так, как защищены ваши подписи для сдачи отчетности по ТКС.
Гарантированно, никто не сможет его посмотреть и найти вредоносную вставку.
Поэтому только снеговик!
Строго!
После внедрения вируса на комп или в сеть, обработка легко может заменить сама себя на точно такую же, но без вставки-вируса и вы вообще никогда не найдете никаких концов.
Вирус начнет действовать не сразу, а через какое-то время, поэтому вы никак не сможете связать ее появление со снеговиком.
Обыденная ситуация: вас доканали франчи 1С и вы согласились на демонстрацию снеговика. Пришли какие-то мальчики, поставили снеговика, запустили, пощелкали какие-то окна, справочники, документы, отчеты, потом все закрыли и даже удалили(!) все, что установили и ушли. А через месяц и 3 дня, в одно прекрасное солнечное утро, у вас все рабочие базы зашифрованы, дешифровке не подлежат и вместо них тикает счетчик, который считает месяц, после чего он уничтожит ключ дешифровки, если вы не заплатите. И не надейтесь на архивные копии или внешние обработки - они тоже будут зашифрованы, как и все, что касается 1С. Причем, мальчиков и весь их поганый франч могли использовать в темную. Легко. И конфигурация могла быть самой, что ни на есть типовая, байт в байт.


Теперь спросите себя, если бы вы сделали такую вирусню и стали бы его распространять лохам, где бы вы это стали делать?
Будете выкладывать их на одинесных форумах и ресурсах?
Тогда вас рано или поздно найдут.
Выложив обработку или отчет, вы его с чужого форума обратно не заберете, и значит кто-нибудь сможет найти в ней закладку-вирус даже если вы все зашифруете и попрячете. Есть для этого специальные инструменты для поиска в конфигурациях 1С.
Поэтому.
99,(9)%, что обработка была размещена на карманном нуралиевском говностарте.
Там миллион мест и способов, где ее можно было выгодно разместить и активно продвигать какое-то время, а затем тихо заменить, убрав из нее вредоносный код.
Ищите теперь свищите ветра в поле ...

Я очень боюсь, что кто-нибудь может провернуть аналогичную аферу с помощью Формулы Евы.
Не обязательно вирус, не обязательно вымогатель, есть масса других гадостей, которые будет легко реализовать при помощи моего метода Формула Евы.
Поэтому не хочу детально описывать мою технологию ни для чайников, ни для коллег одинесников.
Хотя, все и так просто и понятно.
Помните завещание профессора Доуэля?
Не Беляева, а в кине которое - "когда-нибудь кто-то снова догадается - все просто, надо лишь догадаться, но только и отвечать за все, коллеги, вам придется самим".
 

Подтвердите удаление записи