



DeGate是一种用于芯片中数字逻辑半自动VLSI反向工程的多平台软件。该存储库是原始DEGATE项目的延续,具有重大变化和新的维护者。有关更多信息,请访问我们的Wiki页面,如果您想聊天,请访问我们的Gitter。目前的Degate主要维护者是Dorian Bachelot。
Degate在2008年至2011年的论文期间由马丁·肖伯特(Martin Schobert)积极开发。从2013年到2018年,该项目主要是不活跃的,多年来仅进行了一些小问题。目前,该项目由库(Libgate)和GUI接口(DEGATE)组成。
DeGate绝对具有巨大的潜力,主要是因为它是唯一用于芯片硬件反向工程的免费和开源软件,但从来不知道如何将自己强加于社区中。造成这种情况的一个可能是,众所周知,Degate是不稳定的,并且首先具有影响错误。
您可以在此处和旧存储库中浏览旧的Degate代码:
https://github.com/nitram2342/degate
该项目以窗口,Linux和MacOS支持的重点取代了旧的学位,从而获得了更好的稳定性和一般的现代化。为了实现这一目标,第一步是放弃GTK,移至QT并合并LIB和GUI部分。另一个目的是最大程度地减少依赖性的数量,因为现在它仅使用增强和QT,而中期目标是仅保留QT并删除增强功能。
稳定性是旧学位的主要问题,也是社区尚未团结起来的主要原因。关于这一点,即使需要删除某些功能(目前),我们也希望尽可能少。
目前,我们拥有(作为功能):
我们从旧学位删除了这些功能:
这个较新的版本已解决了许多错误,这应该是更好的基础,以便将来更多地提高染料。
在这个新版本中,仍然有很多事情要做,但是实现了所有核心功能(甚至更多)。
剩下的未来功能要实施(不限):
有关更精确的路线图,请参阅路线图.md文件。
官方的Degate文档可在此处找到。它仍在建设中。
另外,您可以在这里找到官方的Wiki。例如,您可以在其上找到用于Degate和IC反向工程的教程列表。




DEGATE仅具有2个依赖性:Boost和Qt6。
我们使用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二进制文件在“构建/淘汰/bin”文件夹中。
如果您希望使用本地QT安装(并避免通过VCPKG重建QT),请使用-DVCPKG_QT=0选项。
安装依赖项:
> . v cpkg b ootstrap-vcpkg.bat -disableMetrics构建(例如,在“构建”文件夹中):
> cmake .. -DVCPKG_QT=1
> cmake --build .二进制文件在“构建/淘汰/bin”文件夹中。
如果您希望使用本地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 .二进制文件在捆绑包中的“构建/淘汰/bin”文件夹中。
如果您希望使用本地QT安装(并避免通过VCPKG重建QT),请使用-DVCPKG_QT=0选项。
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
此消息可能是由默认选项引起的,这些选项强迫使用Boost库的静态和多线程版本。例如,在MacOS上使用MacPorts安装Boost时,这是一个问题,因为默认情况下安装的版本不提供静态版本。要更改这些默认选项,您可以在调用CMAKE(开/关)时使用这两个命令:
> 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的错误。只需将您的DEG文件夹移至没有目录名称中没有空格的文件树。
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 。
您可以在这里找到演示项目。
阅读“ contruting.md”文件。
目前,只有英语和法语得到支持,但是如果您希望您可以轻松提供帮助。 Degate使用QT语言学家进行翻译,您可以在此处了解更多:https://doc.qt.io/qt-5/linguist-translators.html。您可以在“ res/语言”中找到.ts文件(与QT语言学家一起使用)。
语言:
要添加新语言打开一个新问题,或使用我们的Crowdin项目:https://crowdin.com/project/degate。
DEGATE根据GNU通用公共许可证版本第3版发布。有关详细信息,请参见Licenter.txt。
目前的DEGATE的主要维护者是Dorian Bachelot [email protected],最初的Degate Mainter是Martin Schobert [email protected]。