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

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
BogusMips — Android 앱의 디스어셈블리, 리어셈블리, 리버스 엔지니어링 및 감사를 위한 포렌식 분석 | Kitploit
도구/GitHubGitHub/jankammerath/bogusmips
Android SecurityPacket Sniffing & AnalysisStatic AnalysisDynamic Analysis (Sandboxing)Web Proxies & InterceptionMobile App PentestingReverse EngineeringForensicsMobile SecurityBinary AnalysisAI-Assisted Reversing
4422일 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubjankammerath/bogusmips

BogusMips

Android 앱의 디스어셈블리, 리어셈블리, 리버스 엔지니어링 및 감사를 위한 포렌식 분석

저장소 보기

BogusMips

GitHub Sponsor

BogusMips는 Rust로 작성되었으며, Android 앱이 어디까지 디스어셈블될 수 있는지 분석을 수행할 수 있게 해줍니다. 앱의 *.apk 또는 *.xapk 파일을 열어 앱이 어디까지 디스어셈블될 수 있는지 확인할 수 있습니다.

Download BogusMips for Windows x64
Download BogusMips for Windows ARM64
Download BogusMips for macOS
모든 릴리스 및 변경 로그

BogusMips 디스어셈블러로 추출한 소스 코드 및 리소스

기능

  • VS Code 스타일 인터페이스(Dark+ 색상): Explorer 및 Search 뷰가 있는 사이드바 카드, 탭과 브레드크럼이 있는 편집기, 파일 정보 패널 및 상태 표시줄. File 및 View 메뉴는 macOS 메뉴 막대에 있으며, Windows에서는 창의 메뉴 막대에 있습니다.
  • File → Open…(⌘O / Ctrl+O)으로 *.apk 또는 *.xapk를 열거나, 창에 드롭하거나, 명령줄 인수로 전달하여 엽니다.
  • 왼쪽: 패키지 트리
    • 소스 코드: 모든 classes*.dex 파일의 모든 클래스로, Java 패키지별로 그룹화되고 smali로 디스어셈블됩니다.
    • 리소스: resources.arsc가 컴파일 원본인 res/values*/*.xml 파일(strings, colors, dimens, styles, attrs, arrays, plurals 등)로 디코딩되며, 모든 리소스 ID가 포함된 public.xml도 포함됩니다.
    • 파일: 아카이브의 모든 항목.
    • XAPK 번들은 포함된 각 APK(기본 및 분할 APK)를 별도로 표시합니다.
    • 필터 상자(⌘F) 및 화살표 키를 통한 키보드 탐색.
    • 항목을 마우스 오른쪽 버튼으로 클릭하거나(File → Export…, ⌘E) 내보내기: 파일은 패키지에 저장된 그대로 또는 표시된 대로(디코딩된 바이너리 XML, 정리된 텍스트) 내보내고, 클래스는 .smali로, 생성된 리소스 파일은 XML로, XAPK에 포함된 APK는 .apk로 내보냅니다.
  • 검색(⇧⌘F): 모든 클래스(smali), 텍스트 파일, 디코딩된 XML 및 생성된 리소스 파일의 내용을 검색하며, 대/소문자 구분 / 단어 단위 / 정규식 옵션을 제공합니다. 결과를 클릭하면 편집기에서 일치하는 항목이 강조 표시된 상태로 열립니다. 검색 인덱스는 첫 검색 시 백그라운드에서 구축됩니다.
  • 가운데: 선택한 항목의 내용
    • 클래스는 smali(baksmali 호환 출력)로 표시됩니다.
    • 바이너리 XML(AndroidManifest.xml, res/**/*.xml)은 디코딩됩니다. 리소스 참조는 이름(@string/app_name, @android:style/Theme)으로, 속성 값은 기호 이름(protectionLevel="signature")으로 확인됩니다.
    • 이미지는 미리보기로, 텍스트는 텍스트로, 그 외 모든 것은 16진수 덤프로 표시됩니다.
    • 축소된 JSON, JavaScript(React Native 번들 포함), CSS, HTML 및 XML은 구문 강조와 함께 자동으로 정리됩니다. 공백만 변경되며, Original은 파일이 저장된 그대로 표시합니다.
    • 모든 파일에 대해 16진수 보기를 사용할 수 있습니다.
  • 오른쪽: AI Agent(⇧⌘A) 및 접을 수 있는 파일 정보(⌘I):
    • AI Agent: 디스어셈블된 smali 소스 코드, 디코딩된 리소스 파일(AndroidManifest.xml, resources.arsc 값) 및 캡처된 HTTP/HTTPS 네트워크 트래픽에 대해 AI 에이전트에 프롬프트를 보냅니다. Grok(xAI), Gemini(Google), Claude(Anthropic), OpenAI(ChatGPT) 또는 모든 사용자 지정 OpenAI 호환 엔드포인트(예: Ollama, OpenRouter)로 구성할 수 있습니다. 에이전트에는 클래스, 리소스 및 캡처된 네트워크 흐름을 자율적으로 검색하고 읽을 수 있는 내장 도구(search_package, list_nodes, read_node, list_network_flows, inspect_network_flow)가 있습니다.
    • 파일 / 요청 정보: 크기, 압축, CRC, SHA-256, DEX 헤더 세부 정보, 클래스 세부 정보, 매니페스트 요약, 권한 및 발견된 모든 이상 징후.

