Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ddc — Rust로 구현된 Android DEX → Java 디컴파일러로, 속도를 위해 설계되었습니다 — 전체 앱을 몇 초 만에, 쿼리는 밀리초 단위로 처리합니다. 점진적 분석, javac로 검증된 출력, 모든 DEX 버전 지원, 멀티덱스 및 XAPK/APKS/APKM 컨테이너를 지원합니다. | Kitploit
도구/GitHubGitHub/ejfkdev/ddc
Android SecurityStatic AnalysisCode AnalysisDynamic Code Analysis (DAST)Mobile App PentestingReverse EngineeringMobile SecurityUtilities & FrameworksBinary Analysis
GitHubejfkdev/ddc

ddc

Rust로 구현된 Android DEX → Java 디컴파일러로, 속도를 위해 설계되었습니다 — 전체 앱을 몇 초 만에, 쿼리는 밀리초 단위로 처리합니다. 점진적 분석, javac로 검증된 출력, 모든 DEX 버전 지원, 멀티덱스 및 XAPK/APKS/APKM 컨테이너를 지원합니다.

41280941일 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

ddc — Rust로 구현한 DEX → Java 디컴파일러

English | 简体中文

CI License: MIT

ddc는 Android DEX 바이트코드를 읽을 수 있는 Java로 다시 디컴파일합니다 — 실제 앱 규모에서, 데이터베이스처럼 쿼리 가능하게, 그리고 javac로 검증된 결과로: 일곱 개의 실제 APK에서 생성한 909,689개 파일 전부가 깔끔하게 파싱됩니다.

주요 특징

  • 빠름 — 226 MB / 20-dex APK(weibo, 98k 클래스)를 고품질로 약 13초에 완전히 디컴파일하며, 62 MB 앱(Telegram)은 약 4.5초에 처리합니다. 병리적인 클래스는 실행 전체를 멈추게 하는 대신 데드라인이 설정된 모니터링 스레드에서 처리됩니다.
  • 컴파일됨 — 일곱 개 벤치마크 APK(reqable, Telegram, WhatsApp, weibo, weixin, qq, lark — 0.91M 파일)의 전체 출력이 구문 오류 없이 javac를 통과합니다. 대소문자만 다른 이름 쌍(X/Cua vs X/cua)의 모든 클래스는 마지막 것이 조용히 덮어쓰는 대신 각자의 파일로 보존됩니다.
  • 점진적 디컴파일 — 15개의 쿼리 서브커맨드(strings, cross-references, hierarchies, manifest, resources, 메서드별 디컴파일)가 밀리초 단위로 응답합니다: 먼저 메타데이터를 쿼리하고, 필요할 때 디컴파일하며, 전체 실행을 완전히 건너뛸 수 있습니다.
  • DEX 035–041, 완전 지원 — 멀티 dex APK, XAPK/APKS/APKM 컨테이너, invoke-custom; 람다와 문자열 연결은 실제 Java로 되돌려집니다((a) -> …, Cls::name, a + b).
  • 읽기 쉬운 출력 — v12 대신 jadx 스타일의 지역 변수 이름(str, getName() → name, Kotlin Intrinsics 파라미터 문자열)을 사용합니다. IntDef 리터럴은 기본적으로 상수로 렌더링됩니다 (setVisibility(8) → View.GONE; 내장 android-37 도메인 테이블, --symbols로 재정의); Kotlin 널 검사 노이즈는 제거되고 합성 access$NNN 브리지는 호출 지점에서 인라인됩니다.
  • 재현 가능한 출력 — 타임스탬프가 없어 두 번의 실행 결과가 깔끔하게 diff됩니다.
  • 기본적으로 사람이 작성한 형태의 출력 (cure): 모든 파일이 의미를 보존하는 소스 수준 패스를 거쳐 레지스터 복사 체인을 인라인하고, if/else 할당을 삼항 연산자로 접고, for-each를 복원하며, 죽은 저장과 컴파일러 아티팩트를 제거합니다 — 실제 코퍼스에서 출력 라인이 −15% 줄어들며 javac 게이트 결과는 동일합니다. 이 패스는 정확하므로 시간이 듭니다: weibo (110k 파일)는 최적화 시 21초, --fast(단순화를 건너뛰고 포맷만 유지) 사용 시 10초가 걸립니다.
  • HTTP REST + MCP 내장 (xyz-rust): ddc serve는 모든 쿼리를 REST 라우트(쿼리 파라미터를 사용하는 GET 또는 JSON 본문을 사용하는 POST)로 노출하며, GET /openapi.json과 /mcp의 스트리밍 가능한 MCP 엔드포인트도 제공합니다 — MCP 클라이언트를 http://addr/mcp로 지정하세요; ddc http는 REST 전용(/mcp 없음)이며, ddc mcp stdio|http는 동일한 명령을 입력 및 출력 스키마를 갖춘 MCP 도구로 실행합니다. 쿼리 명령은 --format auto|text|table|markdown|md|json|jsonl을 받습니다(auto: 터미널에서는 테이블, 파이프로 연결하면 안정적인 텍스트 형식).
  • 이중 언어 CLI — 메시지가 자동으로 현지화됩니다 (DDC_LANG=zh|en으로 강제; 영어 폴백).
  • jcdc와 공유되는 머신 중립적 코어인 jdc-core 위에 구축되었습니다.

설치

