Найти в Дзене

Универсальный деобфускатор и декомпилятор байт-кода 1С

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

Обработка предназначена для работы в режиме тонкого клиента х64, на платформе от 8.3.24. Декомпиляторы от AWA работают только на платформе 8.2.

Универсальный деобфускатор и декомпилятор байт-кода 1С:

Деобфускатор байт кода 1С.epf

Новая версия 2013-го года декомпилятора от AWA:

ДекомпиляторAWA Последняя версия.epf

Старая версия декомпилятора от AWA:

ДекомпиляторAWA Старая версия.epf

Обработка поддерживает работу со следующими видами контейнеров: конфигурации (*.cf), внешние отчеты (*.erf), внешние обработки (*.epf) и расширения (*.cfe). Поддерживается версия контейнера как с адресацией на 32 байта, так и на 64 (8.16), подробнее https://infostart.ru/1c/articles/1895437/. Не поддерживаются контейнер мобильного приложения.

Для просмотра закрытых модулей предназначены 2 закладки: Список закрытых модулей и Дерево закрытых модулей.

Закладка Список закрытых модулей
Закладка Список закрытых модулей

На закладке Список закрытых модулей можно выбрать модули и с помощью кнопки Декомпилировать выбранные модули обработать их. Если установлен флажок Создавать копию, то будет создана копия файла контейнера с открытыми модулями. Если флажок Создавать копию снят, модули будут заменены в файле контейнера.

Закладка Дерево закрытых модулей
Закладка Дерево закрытых модулей

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

В обработке есть два режима работы с модулями: просмотр результата и помещение открытых модулей в файл с помощью кнопки Декомпилировать выбранные модули. Просмотр результата выполняется на закладке Текст модуля:

Закладка Текст модуля
Закладка Текст модуля

На закладке Параметры деобфускации и декомпиляции можно управлять режимом работы обработки:

Закладка Параметры деобфускации и декомпиляции
Закладка Параметры деобфускации и декомпиляции

Параметр Блок для декомпиляции/деобфускации позволяет выбрать только один блок для обработки - процедуру, функцию или блок операторов. Установив Принудительную нумерацию строк можно отказаться от форматирования из текста модуля 1С.

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

Таблица Скрытые константы предназначена для случая, когда некоторые значения прячутся в коде, например, в строке, откуда извлекаются уже в ходе работы модуля. Константы можно сохранять в файл формата *.txt и загружать из такого файла. Для поиска подобных констант необходимо декомпилировать модуль операторов, найти оператор Выполнить, отдельно выполнить его, полученный результат сохранить в файл и загрузить в обработку. Для Декомпилятора старой и новой 2013-го года версий от AWA скрытые константы хранятся в обработке и заполняются при выборе файла-контейнера.

update 2025.03.14. Исправлена выявленная ошибка. Изменен номер версии на 1.0.0.2.