



Degateは、チップ中のデジタルロジックの半自動VLSIリバースエンジニアリング用のマルチプラットフォームソフトウェアです。このリポジトリは、主要な変更と新しいメンテナーを備えた元の学位プロジェクトの継続です。詳細については、wikiページにアクセスして、チャットしたい場合は、私たちのギターにアクセスしてください。現在のメインメンテナーは、Dorian Bachelotです。
Degateは、2008年から2011年までの論文中にMartin Schobertによって積極的に開発されました。2013年から2018年まで、このプロジェクトは主に非アクティブであり、長年にわたって小さな修正しかありませんでした。現時点では、プロジェクトはライブラリ(Libgate)とGUIインターフェイス(Degate)で構成されていました。
Degateは間違いなく大きな可能性を秘めています。これは、主にチップのハードウェアリバースエンジニアリング用の唯一の無料でオープンソースソフトウェアであるため、コミュニティに自分自身を課す方法を知らなかったからです。その可能性のある理由の1つは、学位が不安定であることが知られており、最初の場所でバグに影響を与えることが知られていることです。
ここで古い学位コードと古いリポジトリを閲覧できます。
https://github.com/nitram2342/degate
このプロジェクトは、Windows、Linux、MacOSのサポートに焦点を当てて、古い程度を置き換え、安定性と一般的な近代化を獲得します。これを達成するために、最初のステップはGTKをドロップし、QTに移動し、プロジェクトのLIBとGUI部分をマージすることでした。もう1つの目的は、依存関係の数を最小限に抑えることでした。今のところ、ブーストとQTのみを使用しており、中間目標はQTのみを維持してブーストを削除することです。
安定性は、古い程度の主な問題であり、コミュニティがまだその周りに統合されていなかった主な理由でした。それに関しては、たとえいくつかの機能を削除する必要がある場合でも、できる限り少ないバグを持っている必要があります。
現時点では(機能として):
これらの機能を古い程度から落としました。
この新しいバージョンでは多くのバグが修正され、将来さらに程度を改善するためのより良い基盤になるはずです。
この新しいバージョンにはまだやるべきことがたくさんありますが、すべてのコア機能(さらにそれ以上)が実装されています。
実装するために残っている将来の機能(限定的ではありません):
より正確なロードマップについては、roadmap.mdファイルを参照してください。
公式の学位ドキュメントはこちらから入手できます。まだ建設中です。
また、ここでは公式のDegate Wikiを見つけることができます。たとえば、学位とICのリバースエンジニアリングのチュートリアルのリストを見つけることができます。




Degateには、BoostとQT6の2つの依存関係しかありません。
VCPKGを使用してそれらのインストールを処理します。以下の#クイックスタートセクションを参照してください。
Linuxの場合(以下のLinuxセクションをお読みください。いくつかの依存関係は、 VCPKGのQTを使用する場合にのみ必要です):
macOS(以下のmacosセクションをお読みください):
ローカルQT6インストールを使用している場合:
まず、このリポジトリをクローンします(こちらのヘルプ):
> git clone https://github.com/DegateCommunity/Degate
> git submodule update --init --recursive依存関係のインストールを準備します( VCPKGのQTを使用する場合にのみ必要です):
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> apt install ' ^libxcb.*-dev ' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev
libxkbcommon-x11-dev libegl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev
autoconf autoconf-archive何かが欠けている場合は、必要なツールのインストール方法についてヘルプを求めて促される必要があります。
ビルド(たとえば、「ビルド」フォルダー):
> cmake .. -DVCPKG_QT=1
> makeバイナリは「ビルド/アウト/ビン」フォルダーにあります。
ローカルQTのインストールを使用する場合(およびVCPKGを介してQTの再構築を避けるため)、- -DVCPKG_QT=0オプションを使用してください。
依存関係をインストールします:
> . v cpkg b ootstrap-vcpkg.bat -disableMetricsビルド(たとえば、「ビルド」フォルダー):
> cmake .. -DVCPKG_QT=1
> cmake --build .バイナリは「ビルド/アウト/ビン」フォルダーにあります。
ローカルQTのインストールを使用したい場合(およびVCPKGを介してQTの再構築を避けるため)、 -DVCPKG_QT=0オプションを使用し、 -DCMAKE_PREFIX_PATH="path_to_qt"でQT6のパスを指定してください。
依存関係のインストールを準備します。
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> brew install autoconf autoconf-archive automake ビルド(たとえば、「ビルド」フォルダー):
> cmake .. -DVCPKG_QT=1
> cmake --build .バイナリは、バンドルの「build/out/bin」フォルダー」にあります。
ローカルQTのインストールを使用する場合(およびVCPKGを介してQTの再構築を避けるため)、- -DVCPKG_QT=0オプションを使用してください。
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
このメッセージは、ブーストライブラリの静的およびマルチスレッドバージョンを使用することを強制するデフォルトのオプションによって引き起こされる場合があります。たとえば、インストールされているバージョンがデフォルトで静的バージョンを提供しないため、MacOSにMacPortsを使用してBoostをインストールする場合、これは問題です。これらのデフォルトオプションを変更するには、Cmake(オン/オフ)を呼び出すときにこれら2つのコマンドを使用できます。
> cmake .. -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_MULTITHREADED=OFFWindowsでは、インストールされているコンパイラと一致しないインストールバージョンのBoostによって引き起こされる可能性があります。
/etc/cmake/ConfigureFiles.cmake:25 (file): file failed to open for reading (No such file or directory): .../VERSION
このメッセージは、MacOSユーザーに表示されます。問題は、ディレクトリ名のスペースから生じます。これはCmakeのバグです。 Degateフォルダーをディレクトリ名のスペースなしでファイルツリーに移動するだけです。
CMake Error at vcpkg_execute_required_process.cmake:127 (message): Command failed: vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
VCPKG出力を参照してください。これは、一部のプラットフォームに事前にインストールされた依存関係が必要なQTインストールにリンクされています。たとえば、Linuxで実行する必要があります: sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev sudo apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev 。
ここでデモプロジェクトを見つけることができます。
「converting.md」ファイルをお読みください。
今のところ、英語とフランス語だけがサポートされていますが、あなたが望むならあなたは簡単に助けることができます。翻訳にQT言語学者を使用してください。詳細については、https://doc.qt.io/qt-5/linguist-translators.htmlをご覧ください。 .tsファイル(qt言語学者で使用する)を「res/languages」で見つけることができます。
言語:
新しい言語を追加するには、新しい問題を開きます。または、Crowdinプロジェクトhttps://crowdin.com/project/degateを使用してください。
Degateは、GNU General Public Licenseバージョン3でリリースされます。詳細については、License.txtを参照してください。
Degateの現在のメインメンテナーはDorian Bachelot [email protected]であり、元の学位メンテナーはMartin Schobert [email protected]です。