HAL, een reverse engineering-raamwerk voor digitale elektronische schakelingen

hal_screenshot

HAL is een geïntegreerde omgeving voor de analyse van de lijst van digitale elektronische schakelingenis is een alomvattend raamwerk voor reverse engineering en manipulatie voor netlists op deurniveau die zich richten op efficiëntie, schaalbaarheid en draagbaarheid. HAL wordt geleverd met een plug-insysteem completo die het mogelijk maakt om willekeurige functionaliteiten in de kernel te introduceren.

Het interessante door HAL is dat het toelaat om het circuit in de GUI te zien en te analyseren en het te manipuleren met behulp van python-scripts. In scripts kunt u de bijgevoegde "standaardbibliotheek" met functies gebruiken die grafentheorie-bewerkingen implementeren, handig voor reverse engineering van digitale elektronische schakelingen (met deze functies kunt u heuristisch verschillende ontwerppatronen detecteren en eenvoudige versluieringen verwijderen met een script op meerdere regels) .

De bibliotheek het bevat ook lessen voor projectbeheer in de IDE, die kunnen worden gebruikt bij het ontwikkelen van plug-ins voor verbindingsanalyse en inspectie. Er zijn parsers beschikbaar voor de VHDL- en Verilog-hardwarebeschrijvingstalen.

Deze omgeving is ontwikkeld door verschillende Duitse universiteiten, geschreven in C ++, Qt en Python en vrijgegeven onder de MIT-licentie.

Van de belangrijkste kenmerken de volgende vallen op:

  • Gerichte natuurlijke grafische weergave van netlijstitems en hun verbindingen.
  • Ondersteuning voor aangepaste deurbibliotheken.
  • Hoge prestaties dankzij geoptimaliseerde C ++ -kernel
  • Modulariteit - Schrijf uw eigen C ++ plug-ins voor efficiënte analyse en manipulatie van netwerklijsten (bijvoorbeeld met behulp van grafische algoritmen)
  • Een veelzijdige GUI die visuele inspectie van de netwerklijst en interactieve analyse mogelijk maakt
  • Een ingebouwde Python-shell voor exploratieve interactie met netlist-items en voor interactie met plug-ins uit de GUI

Over HAL-versie 2.0.0

Op dit moment deze omgeving is in versie 2.0.0 waarin VHDL- en Verilog-analysers zijn verbeterd, samen met het CMake-buildsysteem dat is bijgewerkt om op doelen gebaseerde configuraties te gebruiken.

ook het valt op dat ondersteuning voor hiërarchisatie en modularisatie werd toegevoegd, evenals een extra isolatieweergave en een nieuw ontwerpsysteem.

Van de andere veranderingen vermeld in deze nieuwe versie:

  • Wijzigingen aan het deurbibliotheeksysteem
  • BDD is vervangen door booleaanse functies
  • Grote veranderingen in de interne weergave van poorttypes
  • Maakt onderscheid mogelijk tussen LUT's, flip-flops, latches en combinatorische poorttypes
  • In Latches en Flip-flops kunt u nu speciale opeenvolgende ingangen specificeren, zoals inschakelen, klokken, configureren en resetten.
  • JSON-poortbibliotheken vervangen door vrijheidsbestanden
  • Vereenvoudigd plug-insysteem
  • Igraph-bibliotheek inbegrepen
  • GUI Major recensie

Hoe installeer ik HAL op Ubuntu en derivaten?

Voor degenen die geïnteresseerd zijn in het installeren van dit reverse engineering-raamwerk voor elektronische schakelingen, ze kunnen het doen door de instructies te volgen die we hieronder delen.

HAL kan op twee manieren worden geïnstalleerd in Ubuntu en derivaten, de eerste ondersteunt ons vanuit de repository van de applicatie (Alleen geldig voor Ubuntu 18.04).

Oosten we kunnen het met behulp van een terminal aan het systeem toevoegen (Je kunt het openen met de sneltoetsen Ctrl + Alt + T) en daarin gaan we de volgende commando's typen.

Eerst gaan we toevoegen vanuit de repository met:

sudo add-apt-repository ppa:sebastian-wallat/hal

We werken de pakketten en de lijst met repositories bij met:

sudo apt-get update

En we gaan verder met het installeren van de applicatie op ons systeem door de volgende opdracht te typen:

sudo apt install hal-reverse

De andere installatiemethode is door te compileren van de applicatie in het systeem. Hiervoor moeten we de HAL-code downloaden met behulp van een terminal.

Eerst gaan we typen:

git clone https://github.com/emsec/hal.git && cd hal

nu we gaan de nodige afhankelijkheden installeren:

./install_dependencies.sh

En we gaan verder met het compileren van de code met:

mkdir build && cd build

cmake ..

make

Zodra de compilatie is voltooid, gaan we verder met het uitvoeren van de installatie met:

make install

Eindelijk kan de documentatie en andere informatie raadplegen over HAL In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.