Декомпилятор модулей в 1С

13.08.2019 · ~1 мин. на чтение
🎁 10 дней бесплатной поддержки 1С
Звоните, консультируйтесь, пользуйтесь техподдержкой — без оплаты и договора

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

В связи с этим нередко необходимо внести правки в исполняемый код. Если связаться с компанией или сотрудником, который выполнял модификации, невозможно, приходиться прибегать к декомпиляции. Рассмотрим, как это можно сделать в программах 1С 8.3.

Закрытые модули в 1С

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

Разработчики закрывают свои модули, как правило, по двум причинам:

  • Они не хотят делиться исходным кодом и своими решениями.
  • Они рассчитывают на получение оплаты за доработку своего же модуля.

Для таких случаев существует специальная обработка «Декомпилятор» на платформе 1С 8.3. Этот инструмент позволяет декомпилировать защищенный модуль, создавая его копию с открытым кодом. Однако есть нюанс: при декомпиляции удаляются комментарии, а также код, размещенный внутри комментариев. На данный момент эта обработка разработана только для работы с обычными формами. Ее можно найти в интернете, но следует учитывать, что она не способна декомпилировать саму себя, так как использует иной метод шифрования.

Процесс декомпиляции

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

Выбор файла:

В поле «Файл» можно загрузить объект для декомпиляции, будь то обработка (epf), отчет (erf) или файл конфигурации (cf). После выбора файла можно настроить дополнительные параметры.

Настройка флажков:

«Не создавать копию» — если установить этот флажок, копия объекта, выбранного для декомпиляции, не создается. В противном случае обработка создаст копию с добавлением префикса к названию файла.

«Искать все модули (медленно)» — включает тщательную проверку файла. Установка этого параметра позволяет провести глубокий анализ, но процесс может занять больше времени. В некоторых случаях без этой опции декомпиляция невозможна.

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

Важное замечание

В профессиональной среде репутация ценится гораздо выше, чем краткосрочная выгода от доработки собственного зашифрованного кода. Работайте честно, а к использованию «Декомпилятора» прибегайте только в крайних случаях.

Снятие защиты с кода

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

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

  • Имя исполняемого файла. Для программ 1С таковыми являются файлы, имеющие расширение epf, erf и cf;
  • Опция «Отказаться от создания копии». Ее можно устанавливать в случае, если файл с исполняемым кодом уже скопирован. В противном случае утилита для декомпиляции создаст копию обрабатываемого файла с измененным именем.
  • Опция «Искать другие модули». При указании этой настройки декомпилятор анализирует исходный файл для поиска взаимосвязей. Опция отмечается в случае, если без дополнительных модулей невозможно произвести декомпиляцию. Однако в таком режиме декомпилятор работает медленнее.

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

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

Это явление носит название обсфукции и заключается в следующем:

  1. Стандартные имена переменных в программах 1С Предприятие заменяются на буквенно-цифровые коды, которые понятны только программисту. Из-за этого разобраться в сложных программах практически невозможно.
  2. В программе изменяются типы и значения данных. Например, числовые переменные объявляются строковыми или прописываются в двоичной системе. Это не мешает писть программу ее разработчику, но делает практически невозможной декомпиляцию с последующей модификацией.
  3. Нарушается прямой порядок исполнения программного кода.

Куда обратиться

Приглашаем воспользоваться услугами использования 1С сервиса у нас!

Так же, ГК «В приоритете» предлагает руководителям и владельцам бизнеса 1С Бухгалтерия, 1С Торговля1С ЗУП и другие программы на платформе 1С Предприятие, а также системы для комплексной автоматизации 1С ERP. Наши менеджеры оказывают консультационную помощь в выборе подходящей конфигурации, выполняют работы по внедрению программ в бизнес-процессы компании, а так же наши специалисты дадут полную информацию о цене, сроках и порядке работ.
Получить консультации по этому вопросу, купить 1С и заключить договор 1С ИТС можно после обращения к нашим менеджерам по телефону или через форму обратной связи.