



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
이 프로젝트는 Windows, Linux 및 MACOS 지원에 중점을 두어 Old Degate를 대체하여 더 나은 안정성과 일반적인 현대화를 얻습니다. 이를 달성하기 위해 첫 번째 단계는 GTK를 떨어 뜨리고 QT로 이동하여 프로젝트의 LIB와 GUI 부분을 병합하는 것이 었습니다. 또 다른 목표는 종속성 수를 최소화하는 것이 었습니다. 현재는 부스트와 QT 만 사용하며 중간 목표는 QT를 유지하고 부스트를 제거하는 것입니다.
안정성은 오래된 퇴적물의 주요 문제였으며 커뮤니티가 아직 통합되지 않은 주된 이유였습니다. 이와 관련하여 일부 기능을 삭제해야하더라도 가능한 한 더 적은 버그를 원합니다 (현재).
우리가 가진 순간 (기능으로) :
우리는 그 기능을 Old Degate에서 삭제했습니다.
이 최신 버전에서는 많은 버그가 고정되었으며 앞으로 더 많은 데이트를 개선하는 것이 더 나은 기반이되어야합니다.
이 새로운 버전에는 여전히해야 할 일이 많지만 모든 핵심 기능 (및 그 이상)이 구현됩니다.
구현에 남아있는 향후 기능 (제한되지 않음) :
보다 정확한 로드맵은 로드맵 .md 파일을 참조하십시오.
공식 Degate 문서는 여기에서 제공됩니다. 여전히 건설 중입니다.
또한 여기에서 공식 Degate Wiki를 찾을 수 있습니다. 예를 들어, Degate 및 IC 리버스 엔지니어링을위한 튜토리얼 목록을 찾을 수 있습니다.




Degate는 부스트 및 QT6의 2 가지 의존성 만 있습니다.
우리는 VCPKG를 사용하여 설치를 처리합니다. 아래 #Quick-Start 섹션을 참조하십시오.
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 .Binaries는 Bundle ".app"형식의 'Build/Out/Bin'폴더에 있습니다.
로컬 QT 설치를 선호하는 경우 (VCPKG를 통해 QT 재건을 피하려면) -DVCPKG_QT=0 옵션을 사용하십시오.
Could NOT find Boost (missing: filesystem system thread) (found version "1.71.0")
이 메시지는 기본 옵션으로 인해 Boost 라이브러리의 정적 및 다중 스레드 버전을 사용하도록 강요 할 수 있습니다. 예를 들어, 설치된 버전은 기본적으로 정적 버전을 제공하지 않기 때문에 MacOS에 Macports에 부스트를 설치할 때 문제가됩니다. 이러한 기본 옵션을 변경하려면 CMAKE (ON/OFF)를 호출 할 때이 두 명령을 사용할 수 있습니다.
> 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 .
여기에서 데모 프로젝트를 찾을 수 있습니다.
"Contributing.md"파일을 읽으십시오.
현재는 영어와 프랑스어 만 지원되지만 원하는 경우 쉽게 도울 수 있습니다. Degate 사용 QT 언어 학자 번역에는 https://doc.qt.io/qt-5/linguist-translators.html을 여기에서 배울 수 있습니다. 'res/languages'에서 .ts 파일 (QT 언어 학자와 함께 사용)을 찾을 수 있습니다.
언어 :
새로운 언어를 추가하려면 새로운 문제가 엽니 다.
Degate는 GNU General Public License 버전 3에 따라 릴리스됩니다. 자세한 내용은 License.txt를 참조하십시오.
Degate의 현재 주요 유지 관리자는 Dorian Bachelot [email protected]이며 원래 Degate 관리자는 Martin Schobert [email protected]입니다.