네트워크 캡처를 기반으로 Python 스크립트를 작성하는 Grok

네트워크

Network 뷰(⇧⌘N)는 Postman과 유사한 간소화된 트래픽 스니퍼입니다. Android 에뮬레이터(AVD)를 시작하고, 게스트의 트래픽을 내장된 중간자 프록시를 통해 라우팅하고, 열린 APK/XAPK를 설치 및 실행한 뒤, 해당 앱의 HTTP 및 HTTPS 요청을 실시간으로 캡처합니다. 캡처된 요청은 왼쪽 목록에 표시되며, 하나를 선택하면 전체 요청/응답(헤더와 본문, pretty / raw / hex)이 타이밍 및 연결 세부 정보와 함께 정보 패널의 편집기에 표시됩니다.

앱 네트워크 트래픽 분석

전체 HTTPS 복호화에는 루팅 가능한 에뮬레이터 이미지(google_apis / aosp_atd, google_apis_playstore는 아님)가 필요합니다. 프록시의 CA를 시스템 신뢰 앵커로 설치해야 하기 때문입니다. 시작 시 BogusMips는 adb root를 활성화하고 생성된 CA(세션별 단기 CA, PEM 형식)를 시스템 및 Conscrypt(APEX) 신뢰 저장소에 설치합니다. Android 14+(API 34+)에서는 해당 저장소가 프로세스별 마운트 네임스페이스에 존재하므로, CA는 오버레이 디렉터리에 배치되고 — system_security_cacerts_file SELinux 컨텍스트로 재레이블링되며(파일 및 디렉터리 모두, 그렇지 않으면 앱의 접근이 거부됨) — nsenter를 통해 모든 프로세스의 마운트 네임스페이스에서 저장소 위에 바인드 마운트됩니다. 대상 앱은 이 이후에 설치되고 실행되므로 새로 포크되어 시스템 신뢰 저장소를 사용하는 HTTPS가 복호화됩니다. 호스트별 리프 인증서는 단기이며 체인에 CA 없이 전송되어, 398일 최대 인증서 유효 기간을 강제하는 클라이언트를 만족시킵니다.

주의 사항 — 복호화할 수 없는 대상:

  • Chrome 및 WebView / Chromium 기반 앱. 최신 Chromium(Chrome 브라우저, Android System WebView, Cronet 네트워킹 라이브러리)은 Chrome Root Store로 서버 인증서를 검증하며, 이는 사용자 또는 관리자가 설치한 시스템 CA를 무시합니다. 이러한 앱은 ERR_CERT_AUTHORITY_INVALID를 표시하며, 트래픽은 프록시에 도달하지만 TLS 핸드셰이크가 거부됩니다. 많은 하이브리드 앱(Cordova/Capacitor/Ionic)은 WebView에서 렌더링되므로 이 범주에 속합니다.
  • 인증서 피닝을 사용하는 앱으로, 특정 알려진 인증서만 허용합니다.
  • Google 자체 서비스(*.google.com으로 향하는 Play Services / GMS 트래픽)로, 추가로 Certificate Transparency를 요구합니다.

