Текущая статья не является практическим руководством или руководством к действию. Представленный материал представлен исключительно в образовательных целях и несёт в себе концепцию «пища для размышления» не нарушая авторского и/или смежного права. Повторять описанные процессы не рекомендуется. Часть материала может быть полезна инженерам занимающихся различными вопросами и проблемами криптологии и криптоанализа. Некоторые материалы, находящиеся в теле статьи, являются собственностью их многоуважаемых авторов. Статья не претендует на полноту. Некоторые значения и параметры были сознательно изменены. Все представленные материалы являются частным мнением автора.
Вступление.
Речь пойдёт о программном обеспечении для стоматологов, в частности для визуализации рентгеновских снимков. Сама по себе инсталляшка ПО имеет имя RF_DR_Setup_Detector_20220522.exe. В сети наблюдал более новые версии ПО, в частности 2025 года. Однако предметно в этом направлении поиски не велись.
Русскоязычная локализация программного обеспечения от наших восточных друзей, конечно, желает быть получше.
Установленное ПО добавляет на рабочий стол иконку (сами иконки импортированы в исполняемый файл).
Основные параметры от создателя:
- Инструмент: Visual Studio(2019, v16.11)
- Библиотека: .NET Core(Loader)
- Компилятор: Microsoft Visual C/C++(19.29.30140)[LTCG/C++]
- Линковщик: Microsoft Linker(14.29.30140)
Программное обеспечение представляет следующую информацию о версии:
Версия ПО представлена ниже.
На удивление инсталлятор устанавливает множество библиотек.
При старте программы требуется ввести логин и пароль:
Система ждёт введения аутентичных параметров.
Анализ.
Если пользователь (доктор стоматолог) забыл логин и пароль, например, очень долго не пользовался программой в силу различных факторов, то есть несколько вариантов решения задачи.
Регенерация данных.
Первый вариант это регенерация данных. Этот механизм подходит для тех случаев, когда пользователь ранее использовал программу и менял Имя пользователя и Пароль в специальном разделе настроек авторизации пользователя.
В этом случае изменённые настройки авторизации - имя пользователя и его пароля сохраняются в специальном файле.
В зависимости от версии операционной системы дислокация файла немного различается:
- Windows 10 x64 - C:\ProgramData\RF\Dental Sensor
- Windows 7 x64 - C:\Documents and Settings\All Users\RF\Dental Sensor
По этому пути находятся и другие файлы.
Нам интересен только файл Settings.xaml. Формат файла представляет XML структура, поэтому если нет ни каких инструментов обработки XML, можно воспользоваться простым Блокнотом (Nonepad).
Открыв файл в Блокноте можно наблюдать приблизительно такую структуру:
Где, в строке <s:String x:Key="UserName">user</s:String> содержится Имя пользователя - user, а в строке <s:String x:Key="Password">E10ADC3949BA59ABBE56E057F20F883E</s:String> содержится пароль. Однако пароль находится не в открытом виде, а в виде hash значения функции MD5.
Найти в сети декрипторы MD5 функции не представляет ни какого труда, например, можно воспользоваться ресурсом hashes.com. Подставив хэш-значение функции и введя капчу получаем исходный Пароль.
В указанном примере хэш-значение функции 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.
Таким образом, вся безопасность программного обеспечения находится в одном файле.