-
Notifications
You must be signed in to change notification settings - Fork 0
Home
luckyboxx edited this page May 12, 2026
·
6 revisions
VenomHook은 네이티브 바이너리와 Android APK를 정적 분석해 후킹 후보 함수와 보안 결함을 찾고, offset 기반 HookSpec, 자동 PoC 레시피, 가독성 있는 HTML 보고서를 생성하는 CLI 도구입니다.
Binary/APK -> StaticMeta -> Endpoint scoring -> HookSpec -> Frida script -> Runtime report
Android 흐름은 **단일 명령 venomhook scan-apk**로 다음을 한 번에 수행합니다.
- Manifest 감사 (10 룰: debuggable / cleartext / NSC / user-cert trust / exported / providers / 위험 권한 / SDK)
-
2-tier 코드 감사
- Java tier — jadx 결과 위에서 6 룰
- Smali tier — apktool smali 위에서 4 룰 (jadx 타임아웃 / 실패에도 결함 산출 보장)
- 딥링크 / 데이터 스킴 / intent-filter 구조 추출, JNI bridge correlation (multi-.so 지원),
.so문자열 8 카테고리 분류 - adb · Frida · mitmproxy · logcat PoC 자동 생성, MASVS 카테고리로 그룹화된 자체 포함 HTML 보고서
- 결과 정규화 — 동일 클래스 내 같은 룰 발화는 occurrences로 압축, 동일 템플릿 PoC는 applies_to로 압축 (KakaoTalk-급 APK에서 PoC −91%)
-
10단계 라이브 진행 출력 — 모든 단계를 stderr에
[N/10]형식으로 표시
README는 첫 실행에 집중하고, 상세한 사용법과 운영 흐름은 이 Wiki에서 다룹니다.
| 페이지 | 언제 보나요 |
|---|---|
| Environment Checklist | 처음 실행 전 반드시 확인할 최소 환경 점검 |
| Installation | Python, Ghidra, Frida, apktool, jadx, optional extras 설정 |
| Core Workflow | 네이티브 바이너리 StaticMeta -> HookSpec -> Frida 흐름 |
| Android Workflow | APK .so 추출, manifest 분석, Java native/JNI bridge 분석, 코드 레벨 감사 |
| Manifest Audit and PoC |
scan-apk (= android-audit), severity gate, HTML report, manifest + java/smali 코드 룰, native string hints, 실행 가능한 PoC bundle |
| LLM Layer | opt-in LLM 태깅, proto 추론, flow 설명, runtime 요약, signature recovery |
| Developer API | CLI가 아니라 Python API로 직접 조합할 때 |
| Configuration and Project Layout | profile, generated output, ignored local input, 프로젝트 구조 |
| Development and Architecture | 테스트와 아키텍처 문서 |
오류가 발생한 뒤 원인을 찾을 때는 Troubleshooting Reference를 확인하세요.
python3 -m venv venv
source venv/bin/activate
pip install -e .
venomhook offset-e2e \
--static-json ./sample/examples/static_meta.sample.json \
--target sample.exe \
--out-dir ./out이 명령은 Ghidra, Frida, Android 도구, 실제 실행 대상 없이 HookSpec JSON/SQLite, Markdown 요약, Frida 스크립트를 생성합니다.
- 실제 바이너리와 APK는 권한이 있는 대상만 분석하세요.
- 대용량 바이너리와 APK는 Git에 올리지 않고 로컬 ignored path에서만 사용합니다.
- 구조도는 저장소의 ARCHITECTURE.md에 유지합니다.