



DEGATE ist eine Multi-Plattform-Software für semiautomatische VLSI-Reverse-Engineering digitaler Logik in Chips. Dieses Repository ist eine Fortsetzung des ursprünglichen DEGTE -Projekts mit größeren Änderungen und einem neuen Betreuer. Weitere Informationen finden Sie auf unserer Wiki -Seite und, wenn Sie chatten möchten, unser Gitter besuchen. Der aktuelle Hauptbaieging von DEGATE ist Dorian Bachelot.
DeGate wurde von Martin Schobert aktiv entwickelt. Während seiner These von 2008 bis 2011 war das Projekt von 2013 bis 2018 hauptsächlich inaktiv und erhielt im Laufe der Jahre nur einige kleine Korrekturen. Zu diesem Zeitpunkt bestand das Projekt aus einer Bibliothek (Libgate) und einer GUI -Schnittstelle (degrate).
DeGate hat definitiv ein großes Potenzial, vor allem, weil es die einzige freie und open-Source-Software für Hardware Reverse Engineering von Chips ist, aber nie wusste, wie man sich der Community auferlegt. Ein möglicher Grund dafür ist, dass Degate als instabil bekannt war und sich an erster Stelle auswirken.
Hier können Sie den alten Degate -Code und das alte Repository hier durchsuchen:
https://github.com/nitram2342/degate
Dieses Projekt ersetzt den alten DEGate mit Schwerpunkt auf Windows-, Linux- und MacOS -Unterstützung, was eine bessere Stabilität und die allgemeine Modernisierung erzielt. Um dies zu erreichen, bestand der erste Schritt darin, GTK fallen zu lassen, zu QT zu wechseln und den LIB und den GUI -Teil des Projekts zusammenzuführen. Ein weiteres Ziel bestand darin, die Anzahl der Abhängigkeiten zu minimieren. Im Moment verwendet es nur Boost und QT und das mittelfristige Ziel besteht darin, nur QT zu halten und Boost zu entfernen.
Die Stabilität war das Hauptproblem des alten Degate und der Hauptgrund, warum sich die Gemeinde noch nicht vereint hatte. In diesem Zusammenhang möchten wir weniger Fehler wie möglich haben, auch wenn einige Funktionen fallen gelassen werden müssen (momentan).
Im Moment haben wir (als Funktionalitäten):
Wir haben diese Funktionen aus dem alten DEGATE abgelegt:
Viele Fehler wurden in dieser neueren Version behoben, und es sollte eine bessere Basis sein, um in Zukunft noch mehr Degate zu verbessern.
In dieser neuen Version gibt es noch viel zu tun, aber alle Kernfunktionen (und noch mehr) werden implementiert.
Zukünftige Funktionen verbleiben, die implementiert werden (nicht begrenzt):
Eine genauere Roadmap finden Sie in der Datei roadmap.md.
Die offizielle DEGATE -Dokumentation ist hier verfügbar. Es befindet sich noch im Bau.
Außerdem finden Sie hier das offizielle DECI -Wiki. Beispielsweise finden Sie darauf eine Liste von Tutorials für degraT und für IC Reverse-Engineering.