복호화되는 대상: Android 시스템 신뢰 저장소를 사용하는 앱 — HttpURLConnection, OkHttp/Retrofit, Conscrypt 및 대부분의 네이티브 네트워킹. (이미 실행 중인 캐시된 시스템 프로세스는 다시 포크되지 않으므로 재시작할 때까지 신뢰 앵커 오류를 계속 표시할 수 있습니다. 이는 실행된 대상 앱에는 영향을 주지 않습니다.)

사용자 지정 Frida 및 CodeShare 스크립트. Network 뷰의 Frida scripts 아래에서 원하는 수만큼 Frida 스크립트를 추가하고, 캡처 세션에 대해 frida-gadget(wrap.<package> / LD_PRELOAD)을 통해 주입할 스크립트를 개별적으로 토글할 수 있습니다:

  • Frida CodeShare 프로젝트를 slug(dzonerzy/aesinfo), CLI 구문(frida --codeshare dzonerzy/aesinfo) 또는 URL(https://codeshare.frida.re/@dzonerzy/aesinfo/)로 지정 — CodeShare API에서 가져와 ~/.cache/bogusmips/codeshare/에 캐시됩니다.
  • 로컬 .js 스크립트 파일(입력 또는 파일 선택 버튼으로 선택) 및 직접 https:// 스크립트 URL.
  • 실시간 UI 상태 피드백(Loading…, Armed, ✔ Working (N), 또는 ✖ Error)은 각 활성화된 스크립트가 로드되어 앱 내에서 실행 중인지 여부를 보여주며, console.log(...) 또는 send(...)를 통해 출력된 내용은 캡처 중 logcat에서 접을 수 있는 Log 뷰로 스트리밍됩니다. 구성된 스크립트 목록과 활성화 상태는 ~/.config/bogusmips/frida.json에 저장됩니다.

제한 사항: 이 기능은 frida의 Java 계측을 사용하므로 frida가 지원하는 Android 이미지가 필요합니다 — 최신 프리뷰 API 레벨(예: API 37)은 아직 frida에서 지원되지 않아 작동하지 않습니다. API 34/35 루팅 가능 이미지를 사용하세요. 고정된 frida 버전은 BOGUSMIPS_FRIDA_VERSION 환경 변수로 재정의할 수 있습니다. 가젯이 LD_PRELOAD를 통해 주입되고 앱을 일시 중단할 수 없기 때문에, 훅은 실행 직후에 적용됩니다(frida는 그보다 더 이른 시점에 ART를 안전하게 건드릴 수 없음) — 따라서 앱 시작 극초반에 실행되는 검사는 여전히 경쟁에서 이길 수 있어 안정적으로 우회되지 않습니다. 이를 극복하려면 가젯 대신 frida spawn-gating(frida-server)이 필요합니다. 또한 네이티브 코드로 구현된 검사, 자체 난독화/중복 탐지기를 가진 앱, 또는 Play Integrity API와 같은 서버 측 증명은 무력화할 수 없습니다.

모든 파서(ZIP, DEX, smali 디스어셈블러, 바이너리 XML, 리소스 테이블)는 이 저장소에 구현되어 있습니다. 이들은 명세가 아닌 Android의 동작 방식을 따르므로, 다른 도구를 깨뜨리는 트릭이 있어도 여전히 열립니다. 예: 잘못된 추가 필드, 가짜 암호화 플래그, CRC 불일치, 위조된 압축 방식. 이러한 트릭은 경고로 보고됩니다.

Android 프레임워크 리소스의 이름은 media/android/framework-resources.txt에서 가져오며, 이 파일은 tools/gen_framework_resources.py를 사용하여 Android SDK에서 생성됩니다(AOSP, Apache License 2.0).

UI는 바이너리에 내장된 Hack 폰트를 사용합니다(media/fonts, 해당 라이선스 참조).

빌드 및 실행

Rust 1.85 이상이 필요합니다.

cargo run                         # debug build
cargo run --release -- app.apk    # optimized build, opening a file directly

테스트

cargo test
BOGUSMIPS_TEST_APK=path/to/app.apk cargo test --release   # also render every node of a real package

개발자 도구:

도구 다운로드