Как выгрузить конфигурацию (CF) из файловой базы 1CD при утере пароля администратора?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Нередко на практике возникает ситуация: имеется файл базы данных 1Cv8.1CD, из которого необходимо получить чистую конфигурацию (файл .cf) для развертывания новой базы или анализа доработок. Однако доступ в Конфигуратор заблокирован из-за отсутствия пароля учетной записи с административными правами — например, ответственный сотрудник уволился, а рядовые пользователи имеют сильно урезанные права. В таких условиях возникает идея: можно ли извлечь файл конфигурации напрямую из бинарного файла базы, минуя запуск среды разработки?

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

Как устроено хранение метаданных в файле 1Cv8.1CD

Рассмотрим внутреннюю структуру файла файловой информационной базы. Конфигурация не хранится в виде отдельного готового файла .cf внутри базы. Она распределена по внутренним таблицам:

  1. CONFIG — содержит метаданные основной рабочей конфигурации базы данных.
  2. CONFIGSAVE — содержит объекты конфигурации разработчика (сохраненные, но еще не примененные изменения).
  3. PARAMS — хранит служебные настройки информационной базы, системные параметры и настройки пользователей.

Данные внутри этих таблиц представляют собой упакованные алгоритмом сжатия (Deflate/zlib) потоки. Сам формат .cf является составным контейнером. Чтобы собрать работоспособный файл конфигурации без Конфигуратора, сторонней утилите требуется не просто прочитать бинарные данные таблицы CONFIG, но и правильно распаковать все блоки, восстановить дерево метаданных и корректно сформировать оглавление контейнера root.

Начиная с версии платформы 8.3.8, структура файла 1Cv8.1CD была значительно переработана: размер страниц увеличился до 64 КБ, изменились механизмы распределения блоков и адресации. Большинство сторонних парсеров, созданных под старые форматы баз (8.0–8.2), с современными версиями баз данных работать не могут либо формируют поврежденные файлы. Поэтому наиболее безопасным и стабильным путем является получение штатного доступа в Конфигуратор для выполнения стандартной выгрузки.

Решение задачи: сброс аутентификации пользователей через шестнадцатеричный редактор

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

Важно: перед началом любых манипуляций с базой данных в обязательном порядке создадим резервную копию файла 1Cv8.1CD. Все действия выполняем только на копии.

  1. Подготовка файла базы: закроем все запущенные сеансы работы с информационной базой и убедимся, что процесс 1cv8.exe не держит блокировку файла.
  2. Открытие в HEX-редакторе: откроем файл 1Cv8.1CD в любом шестнадцатеричном редакторе.
  3. Поиск и модификация таблицы пользователей: в современных версиях платформы (8.2 и 8.3) информация о пользователях хранится параллельно в таблице v8users и в таблице PARAMS (в записи users.usr). Выполним поиск текста v8users и переименуем его в строке на любое другое имя той же длины, например v8users_old. Затем найдем вхождение users.usr и изменим его имя, например, на users.bak. Изменять длину строк нельзя, чтобы не сместить адресацию блоков файла.
  4. Сохранение изменений: сохраним модифицированный файл в шестнадцатеричном редакторе.

Восстановление целостности базы утилитой chdbfl

Платформа 1С версий 8.3.14 и выше строго контролирует контрольные суммы и целостность заголовков страниц. После прямого редактирования байтов запуск базы может завершиться системной ошибкой формата потока или нарушением структуры. Проанализируем, как исправить структуру штатными средствами:

  1. Перейдем в каталог установленной платформы, в подпапку исполняемых файлов: C:\Program Files\1cv8\8.3.XX.XXXX\bin\ (или Program Files (x86)).
  2. Запустим штатную утилиту проверки и исправления файловых баз — chdbfl.exe.
  3. В поле «Имя файла базы данных» укажем путь к нашему модифицированному файлу 1Cv8.1CD.
  4. Установим флаг Исправлять обнаруженные ошибки и нажмем кнопку Выполнить.
  5. Дождемся окончания проверки. Утилита скорректирует внутренние контрольные суммы и зафиксирует удаление распознанных как поврежденные пользовательских таблиц.

Выгрузка конфигурации в файл

Теперь информационная база готова к запуску без запроса логина и пароля:

  1. Запустим 1С в режиме Конфигуратор. Система откроется без диалога аутентификации.
  2. Перейдем в меню Администрирование — Пользователи и убедимся, что список пуст.
  3. В главном меню выберем Конфигурация — Открыть конфигурацию.
  4. После загрузки метаданных выберем пункт Конфигурация — Сохранить конфигурацию в файл... и сохраним требуемый файл .cf на диск.

Пакетная автоматическая выгрузка через командную строку

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

Посмотрим на пример вызова Конфигуратора через командную строку для сохранения файла метаданных:


"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F "D:\Bases\MyBase" /DumpCfg "D:\Backups\CleanConfig.cf"

Если в базе заданы учетные данные администратора, добавим ключи авторизации /N "Логин" и /P "Пароль":


"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F "D:\Bases\MyBase" /N "Administrator" /P "StrongPass123" /DumpCfg "D:\Backups\CleanConfig.cf"

Параметр /DumpCfg позволяет получить готовый файл метаданных в автоматическом режиме. Полученный файл можно объединять с другими базами или загружать в новую пустую информационную базу через команду меню Конфигурация — Загрузить конфигурацию из файла...

Ограничения при выгрузке

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

← На главную