Она была мертва. Изучаем приложение, созданное в БиоЭра

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

Этой статьей я продолжаю тему визуального программирования, свое отношение к которой я уже подробно и исчерпывающе высказывал в статье с заголовком “Полный G. Взлом G-приложения, созданного в LabVIEW”. Но что, если программа из этой статьи написана на Java, затем частично скомпилирована и частично зашифрована? У вас будет программное обеспечение, созданное вместе с проектом В Био!

Из информации на сайте (который имеет весьма спартанский дизайн, как и сама среда программирования) видно, что инструмент позволяет создавать кроссплатформенные приложения для обработки сигналов от датчиков и игровых контроллеров. Даже в БиоЭре можно разрабатывать софт для обработки звука, что характерно, не имея навыков программирования — как раз то, что нужно современному кодеру!

предупреждение

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

Чтобы не нарушать законы, скачиваем с сайта пробную версию этой среды разработки и пытаемся решить простую задачу: снять защиту паролем для редактирования визуальных файлов проекта, скомпилированных в BioEra. .BPD (разработчики гордо называют их «дизайнами»). Как и в любой другой среде разработки визуального языка программирования (например, LabView), здесь проект буквально рисуется в визуальном редакторе в виде блок-схемы.

Конечно, с таким открытым исходным кодом в BioEra есть способы защитить «конструкцию» от шаловливых рук хакеров, решивших разобрать, а то и починить проект. Защита здесь используется проще, чем в LabView, но и в «дизайне» можно поставить пароль, чтобы открыть и отредактировать наглядную блок-схему. Именно эту защиту мы постараемся обойти, ведь именно так можно понять логику построения приложений в данной среде разработки.

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

Итак, давайте посмотрим на расписание. bioera.exe из теста скачал и установил. DetectItEasy не видит никакой защиты и предполагает, что приложение написано на C. Запускаем его и пытаемся с его помощью открыть защищенный паролем дизайн. Откроется окно ввода пароля.

2

В EXE-файле таких строк нет, кроме того, их нет вообще ни в одном файле установленного пакета, когда мы пытались найти их глобальным поиском. Неуклюжий дизайн окон напоминает Java, в пакете действительно встречается большое количество Jar-библиотек, но поиск по их содержимому ничего не дает. Присоединяемся к запущенному процессу с помощью нашего любимого отладчика x32dbg и видим, что это не совсем явная Java — виртуальная машина JVM интегрирована прямо в EXE-файл. Нечто подобное я описывал в своей статье «Суровая жаба. Изучите безопасность Excelsior JET для Java-программ.

Стек вызовов прерванного процесса
Стек вызовов прерванного процесса

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

Source

ЧИТАТЬ  Производитель крипто-банкоматов General Bytes взломан, украдено 1,5 миллиона долларов