Найти в Дзене

Радиовизиограф стоматологический ReFine - регенерация забытого пароля.

Текущая статья не является практическим руководством или руководством к действию. Представленный материал представлен исключительно в образовательных целях и несёт в себе концепцию «пища для размышления» не нарушая авторского и/или смежного права. Повторять описанные процессы не рекомендуется. Часть материала может быть полезна инженерам занимающихся различными вопросами и проблемами криптологии и криптоанализа. Некоторые материалы, находящиеся в теле статьи, являются собственностью их многоуважаемых авторов. Статья не претендует на полноту. Некоторые значения и параметры были сознательно изменены. Все представленные материалы являются частным мнением автора. Речь пойдёт о программном обеспечении для стоматологов, в частности для визуализации рентгеновских снимков. Сама по себе инсталляшка ПО имеет имя RF_DR_Setup_Detector_20220522.exe. В сети наблюдал более новые версии ПО, в частности 2025 года. Однако предметно в этом направлении поиски не велись. Русскоязычная локализация программ
Оглавление
Текущая статья не является практическим руководством или руководством к действию. Представленный материал представлен исключительно в образовательных целях и несёт в себе концепцию «пища для размышления» не нарушая авторского и/или смежного права. Повторять описанные процессы не рекомендуется. Часть материала может быть полезна инженерам занимающихся различными вопросами и проблемами криптологии и криптоанализа. Некоторые материалы, находящиеся в теле статьи, являются собственностью их многоуважаемых авторов. Статья не претендует на полноту. Некоторые значения и параметры были сознательно изменены. Все представленные материалы являются частным мнением автора.

Вступление.

Речь пойдёт о программном обеспечении для стоматологов, в частности для визуализации рентгеновских снимков. Сама по себе инсталляшка ПО имеет имя RF_DR_Setup_Detector_20220522.exe. В сети наблюдал более новые версии ПО, в частности 2025 года. Однако предметно в этом направлении поиски не велись.

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

Установленное ПО добавляет на рабочий стол иконку (сами иконки импортированы в исполняемый файл).

Рисунок 1. - Иконка приложения.
Рисунок 1. - Иконка приложения.

Основные параметры от создателя:

  • Инструмент: Visual Studio(2019, v16.11)
  • Библиотека: .NET Core(Loader)
  • Компилятор: Microsoft Visual C/C++(19.29.30140)[LTCG/C++]
  • Линковщик: Microsoft Linker(14.29.30140)

Программное обеспечение представляет следующую информацию о версии:

Рисунок 2. - Информация о программно обеспечении.
Рисунок 2. - Информация о программно обеспечении.

Версия ПО представлена ниже.

Рисунок 3. - Версия файла.
Рисунок 3. - Версия файла.

На удивление инсталлятор устанавливает множество библиотек.

При старте программы требуется ввести логин и пароль:

Рисунок 4. - Окно приглашения авторизации.
Рисунок 4. - Окно приглашения авторизации.

Система ждёт введения аутентичных параметров.

Анализ.

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

Регенерация данных.

Первый вариант это регенерация данных. Этот механизм подходит для тех случаев, когда пользователь ранее использовал программу и менял Имя пользователя и Пароль в специальном разделе настроек авторизации пользователя.

Рисунок 5. - Диалоговое окно настроек авторизации пользователя.
Рисунок 5. - Диалоговое окно настроек авторизации пользователя.

В этом случае изменённые настройки авторизации - имя пользователя и его пароля сохраняются в специальном файле.

В зависимости от версии операционной системы дислокация файла немного различается:

  • Windows 10 x64 - C:\ProgramData\RF\Dental Sensor
  • Windows 7 x64 - C:\Documents and Settings\All Users\RF\Dental Sensor

По этому пути находятся и другие файлы.

Рисунок 6. - Дополнительные файлы программного обеспечения.
Рисунок 6. - Дополнительные файлы программного обеспечения.

Нам интересен только файл Settings.xaml. Формат файла представляет XML структура, поэтому если нет ни каких инструментов обработки XML, можно воспользоваться простым Блокнотом (Nonepad).

Открыв файл в Блокноте можно наблюдать приблизительно такую структуру:

Рисунок 7. - Структура XAML файла.
Рисунок 7. - Структура XAML файла.

Где, в строке <s:String x:Key="UserName">user</s:String> содержится Имя пользователя - user, а в строке <s:String x:Key="Password">E10ADC3949BA59ABBE56E057F20F883E</s:String> содержится пароль. Однако пароль находится не в открытом виде, а в виде hash значения функции MD5.

Найти в сети декрипторы MD5 функции не представляет ни какого труда, например, можно воспользоваться ресурсом hashes.com. Подставив хэш-значение функции и введя капчу получаем исходный Пароль.

Рисунок 8. - Результат работы декриптора.
Рисунок 8. - Результат работы декриптора.

В указанном примере хэш-значение функции MD5 в виде E10ADC3949BA59ABBE56E057F20F883E соответствует значение 123456. Таким образом, введя Имя пользователя: user и Пароль: 123456 можно зайти в систему.

Для изменения авторизации в системе можно изменить Имя пользователя и Пароль, в виде хэш-значения функции MD5, в файле Settings.xaml по указанному пути.

Синтез данных.

Если пользователь программного обеспечения ни разу не менял параметры авторизации (Имя пользователя и Пароль), то файл Settings.xaml будет отсутствовать. И данные об авторизации в системе взять негде.

Можно попробовать использовать значения по умолчанию, однако, нет ни какой гарантии, что это сработает.
Имя пользователя: user
Пароль: 123456

Для синтеза данных авторизации необходимо создать текстовый файл с содержимым:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:s="clr-namespace:System;assembly=System.Private.CoreLib" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:dsb="clr-namespace:DentalSensor.Base;assembly=DentalSensor.Base">

<s:Boolean x:Key="EnableLogin">True</s:Boolean>

<s:String x:Key="UserName">user</s:String>

<s:String x:Key="Password">E10ADC3949BA59ABBE56E057F20F883E</s:String>

<dsb:PlutoDeviceModel x:Key="PlutoDeviceModel">Pluto0001X</dsb:PlutoDeviceModel>

</ResourceDictionary>

И сохранить его с именем Settings.xaml по адресу указанному выше (в зависимости от типа операционной системы).

После этого можно зайти в систему с данными авторизации по умолчанию.

Если не хочется вводить логин и пароль при входе в систему, но при этом есть файл Settings.xaml, можно в этом файле изменить содержимое строки <s:Boolean x:Key="EnableLogin">True</s:Boolean>. Необходимо изменить значение True на значение False или сбросить соответствующий флажок (при этом Имя пользователя и Пароль должны быть заданы), смотри рисунок 5.

Таким образом, вся безопасность программного обеспечения находится в одном файле.