DEGATE hat nur 2 Abhängigkeiten: Boost und QT6.
Wir verwenden VCPKG, um die Installation von diesen zu verarbeiten. Weitere Informationen finden Sie im Abschnitt #Quick-Start unten.
Für Linux (bitte lesen Sie den Abschnitt Linux unten, einige Abhängigkeiten werden nur bei Verwendung von VCPKGs QT benötigt ):
Für macOS (bitte lesen Sie den Abschnitt MacOS unten):
Wenn Sie eine lokale QT6 -Installation verwenden:
Klonen Sie zunächst dieses Repository (Hilfe hier):
> git clone https://github.com/DegateCommunity/Degate
> git submodule update --init --recursiveBereiten Sie die Installation von Abhängigkeiten vor (einige von ihnen werden nur erforderlich, wenn VCPKGs QT verwendet werden ):
> ./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-archiveWenn etwas fehlt, sollten Sie mit Hilfe zur Installation der erforderlichen Tools aufgefordert werden.
Build (zum Beispiel im "Build" -Fordner):
> cmake .. -DVCPKG_QT=1
> makeBinärdateien befinden sich im Ordner "Build/Out/Bin".
Wenn Sie es vorziehen, Ihre lokale QT -Installation zu verwenden (und um das Wiederaufbau von QT über VCPKG zu vermeiden), verwenden Sie bitte die Option -DVCPKG_QT=0 .
Abhängigkeiten installieren:
> . v cpkg b ootstrap-vcpkg.bat -disableMetricsBuild (zum Beispiel im "Build" -Fordner):
> cmake .. -DVCPKG_QT=1
> cmake --build .Binärdateien befinden sich im Ordner "Build/Out/Bin".
Wenn Sie es vorziehen, Ihre lokale QT -Installation zu verwenden (und um den Umbau von QT durch VCPKG zu vermeiden), verwenden Sie die Option -DVCPKG_QT=0 und geben Sie den Pfad von qt6 mit -DCMAKE_PREFIX_PATH="path_to_qt" an.
Bereiten Sie die Installation von Abhängigkeiten vor:
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> brew install autoconf autoconf-archive automake Build (zum Beispiel im "Build" -Fordner):
> cmake .. -DVCPKG_QT=1
> cmake --build .Binärdateien befinden sich im Ordner "Build/Out/Bin" im Bündel ".App" -Format.
Wenn Sie es vorziehen, Ihre lokale QT -Installation zu verwenden (und um das Wiederaufbau von QT über VCPKG zu vermeiden), verwenden Sie bitte die Option -DVCPKG_QT=0 .
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
Diese Meldung kann standardmäßig Optionen verursacht werden, die dazu zwingen, eine statische und multitHhread -Version der Boost -Bibliothek zu verwenden. Dies ist beispielsweise ein Problem bei der Installation von Boost mit Macports auf macOS, da die installierte Version standardmäßig keine statische Version bietet. Um diese Standardoptionen zu ändern, können Sie diese beiden Befehle beim Aufrufen von CMake (Ein/Aus) verwenden:
> cmake .. -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_MULTITHREADED=OFFUnter Windows kann dies auch durch eine installierte Version von Boost verursacht werden, die nicht mit Ihrem installierten Compiler übereinstimmt.
/etc/cmake/ConfigureFiles.cmake:25 (file): file failed to open for reading (No such file or directory): .../VERSION
Diese Nachricht kann für MacOS -Benutzer angezeigt werden. Das Problem stammt aus Räumen in Verzeichnisnamen, dies ist ein Fehler von CMake. Verschieben Sie einfach Ihren DET -Ordner in einen Dateibaum ohne Leerzeichen in Verzeichnisnamen.
CMake Error at vcpkg_execute_required_process.cmake:127 (message): Command failed: vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
Bitte beziehen Sie sich auf die VCPKG-Ausgabe. Dies ist mit der QT-Installation verknüpft, die vorinstallierte Abhängigkeiten auf einigen Plattformen benötigt. Zum Beispiel unter Linux müssen Sie ausführen: 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 .
Hier finden Sie Demo -Projekte.
Lesen Sie die Datei "beitritt.md".
Im Moment werden nur Englisch und Französisch unterstützt, aber wenn Sie sich wünschen, können Sie leicht helfen. Verwenden Sie den QT-Linguisten für Übersetzungen. Sie können hier mehr erfahren: https://doc.qt.io/qt-5/linguist-translators.html. Sie können .TS -Dateien (um mit QT Linguist verwendet werden) in 'res/languages' zu finden.
Sprachen:
Um eine neue Sprache hinzuzufügen, öffnet ein neues Problem oder nutze unser Crowdin -Projekt: https://crowdin.com/project/degate.
DEGate wird unter der GNU General Public Lizenz Version 3. veröffentlicht. Weitere Informationen finden Sie unter lizenz.txt.
Der aktuelle Hauptbaieging von DEGATE ist Dorian Bachelot [email protected] und der ursprüngliche DEGTate -Betreuer ist Martin Schobert [email protected].