/PasswordChanger1C

1C:Enterprise 8 - Password Changer

Primary LanguageVisual Basic .NETGNU General Public License v3.0GPL-3.0

Сброс паролей пользователей для файловой, клиент-серверной базы 1С и хранилища конфигураций

Скачать скомпиллированную версию можно в разделе с релизами - https://github.com/alekseybochkov/PasswordChanger1C/releases/

При утере паролей административных учеток к базам 1С есть разные варианты их восстановления. Если с клиент-серверными базами все просто, то с файловыми базами и хранилищем уже приходится использовать более сложные методы вплоть до ручного изменения определенных байтов в файлах. Данное приложение на .NET, позволяет забыть об этих проблемах и менять пароли пользователей в пару кликов для файловых, клиент-серверных баз 1С, а также хранилища конфигураций.

Правила использования

Запрещается использование приложения для несанкционированного доступа к данным! Используя данное приложение Вы подтверждаете, что базы данных, к которым будет предоставлен доступ, принадлежат Вашей организации и Вы являетесь Администратором с неограниченным доступом к информации этих баз данных. Несанкционированный доступ к информации преследуются по ст. 1301 Гражданского кодекса РФ, ст. 7.12 Кодекса Российской Федерации об административных правонарушениях, ст. 146 Уголовного кодекса РФ.

Отказ от ответственности

Внутренний формат файловой базы 1С не документирован, поэтому алгоритмы основываются на предположениях и догадках. Корректная работа приложения не гарантируется.
Используя приложение вы принимаете на себя всю ответственность и риски за некорректную работу алгоритмов и повреждение баз данных.
Проверяйте в первую очередь на копии, а перед использованием на рабочей версии делайте бэкапы.

Благодарность

Огромная благодарность Валерию Агееву за его работу по разбору внутренних форматов 1С и утилиту Tool_1CD.
Краткое описание формата файлов *.1CD (файловых баз 1Сv8)

Спасибо Pavel Fomin за работу по анализу изменений в 8.3.8 - Формат баз 1CD - классические и 8.3.8.

Принцип работы

В клиент-серверном варианте список пользователей хранится в таблице V8USERS, а хеш пароля в зашифрованном виде в поле DATA.
Приложение дешифрует строку из поля DATA, заменяет оба хеша (первый обычный, второй для пароля в верхнем регистре) на хеш введенной строки, шифрует строку с тем же ключем и записывает бинарные данные для указанного пользователя обратно в таблицу V8USERS.
Доступ к базе не требует монопольного режима.

В файловом варианте информационной базы логическая структура данных и алгоритмы обработки аналогичны, но данные упакованы в соответствии с внутренним форматом 1С.
Таблица пользователей считывается целиком, производится изменение в нужных строках, затем вся таблица BLOB данных для всех пользователей перезаписывается в файл информационной базы.
Требуется монопольный доступ для открытия ИБ и записи данных в нее.

В хранилище конфигурации 1С список пользователей хранится в таблице USERS, а некий хеш пароля в поле PASSWORD. Т.к. я не разобрал что это за формат хеша, то сделал только возможность установить пустой пароль (это фиксированная строка "d41d8cd98f00b204e9800998ecf8427e"). Таблица пользователей считывается целиком, производится изменение значений PASSWORD в нужных строках, затем вся таблица пользователей записывается в файл хранилища.
Требуется монопольный доступ для открытия ИБ и записи данных в нее.

Скриншоты с примерами

Файловая информационная база

 

Клиент-серверная информационная база

 

Хранилище конфигурации 1С

 

Поддержка и развитие

Предложения, вопросы, комментарии, а также обнаруженные ошибки оставляйте, пожалуйста, в Issues.