Декомпилятор 1Cv8.x – обработка восстанавливающая тексты модулей с паролем или без исходного кода. Принцип действия – генерация исходного кода модулей на основе скомпилированных образов. Поэтому полученные модули могут немного отличаться от исходных, в частности, в сгенерированном коде модуля могут отсутствовать комментарии.
Скачать обработку можно по ссылке.
Обрабатываемые типы файлов: *.cf, *.epf и *.erf.
Для снятия пароля или восстановления исходного кода следует выбрать файл обработки, отчета или конфигурации и нажать — “Декомпилировать”.
Настройка “Не создавать копию”.
Если флаг не установлен, то перед декомпиляцией создастся копия файла с добавкой “_U” в имени. Установка данного флага сократит время выполнения восстановления кода(особенно если обрабатываются конфигурации *. cf), но при повреждении файла его уже будет не восстановить.
Настройка “Искать все модули (медленно)”.
Если флаг не установлен Декомпилятор обрабатывает только модули найденные в метаданных. При установке данного фдага Декомпилятор сканирует весь исходный файл в поисках внутренних файлов image, которые являются скомпилированными образами модулей. Использовать данную настройку стоит только если декомпиляция без нее не дала результата.
Декомпилятор 1C 8.x — обработка, предназначенная для восстановления текстов модулей под паролем или без исходных текстов. Принцип действия — генерация исходных текстов модулей на основе скомпилированных образов модулей. Поэтому полученные тексты модулей не в точности соответствуют исходным, в частности, в сгенерированных текстах модулей отсутствуют комментарии.
Обработка позволяет обрабатывать файлы *.cf, *.epf и *.erf.
Для восстановления текстов модулей выберите в поле «Файл» нужный файл и нажмите кнопку «Декомпилировать».
Флажок «Не создавать копию».
Если флажок «Не создавать копию» не установлен, то Декомпилятор 1Cv8.x сначала копирует исходный файл в файл с добавкой «_U» в имени (если такой файл уже существует, он перезаписывается), а затем обрабатывает полученную копию. Если же флажок «Не создавать копию» установлен, то обрабатывается непосредственно исходный файл. В этом случае о бэкапе Вы должны позаботиться сами. Флажок «Не создавать копию» позволяет сократить время обработки, что может быть заметно на больших файлах конфигураций.
Флажок «Искать все модули (медленно)».
По умолчанию, если флажок «Искать все модули (медленно)» не установлен, Декомпилятор 1Cv8.x обрабатывает только известные модули, найденные путем обработки метаданных. При установленном флажке «Искать все модули (медленно)» Декомпилятор 1Cv8.x сканирует весь исходный файл в поисках внутренних файлов image, являющихся скомпилированными образами модулей. Использовать флажок «Искать все модули (медленно)» следует только в том случае, если Декомпилятор 1Cv8.x без этого флажка не обрабатывает какой-либо модуль. Время работы с установленным флажком «Искать все модули (медленно)» может сильно увеличиваться, особенно на файлах больших конфигураций.
Наверняка каждый разработчик заботится о том, чтобы его программы были защищены от нелегального распространения. Особенно если эта разработка – коммерческий, тиражируемый продукт.
Создатели системы 1С: Предприятие 8 позаботились о защите кода. К сожалению, пароль на доступ можно установить только на модули объектов, общие модули, модули обработок и отчетов. В том числе и внешних. Но и этого немало, так как можно значимые процедуры и функции разместить в модуле и потом к ним обращаться.
В данной статье я хочу разобраться, как установить защиту и снять её, если Вы забыли пароль.
Установка защиты на модуль 1C
Возьмем любой модуль любого объекта. Я взял навскидку первый же документ – «Авансовый отчет». Если поставить курсор на текст кода модуля, в главном меню появится пункт «Текст». В этом пункте есть подпункт «Установить пароль».
Программа меня тут же предупредила о том, что нельзя защитить модуль, имеющий директивы препроцессора:
Напоминаем, директивы препроцессора — это такие конструкции, как #Если, #Тогда, #Конец и т.п.
Что же, посмотрим, во что это выльется. Устанавливаем пароль.
После установки пароля при попытке закрыть модуль выходит сообщение об ошибке:
Получите 267 видеоуроков по 1С бесплатно:
Игнорируем ошибку и сохраняем конфигурацию. Интересно, откроется ли документ. Запускаем программу в режиме «Предприятия».
Все оказалось хуже, чем я предполагал. Документ полностью не рабочий. Провести его не удалось, постоянно программа ругается на какие-то незаполненные поля, которых ни в шапке формы, ни в таблице нет.
Попробовал для чистоты эксперимента на других документах, тот же результат. Например, в приходной накладной становится недоступным поле «Договор».
Вывод однозначный: не все модули можно защитить. Однако ничего Вам не мешает вынести функции и процедуры с директивами препроцессора в отдельный модуль.
Пробуем защитить общий модуль. Случайным выбором пробую защитить 10 общих модулей. Примерно половина защитились без всяких замечаний. При попытке защитить вторую половину просто вышло сообщение, что модуль нельзя защитить.
Осталось проверить обработки. Возьмем для интереса внешнюю. Защита прошла без проблем.
Проверка надежности защиты с помощью декомилятора модулей 1С
Посмотрим теперь, удастся ли обойти защиту. Покопавшись немного в интернете, я наткнулся на «декомпилятор модулей» (скачать можно по ссылке), который якобы способен снять пароль. Декомпилятор представляет собой внешнюю обработку на обычных формах. Хорошо, пробуем. Начнем все с той же внешней обработки, на модуль которой я установил пароль.
Запускаем 1С в режиме предприятия и открываем обработку с декомпилятором через «Файл» – «Открыть». Замечу, что обработка, которую я нашел, написана на обычных формах, и запускать ее нужно под толстым клиентом:
Нажимаем «Декомпилировать» и получаем сообщение, что все прошло успешно:
Пробуем открыть модуль в конфигураторе, и он прекрасно открывается.
На форумах пишут, что иногда нужно запускать 1С от имени администратора, если выходит ошибка.
Теперь осталось проверить, как декомпилятор справится с общими модулями. Сохраняем конфигурацию в файл.
Выбираем в обработке:
После нескольких минут получаем сообщение:
Загружаем конфигурацию из файла и проверяем защиту. Защита полностью снята.
Тестирование проводилось на платформе 8.3.9.1818, конфигурация «Бухгалтерия предприятия 3.0.44.188».
Самое интересное, что модуль данного «декомпилятора» тоже защищен. Но обработка не позволяет снять защиту с самой себя.
Данный материал предоставлен только в ознакомительных целях с целью обзора механизма защиты платформы 1С. Запрещено использовать данный материал для получения доступа к защищенным авторским правом разработкам.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.