HAL Это интегрированная среда для анализа списка цифровых электронных схем.является комплексный фреймворк обратного проектирования и манипуляции для списков соединений на уровне дверей, ориентированных на эффективность, масштабируемость и переносимость. HAL поставляется с системой плагинов полный что позволяет вводить произвольные функции в ядро.
Интересный автор: HAL в том, что он позволяет видеть и анализировать схему в графическом интерфейсе и манипулировать ею. используя скрипты Python. В сценариях вы можете использовать прилагаемую «стандартную библиотеку» функций, реализующих операции теории графов, полезных для обратного проектирования цифровых электронных схем (с помощью этих функций вы можете эвристически обнаруживать различные шаблоны проектирования и удалять простые обфускации с помощью сценария на нескольких строках) .
Библиотека он также включает классы для управления проектами в среде IDE, которые можно использовать при разработке плагинов для анализа и проверки соединений. Парсеры предоставляются для языков описания оборудования VHDL и Verilog.
Эта среда разработана несколькими немецкими университетами., написана на C ++, Qt и Python и выпущена под лицензией MIT.
Из его основных характеристик выделяются следующие:
- Направленное естественное графическое представление элементов списка соединений и их соединений.
- Поддержка пользовательских библиотек дверей.
- Высокая производительность благодаря оптимизированному ядру C ++
- Модульность - напишите свои собственные плагины C ++ для эффективного анализа и обработки списка сетей (например, с использованием алгоритмов построения графиков).
- Многофункциональный графический интерфейс, обеспечивающий визуальный контроль списка сетей и интерактивный анализ.
- Встроенная оболочка Python для исследовательского взаимодействия с элементами списка соединений и для взаимодействия с плагинами из графического интерфейса.
О HAL версии 2.0.0
Сейчас эта среда находится в версии 2.0.0 в котором Доработаны анализаторы VHDL и Verilog, вместе с системой сборки CMake, которая была обновлена для использования целевых конфигураций.
также подчеркивается, что была добавлена поддержка иерархии и модульности, а также дополнительный вид изоляции и новая система дизайна.
Из других изменений упоминается в этой новой версии:
- Изменения в дверной библиотечной системе
- BDD заменен логическими функциями
- Основные изменения во внутреннем представлении типов ворот
- Позволяет различать LUT, триггеры, защелки и типы комбинационных вентилей.
- В «Защелках» и «Триггерах» теперь можно указать специальные последовательные входы, такие как включение, синхронизация, настройка и сброс.
- Библиотеки ворот JSON заменены файлами свободы
- Упрощенная система плагинов
- Библиотека Igraph включена
- Основной обзор GUI
Как установить HAL на Ubuntu и производные?
Для тех, кто заинтересован в установке этого фреймворка обратного проектирования для электронных схем, они могут это сделать, следуя инструкциям которые мы делимся ниже.
HAL можно установить двумя способами в Ubuntu и производных, первый поддерживает нас из репозитория приложения (Действительно только для Ubuntu 18.04).
Este мы можем добавить его в систему с помощью терминала (Вы можете открыть его с помощью сочетания клавиш Ctrl + Alt + T), и в нем мы собираемся ввести следующие команды.
Сначала мы собираемся добавить из репозитория:
sudo add-apt-repository ppa:sebastian-wallat/hal
Мы обновляем пакеты и список репозиториев:
sudo apt-get update
И мы приступаем к установке приложения в нашей системе, набрав следующую команду:
sudo apt install hal-reverse
Другой способ установки - компилировать приложения в системе. Для этого мы должны загрузить код HAL с помощью терминала.
Сначала мы наберем:
git clone https://github.com/emsec/hal.git && cd hal
Сейчас мы собираемся установить необходимые зависимости:
./install_dependencies.sh
И приступаем к компиляции кода с помощью:
mkdir build && cd build cmake .. make
После завершения компиляции мы приступаем к установке с помощью:
make install
В конце концов можете ознакомиться с документацией и другой информацией о HAL По следующей ссылке.