HAL To je integrirano okruženje za analizu popisa digitalnih elektroničkih sklopovaOvo je sveobuhvatan okvir za obrnuti inženjering i manipulaciju za mrežne popise na razini vrata koji su usredotočeni na učinkovitost, skalabilnost i prenosivost. HAL dolazi sa sustavom dodataka dovršiti što omogućuje uvođenje proizvoljnih funkcionalnosti u jezgru.
Zanimljivo od strane HAL-a jest da omogućuje prikaz i analizu sklopa u GUI-u i manipulaciju njime pomoću python skripti. 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 zamućenja skriptom u više redaka) .
Knjižnica uključuje i satove za upravljanje projektima u IDE-u, koji se mogu koristiti pri razvoju dodataka za analizu i inspekciju veze. Analizatori su osigurani za jezike za opis hardvera VHDL i Verilog.
Ovo okruženje razvija nekoliko njemačkih sveučilišta, napisan na C ++, Qt i Python i objavljen pod MIT licencom.
Od njegovih glavnih karakteristika ističu se:
- Usmjereni prirodni grafički prikaz stavki netlista i njihovih veza.
- Podrška za prilagođene knjižnice vrata.
- Visoke performanse zahvaljujući optimiziranom jezgru C ++
- Modularnost - Napišite vlastite dodatke za C ++ za učinkovitu analizu i manipulaciju mrežnim popisom (na primjer, pomoću algoritama za grafički prikaz)
- GUI bogat značajkama koji omogućuje vizualni pregled mrežnog popisa i interaktivnu analizu
- Ugrađena Python ljuska za eksplorativnu interakciju s stavkama s popisa i za interakciju s dodacima iz GUI-ja
O verziji HAL 2.0.0
Sada ovo je okruženje u svojoj verziji 2.0.0 u kojem Poboljšani su VHDL i Verilog analizatori, zajedno sa CMake sustavom gradnje koji je ažuriran tako da koristi konfiguracije temeljene na ciljevima.
također istaknuto je da je dodana podrška za hijerarhizaciju i modularizaciju, kao i dodatni prikaz izolacije i novi sustav dizajna.
Od ostalih promjena spomenuto u ovoj novoj verziji:
- Promjene u sustavu knjižnice vrata
- BDD zamijenjen logičkim funkcijama
- Glavne promjene u unutarnjem predstavljanju tipova vrata
- Omogućuje 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, konfiguracije i resetiranja.
- JSON knjižnice vrata zamijenjene datotekama slobode
- Pojednostavljeni sustav dodataka
- Uključena biblioteka Igraph
- GUI Major Review
Kako instalirati HAL na Ubuntu i derivate?
Za one koji su zainteresirani za instalaciju ovog reverznog inženjerskog okvira za elektroničke sklopove, to mogu učiniti slijedeći upute koje dijelimo u nastavku.
HAL može se instalirati na dva načina u Ubuntuu i izvedenicama, prvi nas podržava iz spremišta prijave (Vrijedi samo za Ubuntu 18.04).
ovo možemo ga dodati u sustav uz pomoć terminala (Možete ga otvoriti tipkama prečaca Ctrl + Alt + T) i u njega ćemo upisati sljedeće naredbe.
Prvo ćemo dodati iz spremišta sa:
sudo add-apt-repository ppa:sebastian-wallat/hal
Pakete i popis spremišta ažuriramo sa:
sudo apt-get update
I nastavljamo s instaliranjem aplikacije na naš sustav upisivanjem sljedeće naredbe:
sudo apt install hal-reverse
Drugi način instalacije je sastavljanjem aplikacije u sustavu. Za to moramo pomoću terminala preuzeti HAL kod.
Prvo ćemo upisati:
git clone https://github.com/emsec/hal.git && cd hal
Sada instalirat ćemo potrebne ovisnosti:
./install_dependencies.sh
I nastavljamo s kompajliranjem koda sa:
mkdir build && cd build cmake .. make
Kada je kompilacija gotova, nastavljamo s instalacijom sa:
make install
Konačno mogu pregledati dokumentaciju i ostale informacije o HAL-u U sljedećem linku.