Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pycdc-studio — Qt Widgets 데스크톱 UI로, pycdc/pycdas를 사용하여 파이썬 바이트코드를 탐색하고, 네이티브 디컴파일을 검사하며, 지원되지 않는 코드 객체에 대해 AI fallback을 사용합니다. | Kitploit
도구/GitHubGitHub/ddouworld/pycdc-studio
Static AnalysisReverse EngineeringDebuggersMalware AnalysisBinary AnalysisLearning & EducationAI-Assisted Reversing
GitHubddouworld/pycdc-studio

pycdc-studio

Qt Widgets 데스크톱 UI로, pycdc/pycdas를 사용하여 파이썬 바이트코드를 탐색하고, 네이티브 디컴파일을 검사하며, 지원되지 않는 코드 객체에 대해 AI fallback을 사용합니다.

저장소 보기
4174개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pycdc-studio

中文说明

pycdc / pycdas로 파이썬 바이트코드를 탐색하고, 네이티브 디컴파일 결과를 검사하며, Pyarmor oneshot 출력을 가져오고, 지원되지 않는 코드 객체를 AI 폴백으로 재시도하는 Qt Widgets 데스크톱 UI입니다.

이 앱은 Windows 및 Linux 데스크톱 환경을 모두 지원합니다.

스크린샷

메인 작업 공간

메인 작업 공간

AI 폴백

AI 폴백 재구성

기능

  • .pyc / .pyo 파일을 직접 엽니다.
  • 폴더를 창으로 드래그하여 지원되는 바이트코드 파일을 재귀적으로 검색합니다.
  • 번들된 oneshot 워크플로를 통해 Pyarmor 난독화 프로젝트를 가져옵니다.
  • 발견된 모든 파일을 왼쪽 트리에 함께 표시합니다.
  • 모듈, 클래스, 함수, 람다, 컴프리헨션에 대한 코드 객체 트리를 검사합니다.
  • 비교:
    • 병합
    • 네이티브
    • AI
  • 노드별 메타데이터와 디스어셈블리를 봅니다.
  • AI 폴백 모델로 전송된 정확한 프롬프트를 미리 봅니다.
  • 눈에 띄는 액션 버튼이나 Ctrl+R을 사용하여 현재 선택된 노드를 AI로 재시도합니다.

현재 UI 구조

  • 왼쪽: 코드 객체 트리
  • 가운데: 병합 / 네이티브 / AI 소스 뷰
  • 오른쪽: 디스어셈블리 / 메타데이터 / 프롬프트 / 로그

AI 폴백

앱은 기본적으로 전체 .pyc를 보내지 않습니다.

현재 선택된 코드 객체를 기반으로 프롬프트를 구성하며, 다음을 포함합니다:

  • 정규화된 이름
  • 객체 유형
  • 이름 / 변수명 / 상수 미리보기
  • 네이티브 오류
  • 디스어셈블리

이렇게 하면 폴백 재구성이 전체 파일 대신 선택된 노드에 집중됩니다.

pycdc 통합

앱은 현재 애플리케이션 바이너리 옆에 있는 로컬 실행 파일을 선호하며, pycdc-studio 애플리케이션 바이너리와 동일한 디렉토리에서 다음을 찾습니다:

  • pycdc.exe
  • pycdc
  • pycdas.exe
  • pycdas

환경 변수로 재정의할 수 있습니다:

  • PYCDC_STUDIO_PYCDC
  • PYCDC_STUDIO_PYCDAS

Pyarmor 가져오기

앱은 Lil-House/Pyarmor-Static-Unpack-1shot에 위임하여 Pyarmor로 보호된 프로젝트를 가져올 수 있습니다.

현재 통합 워크플로:

  1. 선택한 Pyarmor 프로젝트 디렉토리에서 oneshot/shot.py를 실행합니다.
  2. pyarmor-1shot이 .1shot.das와 .1shot.cdc.py를 생성하도록 합니다.
  3. 생성된 파일을 기존 작업 공간 UI로 다시 로드합니다.

릴리스 패키지는 Pyarmor oneshot 도구 체인과 필요한 Python 패키지 종속성을 자동으로 번들로 제공할 것으로 예상됩니다.

로컬 개발의 경우, 현재 코드는 애플리케이션 패키지 옆에 있는 번들 파일을 먼저 찾고, 다음 위치의 로컬 클론도 지원합니다:

  • external/Pyarmor-Static-Unpack-1shot/oneshot/shot.py

그리고 pyarmor-1shot / pyarmor-1shot.exe가 shot.py와 동일한 디렉토리에 있어야 합니다.

또한 shot.py를 실행할 수 있는 Python 환경(pycryptodome 포함)이 필요합니다.