macOS (Homebrew):

brew install ejfkdev/tap/ddc

Windows (Scoop) — 버킷을 한 번 추가한 다음 이름으로 설치합니다 (scoop은 user/repo/app 형식만으로는 해석하지 않습니다 — 이슈 #3):

scoop bucket add ejfkdev https://github.com/ejfkdev/scoop-bucket
scoop install ddc

# or install straight from the manifest URL, no bucket needed:
scoop install https://raw.githubusercontent.com/ejfkdev/scoop-bucket/main/bucket/ddc.json

cargo-binstall (모든 플랫폼 — 컴파일하는 대신 미리 빌드된 릴리스 바이너리를 가져옴):

cargo binstall ddc-cli

바이너리: 모든 릴리스는 linux-amd64, linux-arm64, windows-amd64, windows-arm64, macos-amd64, macos-arm64용 원시 바이너리(아카이브 없음)를 제공합니다 — macOS가 아닌 빌드는 UPX로 압축되어 있습니다.

소스에서 빌드 (Rust stable):

git clone https://github.com/ejfkdev/ddc && cd ddc
cargo build --release

사용법

ddc app.apk                          # full decompile → app-out/
ddc app.apk -c com.example.Foo       # one class to stdout
ddc app.apk -o - | less              # everything to stdout

ddc info app.apk                      # app context (label via arsc, package,
                                      # version, md5) + per-dex counts
ddc mainactivity app.apk             # entry point: package + launcher
ddc findrefs app.apk string token    # every const-string "token" site
ddc getmethod app.apk Foo.toString   # one method, all overloads
ddc pkg app.apk --app -o own/        # the app's own code only

전체 옵션과 예시: ddc --help (워크플로별로 그룹화된 서브커맨드 메뉴). 모든 옵션의 의미, 모든 서브커맨드의 출력 형식과 동작을 담은 완전한 레퍼런스는 docs/cli.md에 있습니다 (中文).

성능

실제 APK 7개, 릴리스 빌드, 쿨다운 후 측정 (Apple Silicon, 6P+12E). 39개 APK 검증 코퍼스(디컴파일된 파일 4.08M개, APK별 wall time / 최대 RSS / javac 파싱 게이트)는 docs/validation.md에 있습니다 (中文).

전체 디컴파일 — 실제 APK 7개
APK크기전체 디컴파일최대 RSS
reqable34 MB0.57s162 MB
Telegram62 MB4.50s786 MB
WhatsApp139 MB13.6s (99,483개 파일 — 대소문자 변형 클래스 쌍 모두 보존됨)944 MB
weibo226 MB13.5s1173 MB
weixin268 MB32.7s1401 MB
lark398 MB16.1s2226 MB
qq374 MB37.1s2268 MB

동일한 APK에 대한 쿼리 서브커맨드 (셀: 시간 / 최대 RSS; strings -f <package> --with-locations, 패키지 문자열과 메서드 onCreate에 대한 findrefs, 각 앱의 런처 클래스에 대한 hierarchy/disasm/getclass):

쿼리 서브커맨드 — 13개 명령 × 7개 APK
명령reqableTelegramWhatsAppweiboweixinlarkqq
info0.12s / 40MB0.21s / 88MB0.42s / 305MB0.65s / 610MB0.79s / 550MB1.10s / 907MB1.08s / 1240MB
listclasses0.04s / 21MB0.06s / 84MB0.08s / 93MB0.13s / 396MB0.21s / 417MB0.20s / 299MB0.27s / 391MB
manifest0.03s / 7MB0.03s / 14MB0.02s / 20MB0.03s / 43MB0.04s / 31MB0.03s / 28MB0.03s / 47MB
mainactivity0.04s / 24MB0.06s / 86MB0.08s / 224MB0.10s / 358MB0.13s / 371MB0.14s / 421MB0.21s / 554MB
res0.02s / 7MB0.03s / 15MB0.03s / 22MB0.05s / 60MB0.04s / 32MB0.04s / 31MB0.05s / 53MB
largest0.05s / 29MB0.08s / 78MB0.15s / 236MB0.31s / 500MB0.32s / 500MB0.46s / 676MB0.66s / 810MB
strings0.05s / 24MB0.10s / 85MB0.21s / 222MB0.39s / 354MB0.45s / 395MB0.52s / 431MB0.81s / 551MB
findrefs-string0.04s / 26MB0.05s / 70MB0.06s / 214MB0.10s / 403MB0.12s / 446MB0.07s / 335MB0.14s / 871MB
findrefs-method0.05s / 26MB0.07s / 70MB0.07s / 219MB0.09s / 410MB0.10s / 458MB0.10s / 620MB0.15s / 896MB
members0.07s / 23MB0.21s / 86MB0.62s / 222MB1.32s / 366MB1.17s / 381MB1.64s / 443MB2.66s / 572MB
hierarchy0.04s / 24MB0.05s / 86MB0.09s / 212MB0.12s / 396MB0.14s / 386MB0.17s / 429MB0.22s / 548MB
disasm0.04s / 23MB0.07s / 88MB0.09s / 214MB0.12s / 371MB0.13s / 392MB0.16s / 422MB0.20s / 533MB
getclass0.05s / 34MB0.28s / 182MB0.14s / 357MB0.33s / 740MB0.37s / 942MB0.50s / 1235MB0.76s / 1651MB

문서

도구 다운로드