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