HAL、デジタル電子回路のリバースエンジニアリングフレームワーク

hal_スクリーンショット

HAL これは、デジタル電子回路のリストを分析するための統合環境です。、エステ 包括的なリバースエンジニアリングおよび操作フレームワークです 効率、スケーラビリティ、および移植性に焦点を当てたドアレベルのネットリスト用。 HAL プラグインシステムが付属しています completo これにより、カーネルに任意の機能を導入できます。

面白い HALによる GUIで回路を表示および分析し、操作できるようにすることです。 Pythonスクリプトを使用します。 スクリプトでは、デジタル電子回路のリバースエンジニアリングに役立つグラフ理論演算を実装する関数の添付の「標準ライブラリ」を使用できます(これらの関数を使用すると、さまざまなデザインパターンをヒューリスティックに検出し、複数行のスクリプトで単純な難読化を取り除くことができます) 。

図書館 IDEでのプロジェクト管理のためのクラスも含まれています。 これは、接続の分析と検査用のプラグインを開発するときに使用できます。 パーサーは、VHDLおよびVerilogハードウェア記述言語用に提供されています。

この環境は、いくつかのドイツの大学によって開発されています、C ++、Qt、およびPythonで記述され、MITライセンスの下でリリースされています。

その主な特徴の 次の点が際立っています。

  • ネットリストアイテムとそれらの接続の指示された自然なグラフィック表現。
  • カスタムドアライブラリのサポート。
  • 最適化されたC ++カーネルによる高性能
  • モジュール性-効率的なネットワークリストの分析と操作のために独自のC ++プラグインを作成します(たとえば、グラフィックアルゴリズムを使用)
  • ネットワークリストの視覚的検査とインタラクティブな分析を可能にする機能豊富なGUI
  • ネットリストアイテムを探索的に操作し、GUIからプラグインを操作するための組み込みのPythonシェル

HALバージョン2.0.0について

この環境はバージョン2.0.0にあります その中で VHDLおよびVerilogアナライザーが改善されました。 目標ベースの構成を使用するように更新されたCMakeビルドシステムとともに。

さらに 階層化とモジュール化のサポートが追加されたことを強調します。 また、追加の分離ビューと新しい設計システムもあります。

その他の変更点 この新しいバージョンで言及されている:

  • ドアライブラリシステムの変更
  • BDDがブール関数に置き換えられました
  • ゲートタイプの内部表現の主な変更
  • LUT、フリップフロップ、ラッチ、および組み合わせゲートタイプを区別できます
  • ラッチとフリップフロップで、イネーブル、クロック、設定、リセットなどの特別なシーケンシャル入力を指定できるようになりました。
  • JSONゲートライブラリがfreedomファイルに置き換えられました
  • 簡素化されたプラグインシステム
  • Igraphライブラリが含まれています
  • GUIメジャーレビュー

Ubuntuとその派生物にHALをインストールする方法は?

このリバースエンジニアリングフレームワークを電子回路にインストールすることに関心のある人は、 彼らは指示に従うことによってそれを行うことができます 以下で共有します。

HAL XNUMXつの方法でインストールできます Ubuntuとその派生物では、 最初のものはリポジトリから私たちをサポートしています アプリケーションの(Ubuntu18.04でのみ有効).

この ターミナルの助けを借りてシステムに追加することができます (ショートカットキーCtrl + Alt + Tで開くことができます)そして、その中に次のコマンドを入力します。

まず、リポジトリから次のように追加します。

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

パッケージとリポジトリのリストを次のように更新します。

sudo apt-get update

次に、次のコマンドを入力して、システムにアプリケーションをインストールします。

sudo apt install hal-reverse

他のインストール方法はコンパイルすることです システム内のアプリケーションの。 このためには、端末を使用してHALコードをダウンロードする必要があります。

まず、次のように入力します。

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

現在 必要な依存関係をインストールします。

./install_dependencies.sh

そして、次のコードをコンパイルします。

mkdir build && cd build

cmake ..

make

コンパイルが完了したら、次の手順でインストールを実行します。

make install

最後に ドキュメントやその他の情報を参照できます HALについて 次のリンクで。


コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。