레이아웃이 다른 경우 환경 변수로 재정의할 수 있습니다:

  • PYCDC_STUDIO_PYARMOR_PYTHON
  • PYCDC_STUDIO_PYARMOR_SHOT
  • PYCDC_STUDIO_PYARMOR_PYTHONPATH
  • PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT

로컬 개발을 위한 업스트림 도구 준비

예시:

root@kitploit:~
git clone https://github.com/Lil-House/Pyarmor-Static-Unpack-1shot external/Pyarmor-Static-Unpack-1shot
cmake -S external/Pyarmor-Static-Unpack-1shot/pycdc -B external/Pyarmor-Static-Unpack-1shot/build
cmake --build external/Pyarmor-Static-Unpack-1shot/build --config Release
cmake --install external/Pyarmor-Static-Unpack-1shot/build --config Release
python -m pip install pycryptodome

UI에서 사용하기

  1. pycdc-studio 실행
  2. 파일 -> Pyarmor 프로젝트 가져오기... 열기
  3. 난독화된 스크립트와 pyarmor_runtime이 포함된 루트 디렉토리 선택
  4. 생성된 .1shot.* 파일이 작업 공간으로 가져올 때까지 기다리기

참고:

  • 가져오기는 PYCDC_STUDIO_PYARMOR_OUTPUT_ROOT가 설정되지 않은 경우 임시 출력 디렉토리를 사용합니다.
  • 디스어셈블리는 일반적으로 디컴파일된 소스보다 더 신뢰할 수 있습니다.
  • PyInstaller 번들과 같은 아카이브는 이 워크플로를 사용하기 전에 먼저 압축을 풀어야 합니다.
  • 패키징된 빌드는 수동으로 Pyarmor 환경 변수를 구성하지 않고도 작동하도록 설계되었습니다.

AI 구성

AI 폴백을 사용하기 전에 설정을 열고 최소한 다음을 구성하십시오:

  • 기본 URL
  • API 키
  • 모델

현재 클라이언트는 OpenAI 호환 API 엔드포인트를 예상합니다.

설정 대화 상자는 QSettings로 제공자 구성을 저장하며, 필드가 비어 있으면 환경 변수로 폴백합니다.

지원되는 환경 변수:

  • PYCDC_STUDIO_AI_BASE_URL
  • PYCDC_STUDIO_AI_API_KEY
  • PYCDC_STUDIO_AI_MODEL
  • PYCDC_STUDIO_AI_SYSTEM_PROMPT

빌드

요구 사항:

  • Qt 6 Widgets
  • Qt Network
  • CMake
  • C++17 컴파일러

예시:

root@kitploit:~
cmake -S . -B build
cmake --build build

사용법

  1. pycdc-studio 실행
  2. .pyc / .pyo 파일을 열거나 폴더를 창으로 드래그
  3. 또는 파일 -> Pyarmor 프로젝트 가져오기...를 열어 Pyarmor로 보호된 프로젝트 가져오기
  4. 상단 메뉴에서 설정을 열고 AI 모델을 구성 (AI 폴백을 사용하려는 경우)
  5. 트리에서 파일 또는 코드 객체 선택
  6. 네이티브 출력, 디스어셈블리, 메타데이터, 프롬프트 컨텍스트 검사
  7. 네이티브 디컴파일이 불완전하거나 잘못된 경우 선택된 노드에서 AI로 재시도 사용

테스트 샘플

더 긴 테스트 케이스는 test/ 디렉토리에 포함되어 있습니다:

  • workflow_orchestrator.py
  • async_batch_runner.py
  • plugin_config_resolver.py
  • 그리고 몇 가지 작은 샘플

저장소는 소스 샘플만 추적합니다.

드래그 앤 드롭 테스트를 위한 로컬 .pyc 파일을 생성하려면:

root@kitploit:~
python test/compile_test_samples.py

해당 스크립트는 컴파일된 바이트코드를 test/__pycache__/에 기록합니다.

참고 사항

이 프로젝트는 아직 실험 단계입니다.

현재 병합 뷰는 정직한 혼합 문서입니다:

  • 가능한 경우 네이티브 소스
  • 코드 객체별로 추가된 AI 폴백 패치

아직 전체 인라인 소스 병합기는 아닙니다.

라이선스

이 프로젝트는 pycdc / pycdas와 통합되며, 해당 업스트림 프로젝트는 GPL-3.0에 따라 라이선스가 부여됩니다.

  • pycdc: GPL-3.0
  • pycdc / pycdas를 번들로 제공하는 릴리스 패키지는 GPL-3.0 고지를 포함해야 합니다.
  • 릴리스 패키지는 또한 번들된 업스트림 pycdc 저장소와 커밋을 THIRD_PARTY_NOTICES.txt에 기록합니다.

전체 라이선스 세부 사항은 업스트림 프로젝트를 참조하십시오:

  • zrax/pycdc
도구 다운로드