
APK 디컴파일러 및 시크릿 스캐너 — Android 보안 연구용! APK 파일에서 유출된 API 키, 하드코딩된 자격 증명, 엔드포인트를 추출합니다. apk2url, APK 유출 탐지. 버그 바운티 및 침투 테스트 도구. apkleaks, MobSF의 대안!
APK 디컴파일러 및 시크릿 스캐너 — Android 보안 연구용. Android 애플리케이션에서 API 키, 엔드포인트, 토큰 및 기타 유출된 자격 증명을 자동으로 추출합니다.
.apk, .xapk, .dex, .jar, .class, .smali, .zip, .aar, .arsc, .aab 파일과 호환됩니다.
apk2url 추출, apk leaks 탐지 및 Android 리버스 엔지니어링에 적합합니다. 보안 연구원, 침투 테스터 및 버그 바운티 헌터가 사용합니다.
대부분의 Android 앱에는 하드코딩된 시크릿이 포함되어 있습니다. 개발자들은 종종 AWS 키, Firebase 토큰, API 자격 증명을 코드에 직접 숨기며, 난독화가 이를 보호할 것이라고 생각합니다. 하지만 그렇지 않습니다.
APKprobe는 APK를 디컴파일하고, 난독화 해제를 실행하며, 정규식 패턴으로 모든 것을 스캔하여 다음을 찾습니다:
모든 Android 앱에서 URL, API 엔드포인트 및 백엔드 라우트를 추출합니다. 다음에 적합합니다:
공개되어서는 안 되는 잊혀진 개발/스테이징 엔드포인트, 내부 API 및 관리자 패널을 발견하세요.
보안에 중요한 코드를 빠르게 찾으세요:
정확히 어디에 훅을 걸어야 하는지 알면 Frida 스크립트 속도가 빨라집니다.
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
또는 개발 모드로 설치:
pip install -e .
APK에서 시크릿 스캔:
apkprobe target.apk
URL 및 엔드포인트 추출:
apkprobe target.apk -r endpoints
AWS/클라우드 자격 증명 스캔:
apkprobe target.apk -r aws gcp azure
apkprobe app.apk
apkprobe app1.apk app2.apk app3.xapk
apkprobe --jadx --apktool --cfr app.apk
apkprobe app.apk -o results.json -f json
apkprobe app.apk -r /path/to/rules.json
apkprobe -r aws endpoints -o output.yaml -f yaml -c *.apk
apkprobe [OPTIONS] FILES...
Options:
-r, --rules FILES 규칙 파일 또는 내장 세트 (aws, gcp, azure, endpoints 등)
-o, --output FILE 출력 파일 경로
-f, --format FORMAT 출력 형식: json, yaml, text
-g, --groupby TYPE 그룹 기준: file, locator, both
-c, --cleanup 스캔 후 디컴파일된 파일 제거
-q, --quiet 출력 억제
Decompilers:
--jadx, -J JADX 사용 (기본값)
--apktool, -A APKTool 사용
--cfr, -C CFR 사용
--procyon, -P Procyon 사용
--krakatau, -K Krakatau 사용
--fernflower, -F Fernflower 사용
Advanced:
-d, --deobfuscate 난독화 해제 활성화
-w, --working-dir DIR 작업 디렉토리
--timeout SECONDS 스캔 타임아웃
최대 커버리지를 위해 여러 디컴파일러를 함께 사용하세요 — 각 도구는 난독화를 다르게 처리합니다.
APKprobe는 여러 규칙 형식을 지원합니다. 직접 만들거나 기존 패턴 데이터베이스를 사용하세요.
| 형식 | 확장자 |
|---|---|
| APKprobe JSON | .json |
| Gitleaks | .toml |
| secret-patterns-db | .yaml |
| 단순 키-값 |
{
"id": "stripe-api-key",
"name": "Stripe API Key",
"pattern": "sk_live_[a-zA-Z0-9]{24}",
"confidence": "high"
}
aws — AWS 자격 증명, S3 버킷, ARNgcp — Google Cloud API 키, 서비스 계정azure — Azure 연결 문자열, 키endpoints — URL, API 라우트, 웹훅generic — 일반적인 API 키 패턴gitleaks — 전체 gitleaks 규칙 세트APKprobe는 디컴파일과 스캔 모두에 병렬 처리를 사용합니다.
# 스캔에 8개 워커 사용
apkprobe app.apk -smw 8
# 스레딩 대신 멀티프로세싱 사용
apkprobe app.apk -sct process
팁:
--cleanup을 사용하세요APKprobe는 다음 도구와 유사합니다:
APKprobe는 여러 디컴파일러 지원과 함께 디컴파일 + 스캔을 하나의 도구로 결합합니다.
버그를 발견했나요? 아이디어가 있나요? PR 환영합니다.
git clone https://github.com/wadingporque/apkprobe.git
cd apkprobe
python setup.py install
endpoints 규칙 세트와 함께 APKprobe를 사용하여 모든 URL, API 엔드포인트 및 백엔드 라우트를 추출하세요:
apkprobe app.apk -r endpoints -o urls.json
이 작업은 디컴파일 후 apk2url 추출을 자동으로 수행합니다.
APKprobe는 250개 이상의 정규식 패턴을 사용하여 디컴파일된 코드에서 하드코딩된 시크릿을 스캔합니다:
apkprobe app.apk -r aws gcp azure
AWS 키, Firebase 토큰, Stripe 키 및 기타 유출된 자격 증명을 탐지합니다.
APKprobe는 여러 디컴파일러를 지원합니다 — 최상의 결과를 위해 함께 사용하세요:
apkprobe --jadx --apktool --cfr app.apk
각 디컴파일러는 난독화를 다르게 처리하므로, 결합하면 커버리지가 증가합니다.
네. APKprobe는 Android 침투 테스팅 및 버그 바운티 정찰용으로 설계되었습니다. 대상 앱에서 엔드포인트, API 키 및 하드코딩된 시크릿을 추출하여 공격 표면을 빠르게 매핑합니다.
wadingporque
MIT 라이선스. 자세한 내용은 LICENSE를 참조하세요.
| 디컴파일러 | 유형 | 비고 |
|---|
| JADX | Java | 기본값, 대부분의 APK에 최적 |
| APKTool | Smali | 리소스 + 매니페스트 |
| CFR | Java | 난독화된 코드에 적합 |
| Procyon | Java | 대체 디컴파일러 |
| Krakatau | Java | 엣지 케이스 처리 |
| Fernflower | Java | IntelliJ의 디컴파일러 |
.json