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.