├── .gitattributes ├── README.md └── Ассемблер.epf /.gitattributes: -------------------------------------------------------------------------------- 1 | *.epf linguist-language=1c-enterprise 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 1C-inversion 2 | 3 | За основу взята обработка с GitHub: 4 | https://github.com/EvilBeaver/v8asm 5 | 6 | Автор этой обработки описывает работу 1С на уровне байт-кода здесь: 7 | https://habr.com/ru/post/489392/ 8 | 9 | В учебных целях, а не для принесения ущерба была доработана обработка, для преобразования байт-кода обратно в код на языке 1С. 10 | 11 | Для открытия запароленных/закрытых модулей нужно выполнить такой алгоритм: 12 | 1. Сделать копию базы 13 | 2. Открыть конфигуратор. В конфигураторе "Конфигурация" - "Выгрузить конфигурацию в файлы" 14 | 3. Выбрать модуль чего вы хотите открыть: "Общий модуль"/"Модуль обработки". От выбранного значения будет зависеть имя конечного сохраняемоего файла после декомпиляции. 15 | 3. Открыть в режиме 1С:Предприятия эту обработку и нажать кнопку "Прочитать закрытый модуль". 16 | Нужно в папке, куда выгрузили конфигурацию выбрать файл закрытого модуля, он будет называться "Module.bin" для общего модуля, и "ObjectModule.bin" для обработки. 17 | Далее сработает стандартный механизм обработки, который срабатывает при нажатии на кнопку "Открыть" - файл будет детально проанализирован и разобран по таблицам с процедурами/константами/параметрами и т.д. 18 | 4. Нажать на кнопку "Декомпиляция". Будет проанализированы таблицы обработки и сформирован код 1С. Код будет показан в обработке и автоматически сохранен в том же каталоге, где и закрытый модуль под правильным названием, которое было выбрано в пункте 3. 19 | 5. Удалить в папке с закрытым модулем все файлы, кроме файла с расширением "bsl"(это и есть открытый модуль) 20 | 6. Открыть конфигуратор. В конфигураторе "Конфигурация" - "Загрузить конфигурацию из файлов". 21 | Если при загрузке будут ошибки - нужно будет снимать конфигурацию с поддержки. 22 | 23 | Внимание: когда модули закрывают - из них удаляется форматирование и комментарии, поэтому при обратном преобразовании их не будет. Обфускатор/деобфускатор 1с отсутствует. 24 | -------------------------------------------------------------------------------- /Ассемблер.epf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProhorP/1C-inversion/398923449f389ab7e97be7e6680ae8f80670cd3b/Ассемблер.epf --------------------------------------------------------------------------------