HAL, ett ramverk för omvänd teknik för digitala elektroniska kretsar

hal_skärmdump

HAL Det är en integrerad miljö för analys av listan över digitala elektroniska kretsardetta är en omfattande ram för omvänd teknik och manipulation för nätlistor på dörrnivå som fokuserar på effektivitet, skalbarhet och bärbarhet. HAL levereras med ett pluginsystem completo vilket gör det möjligt att införa godtyckliga funktioner i kärnan.

Det intressanta av HAL är att det gör det möjligt att se och analysera kretsen i GUI och manipulera den med python-skript. I skript kan du använda det bifogade "standardbiblioteket" med funktioner som implementerar grafteoriåtgärder, användbara för omvänd teknik digitala elektroniska kretsar (med hjälp av dessa funktioner kan du heuristiskt upptäcka olika designmönster och ta bort enkla förvirringar med ett skript på flera rader) .

Bibliotek det inkluderar också klasser för projektledning i IDE, som kan användas vid utveckling av plugin-program för anslutningsanalys och inspektion. Parsers tillhandahålls för VHDL- och Verilog-hårdvarubeskrivningsspråken.

Denna miljö utvecklas av flera tyska universitet, skriven i C ++, Qt och Python och släppt under MIT-licensen.

Av dess huvudsakliga egenskaper följande sticker ut:

  • Riktad naturlig grafisk representation av netlistobjekt och deras anslutningar.
  • Stöd för anpassade dörrbibliotek.
  • Hög prestanda tack vare optimerad C ++ - kärna
  • Modularitet - Skriv dina egna C ++ plugins för effektiv nätverkslistanalys och manipulation (till exempel med hjälp av diagramalgoritmer)
  • Ett funktionsrikt GUI som möjliggör visuell inspektion av nätverkslistan och interaktiv analys
  • Ett inbyggt Python-skal för utforskande interaktion med netlistobjekt och för interaktion med plugins från GUI

Om HAL version 2.0.0

Nu denna miljö finns i sin version 2.0.0 i vilken VHDL- och Verilog-analysatorer förbättrades, tillsammans med CMake-byggsystemet som uppdaterades för att använda målbaserade konfigurationer.

också det framhålls att stöd för hierarkisering och modulering har lagts till, samt en extra isoleringsvy och ett nytt designsystem.

Av de andra förändringarna nämns i den här nya versionen:

  • Ändringar i dörrbibliotekssystemet
  • BDD ersattes med booleska funktioner
  • Stora förändringar i den interna representationen av grindtyper
  • Tillåter differentiering mellan LUT, flip-flops, spärrar och kombinationsgrindtyper
  • I spärrar och flip-flops kan du nu ange speciella sekventiella ingångar som aktivera, klocka, konfigurera och återställa.
  • JSON-portbibliotek ersattes med frihetsfiler
  • Förenklat pluginsystem
  • Igraph-bibliotek ingår
  • GUI Major Review

Hur installerar jag HAL på Ubuntu och derivat?

För dem som är intresserade av att installera detta ramverk för omvänd teknik för elektroniska kretsar, de kan göra det genom att följa instruktionerna som vi delar nedan.

HAL kan installeras på två sätt i Ubuntu och derivat, den första av dem stöder oss från förvaret av ansökan (Gäller endast för Ubuntu 18.04).

detta vi kan lägga till det i systemet med hjälp av en terminal (Du kan öppna den med snabbtangenterna Ctrl + Alt + T) och i den ska vi skriva följande kommandon.

Först ska vi lägga till från förvaret med:

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

Vi uppdaterar paketen och listan med förvar med:

sudo apt-get update

Och vi fortsätter att installera applikationen på vårt system genom att skriva följande kommando:

sudo apt install hal-reverse

Den andra installationsmetoden är genom att kompilera applikationen i systemet. För detta måste vi ladda ner HAL-koden med hjälp av en terminal.

Först ska vi skriva:

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

Nu vi kommer att installera nödvändiga beroenden:

./install_dependencies.sh

Och vi fortsätter att sammanställa koden med:

mkdir build && cd build

cmake ..

make

När sammanställningen är klar fortsätter vi att utföra installationen med:

make install

Slutligen kan läsa dokumentationen och annan information om HAL I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.