Skip to content

3. Dev Guide

seojungmin edited this page Dec 15, 2025 · 1 revision

이 문서는 CryptoScanner_GUI를 수정/확장/기여(Contribute) 하려는 개발자용 가이드입니다.


프로젝트 구조 (요약)

  • CryptoScanner/

    • C++ 정적 분석 백엔드
    • third_party/에 tree-sitter, miniz 등 외부 라이브러리 포함
  • DynamicAnalysis/

    • C++ 동적 분석 백엔드
    • include/ 공통 헤더, src/ 플랫폼별 소스, scripts/ 테스트/빌드 스크립트
  • crypto-scanner-gui/

    • React + Electron GUI
    • scripts/ 빌드 시 백엔드 파일 복사 스크립트
    • src/main/ Electron main/preload
    • src/renderer/ React UI(pages/components/utils/types 등)
  • LLM-Report/

    • LLM Orchestration 리포트 형식(구현/연동은 진행 중)
  • 빌드 스크립트

    • build_integrated.sh
    • build_integrated_windows.bat
  • 산출물 폴더(빌드 후 생성)

    • mac-arm64 / linux-arm / linux-amd / win-amd

빌드 파이프라인 (개발 관점)

아래 순서가 “GUI ↔ 백엔드” 결합을 가장 덜 헷갈리게 합니다.

  1. 백엔드 빌드
  • CryptoScanner/에서 백엔드 빌드 스크립트 실행
  1. 통합 빌드
  • 레포 루트에서 build_integrated.sh 또는 build_integrated_windows.bat
  1. GUI 빌드
  • crypto-scanner-gui/에서:
    • npm install
    • npm run build
  1. 백엔드 복사(중요)
  • npm run copy-backend
    → Electron 실행 환경에 백엔드 바이너리를 배치하는 단계라, 이게 빠지면 “GUI는 뜨는데 스캔이 실패” 같은 현상이 나기 쉽습니다.
  1. 패키징/실행
  • npm run dist:<platform> 후 산출물 폴더에서 실행

어디를 고치면 무엇이 바뀌나

  • UI/UX 변경: crypto-scanner-gui/src/renderer/

    • 화면 단위: pages/
    • 공통 UI: components/
    • 유틸/파서: utils/
    • 타입 정의: types/
  • Electron IPC/프로세스 로직: crypto-scanner-gui/src/main/

    • 백엔드 실행/통신 경로 수정 시 여기부터
  • 정적 분석 로직: CryptoScanner/

  • 동적 분석 로직: DynamicAnalysis/


기능 확장 가이드(추천 규칙)

새 기능을 추가할 때는 아래 3가지를 먼저 고정하면 작업이 빨라집니다.

  1. 백엔드 출력 포맷(JSON/CSV/텍스트 등) 정의
  2. GUI가 읽을 파싱 위치/유틸 함수renderer/utils에 정리
  3. 화면에 보여줄 타입 정의(types) + 페이지(pages) 연결

개발 테스트 팁

  • 테스트는 항상 Quick Scan(작은 대상) 으로 재현 시간을 줄이세요.
  • OS/아키텍처별 산출물 폴더(linux-amd, win-amd 등)에서 실행되는지 확인하세요.

Clone this wiki locally