HAL je integrirano okruženje za analizu popisa digitalnih elektroničkih sklopova, ovo je sveobuhvatan okvir za obrnuti inženjering i manipulaciju za mrežne liste na nivou vrata koja se fokusira na efikasnost, skalabilnost i prenosivost. HAL dolazi sa sistemom dodataka kompletno što omogućava uvođenje proizvoljnih funkcionalnosti u jezgru.
Zanimljivo od HAL-a je da omogućava prikaz i analizu sklopa u GUI-u i manipulaciju njime koristeći python skripte. U skriptama možete koristiti priloženu "standardnu biblioteku" funkcija koje implementiraju operacije teorije grafova, korisne za digitalni elektronički sklop obrnutog inženjerstva (pomoću ovih funkcija možete heuristički otkriti različite dizajnerske obrasce i ukloniti jednostavne zamagljenosti skriptom u više linija) .
Biblioteka uključuje i časove za upravljanje projektima u IDE-u, koji se mogu koristiti pri razvoju dodataka za inspekciju i analizu veza. Analizatori su osigurani za VHDL i Verilog jezike za opis hardvera.
Ovo okruženje razvija nekoliko njemačkih univerziteta, napisan na C ++, Qt i Python i objavljen pod MIT licencom.
Od njegovih glavnih karakteristika izdvajaju se:
- Usmjereni prirodni grafički prikaz stavki netlista i njihovih veza.
- Podrška za prilagođene biblioteke vrata.
- Visoke performanse zahvaljujući optimizovanom jezgru C ++
- Modularnost - Napišite vlastite dodatke za C ++ za efikasnu analizu i manipulaciju mrežnom listom (na primjer, pomoću algoritama za grafikovanje)
- GUI bogat funkcijama koji omogućava vizualni pregled mrežne liste i interaktivnu analizu
- Ugrađena Python ljuska za eksplorativnu interakciju sa stavkama mrežne liste i za interakciju s dodacima iz GUI
O HAL verziji 2.0.0
Trenutno ovo okruženje je u svojoj verziji 2.0.0 u kojem Poboljšani su VHDL i Verilog analizatori, zajedno sa CMake sistemom gradnje koji je ažuriran tako da koristi konfiguracije zasnovane na ciljevima.
Takođe istaknuto je da je dodana podrška za hijerarhizaciju i modularizaciju, kao i dodatni prikaz izolacije i novi sistem dizajna.
Od ostalih promjena spomenuto u ovoj novoj verziji:
- Promjene u sistemu biblioteke vrata
- BDD zamijenjen logičkim funkcijama
- Glavne promjene u internom predstavljanju tipova vrata
- Omogućava razlikovanje između LUT-ova, japanki, zasuna i kombinacijskih tipova vrata
- U zasunima i japankama sada možete odrediti posebne sekvencijalne ulaze poput omogućavanja, sata, konfiguriranja i resetiranja.
- JSON knjižnice vrata zamijenjene datotekama slobode
- Pojednostavljeni sistem dodataka
- Uključena biblioteka Igraph
- GUI Major Review
Kako instalirati HAL na Ubuntu i derivate?
Za one koji su zainteresirani za instaliranje ovog reverznog inženjerskog okvira za elektroničke sklopove, to mogu učiniti slijedeći upute koje delimo u nastavku.
HAL može se instalirati na dva načina u Ubuntuu i derivatima, prvi nas podržava iz spremišta aplikacije (Vrijedi samo za Ubuntu 18.04).
Este možemo ga dodati u sistem uz pomoć terminala (Možete ga otvoriti tipkama prečica Ctrl + Alt + T) i u njega ćemo otkucati sljedeće naredbe.
Prvo ćemo dodati iz spremišta sa:
sudo add-apt-repository ppa:sebastian-wallat/hal
Pakete i listu spremišta ažuriramo sa:
sudo apt-get update
I nastavljamo s instaliranjem aplikacije na naš sistem upisivanjem sljedeće naredbe:
sudo apt install hal-reverse
Drugi način instalacije je kompajliranje aplikacije u sistemu. Za to moramo preuzeti HAL kod uz pomoć terminala.
Prvo ćemo otkucati:
git clone https://github.com/emsec/hal.git && cd hal
Sada instalirat ćemo potrebne zavisnosti:
./install_dependencies.sh
I nastavljamo sa kompajliranjem koda sa:
mkdir build && cd build cmake .. make
Kada je kompilacija završena, nastavljamo s instalacijom sa:
make install
Konačno mogu pregledati dokumentaciju i druge informacije o HAL-u Na sledećem linku.