Skip to content

hangga/ApiEndpointExtractor

Repository files navigation

APK API Endpoint Extractor

A simple desktop GUI tool to poke around APKs and fish out hidden API endpoints. It tries to crack the APK open with jadx, and if jadx throws a tantrum, dexlib2 steps in as backup so you still catch those juicy strings. Perfect for security folks, reverse engineers, or just developers who are curious about what their own APKs are really up to 😁 — as long as the APK isn’t heavily obfuscated, of course.

✨ Features

  • Extract API endpoints from popular HTTP libraries:
    • Retrofit (@GET, @POST, etc.)
    • OkHttp
    • Volley
    • Ktor
  • Detect generic URLs via regex.
  • Decompile with jadx.
  • Fallback string extraction with dexlib2 (smali-level).
  • APK metadata extraction (package name, version, etc.) via apk-parser.
  • Interactive Swing-based GUI with progress updates.

🛠 Dependencies

This project uses the following libraries:

  • jadx-core → Java decompiler for Android.
  • dexlib2 → Dalvik bytecode parsing.
  • apk-parser → Extracts APK metadata (package name, manifest, resources).
  • Java Swing (built-in) → GUI.

All dependencies are pulled via Gradle.

📸 Screenshot

screenshot

🚀 Getting Started

1. Clone the Repository

git clone https://github.com/hangga/ApiEndpointExtractor.git
cd ApiEndpointExtractor

2. Build the Fat JAR

We use Gradle Shadow to package all dependencies:

./gradlew shadowJar

The runnable JAR will be in:

build/libs/EndpointExtractorGUI-1.0-SNAPSHOT-all.jar

3. Run the Tool

java -jar build/libs/EndpointExtractorGUI-1.0-SNAPSHOT-all.jar

⚙️ Requirements

  • Java 17+ (recommended)
  • Gradle 8+
  • Internet (for first-time dependency download)

📖 Usage

  1. Launch the app (java -jar ...).
  2. Click Browse to select an .apk file.
  3. Wait until decompilation + scanning finishes.
  4. View extracted endpoints in the result area.
  5. Use Export to save results to text file.

🏗️ Project Structure

src/main/java/id/web/hangga/
 ├── ApiEndpointExtractor.java   # Main GUI
 └── ApkAnalyzer.java            # APK analysis & Jadx integration

🧩 Tech Stack

  • Java 17
  • Swing (UI)
  • Jadx (APK decompilation)
  • Gradle + ShadowJar

📜 License

MIT License © 2025 \Hangga Aji Sayekti

About

A desktop GUI tool for analyzing APK files and extracting potential API endpoints.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages