



Degate-это многоплатформенное программное обеспечение для полуавтоматического VLSI Reverse Engineering of Digital Logic в чипах. Этот репозиторий является продолжением первоначального Degate Project, с серьезными изменениями и новым сопровождающим. Для получения дополнительной информации, пожалуйста, посетите нашу страницу вики и, если вы хотите общаться, посетите наш друтчик. Текущим основным сопровождающим дегейт является Дориан Бакалавр.
Дегейт был активно разработан Мартином Шобертом во время своей диссертации, с 2008 по 2011 год. С 2013 по 2018 год проект был главным образом неактивным и получил лишь небольшие исправления за эти годы. В настоящее время проект состоял из библиотеки (LIBGATE) и интерфейса GUI (DEGATE).
У Degate определенно большой потенциал, главным образом потому, что это единственное бесплатное программное обеспечение для оборудования для оборудования для обработки чипов, но никогда не знал, как навязывать себя в сообществе. Известно, что одна из возможных причин заключается в том, что DEGATE является нестабильным и имеет влияние на первое место.
Вы можете просмотреть старый дегровый код здесь и старый репозиторий здесь:
https://github.com/nitram2342/degate
Этот проект заменяет старый DEGATE, с акцентом на поддержку Windows, Linux и MacOS, став лучшей стабильностью и общей модернизацией. Чтобы достичь этого, первым шагом было сбросить GTK, переехать в QT и объединить LIB и графического интерфейса. Другая цель состояла в том, чтобы минимизировать количество зависимостей, поскольку сейчас она использует только Boost и QT, а среднесрочная цель-сохранить только QT и удалить повышение.
Стабильность была главной проблемой старого дегейта и главной причиной, по которой сообщество еще не объединилось вокруг нее. Что касается этого, мы хотим иметь меньше ошибок, даже если некоторые функциональности должны быть отброшены (на данный момент).
На данный момент у нас есть (как функции):
Мы отбросили эти функции из старого дегейта:
В этой более новой версии было исправлено много ошибок, и в будущем это должно быть лучшей базой, чтобы улучшить DEGATE еще больше.
В этой новой версии еще есть чем заняться, но все основные функции (и даже больше) реализованы.
Будущие функции, оставшиеся в реализации (не ограничены):
Для более точной дорожной карты см. Файл Roadmap.md.
Официальная дефицитная документация доступна здесь. Это все еще строится.
Кроме того, вы можете найти здесь официальное дегрессивное вики. Например, вы можете найти в нем список учебных пособий для дегрессивного и для обратного инженера IC.




Degate имеет только 2 зависимости: Boost и qt6.
Мы используем VCPKG для обработки их установки, пожалуйста, обратитесь к разделу #Quick-Start ниже.
Для Linux (пожалуйста, прочитайте раздел Linux ниже, некоторые зависимости необходимы только при использовании QT VCPKG ):
Для MacOS (пожалуйста, прочитайте раздел MacOS ниже):
Если вы используете локальную установку QT6:
Во -первых, клонировать этот репозиторий (помощь здесь):
> git clone https://github.com/DegateCommunity/Degate
> git submodule update --init --recursiveПодготовьте установку зависимостей (некоторые из них необходимы только при использовании QT VCPKG ):
> ./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 (и чтобы избежать восстановления QT через VCPKG), используйте опцию -DVCPKG_QT=0 .
Установить зависимости:
> . v cpkg b ootstrap-vcpkg.bat -disableMetricsСтроитель (например, в папке «сборка»):
> cmake .. -DVCPKG_QT=1
> cmake --build .Двоичные файлы находятся в папке «сборка/выезд/бин».
Если вы предпочитаете использовать локальную установку QT (и чтобы избежать восстановления QT через VCPKG), используйте опцию -DVCPKG_QT=0 и укажите путь QT6 с помощью -DCMAKE_PREFIX_PATH="path_to_qt" .
Подготовьте установку зависимостей:
> ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
> brew install autoconf autoconf-archive automake Строитель (например, в папке «сборка»):
> cmake .. -DVCPKG_QT=1
> cmake --build .Двоичные файлы находятся в папке «сборка/Out/Bin 'в пакете» .App.
Если вы предпочитаете использовать локальную установку QT (и чтобы избежать восстановления QT через VCPKG), используйте опцию -DVCPKG_QT=0 .
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
Это сообщение может быть вызвано параметрами по умолчанию, которые заставляют использовать статическую и многопоточную версию библиотеки Boost. Например, это проблема при установке Boost с MacPorts на MacOS, потому что установленная версия не предоставляет статическую версию по умолчанию. Чтобы изменить эти параметры по умолчанию, вы можете использовать эти две команды при вызове Cmake (On/Off):
> cmake .. -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_MULTITHREADED=OFFВ Windows это также может быть вызвано установленной версией Boost, которая не соответствует установленному компилятору.
/etc/cmake/ConfigureFiles.cmake:25 (file): file failed to open for reading (No such file or directory): .../VERSION
Это сообщение может появиться для пользователей MacOS. Проблема возникает из пробелов в именах каталогов, это ошибка от Cmake. Просто переместите свою папку в дерево файла без пробелов в именах каталогов.
CMake Error at vcpkg_execute_required_process.cmake:127 (message): Command failed: vcpkg/downloads/tools/ninja/1.10.2-linux/ninja -v
Пожалуйста, обратитесь к выводу VCPKG, это связано с установкой QT, которая требует предварительно установленных зависимостей на некоторых платформах. For example on linux you need to execute: sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev libegl1-mesa-dev and sudo apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev .
Вы можете найти демонстрационные проекты здесь.
Прочитайте файл "Anforming.md".
На данный момент поддерживается только английский и французский язык, но если вы хотите легко помочь. Дегейть используйте QT-лингвист для перевода, вы можете узнать больше здесь: https://doc.qt.io/qt-5/linguist-translators.html. Вы можете найти файлы .ts (использование с QT -лингвистом) в «Res/Languages».
Языки:
Чтобы добавить новый язык, открывает новую проблему или использовать наш проект Crowdin: https://crowdin.com/project/degate.
DEGATE выпускается в соответствии с общей общедоступной лицензией GNU.
Нынешним главным сопровождающим DEGATE является Dorian Bachelot [email protected], а оригинальный Degate Savinger - Martin Schobert [email protected].