Skip to content

Commit bc20a52

Browse files
committed
Initial commit (v1.0.2)
0 parents  commit bc20a52

File tree

194 files changed

+8522
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+8522
-0
lines changed

.gitignore

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.build/
9+
.buildlog/
10+
.history
11+
.svn/
12+
migrate_working_dir/
13+
14+
# IntelliJ related
15+
*.iml
16+
*.ipr
17+
*.iws
18+
.idea/
19+
.metadata
20+
21+
# Flutter/Dart/Pub related
22+
**/doc/api/
23+
.dart_tool/
24+
.flutter-plugins-dependencies
25+
.pub-cache/
26+
.pub/
27+
/build/
28+
/coverage/
29+
30+
# Symbolication related
31+
app.*.symbols
32+
33+
# Obfuscation related
34+
app.*.map.json
35+
36+
# Android Studio will place build artifacts here
37+
/android/app/debug
38+
/android/app/profile
39+
/android/app/release
40+
41+
# Android specific
42+
/android/.gradle
43+
/android/captures/
44+
/android/gradlew
45+
/android/gradlew.bat
46+
/android/local.properties
47+
/android/key.properties
48+
/android/app/google-services.json
49+
/android/app/src/main/res/values/google-services.xml

README.md

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
# 🚀 AndroBuster
2+
3+
<div align="center">
4+
<img width="2808" height="699" alt="bannerfinal" src="https://github.com/user-attachments/assets/7f74539f-0af6-40d9-bafb-9207afd80af8" />
5+
6+
</div>
7+
8+
<div align="center">
9+
10+
**🔒 Pentesting Made Easy**
11+
*A powerful directory and subdomain enumeration tool built with Flutter*
12+
13+
[![Download APK](https://img.shields.io/badge/Download-APK-blue?style=for-the-badge&logo=android)](https://github.com/BlackHatDevX/androbuster/releases)
14+
[![GitHub stars](https://img.shields.io/github/stars/BlackHatDevX/androbuster?style=for-the-badge&logo=github)](https://github.com/BlackHatDevX/androbuster)
15+
[![GitHub forks](https://img.shields.io/github/forks/BlackHatDevX/androbuster?style=for-the-badge&logo=github)](https://github.com/BlackHatDevX/androbuster)
16+
[![GitHub issues](https://img.shields.io/github/issues/BlackHatDevX/androbuster?style=for-the-badge&logo=github)](https://github.com/BlackHatDevX/androbuster/issues)
17+
18+
</div>
19+
20+
---
21+
22+
## 📖 Overview
23+
24+
AndroBuster is an **open-source security tool** inspired by GoBuster, providing a modern, cross-platform interface for directory and subdomain enumeration. Built with Flutter, it offers a clean, intuitive user experience while maintaining the power and flexibility expected from professional security tools.
25+
26+
### 🎯 What Makes AndroBuster Special?
27+
- 🚀 **Cross-Platform**: Works on Android, iOS, and Desktop
28+
- 🔒 **Security-Focused**: Built specifically for penetration testers
29+
- 💻 **Modern UI**: Beautiful Flutter-based interface
30+
-**High Performance**: Efficient threading and memory management
31+
- 📱 **Mobile-First**: Optimized for mobile security testing
32+
33+
---
34+
35+
## 🖼️ Screenshots
36+
37+
<div align="center">
38+
39+
<img width="339" height="749" alt="Screenshot 2025-08-20 at 1 11 24 AM" src="https://github.com/user-attachments/assets/e12ed93e-876f-408b-9e3d-4a849e8fe2a1" />
40+
<img width="339" height="749" alt="Screenshot 2025-08-20 at 1 11 34 AM" src="https://github.com/user-attachments/assets/17850561-cef9-46e2-8203-8ba29c223fe7" />
41+
42+
</div>
43+
44+
---
45+
46+
47+
48+
## ✨ Features
49+
50+
### 🗂️ Directory Enumeration Mode
51+
- **Target URL Input**: Clean URL handling with automatic trailing slash removal
52+
- **Negative Status Codes**: Filter out unwanted HTTP status codes (default: 404)
53+
- **Negative Page Sizes**: Exclude responses based on content length
54+
- **Wordlist Support**: Large text input with file import capability
55+
- **Threading Control**: Configurable thread count for optimal performance
56+
- **Timeout Settings**: Customizable request timeout in milliseconds
57+
58+
### 🌐 Subdomain Enumeration Mode
59+
- **Domain Input**: Clean domain handling (no http/https required)
60+
- **Subdomain Wordlists**: Dedicated wordlist management for subdomain discovery
61+
- **Protocol Testing**: Automatic HTTPS/HTTP fallback testing
62+
- **Subdomain Validation**: RFC 1123 compliant subdomain name validation
63+
- **Dedicated Filters**: Separate negative status codes and page sizes for subdomains
64+
- **Threading & Timeout**: Independent configuration from directory mode
65+
66+
### 📋 Results Management
67+
- **Unified Results Tab**: View both directory and subdomain scan results
68+
- **Result Formatting**: Clear display of path, status code, size, and URL
69+
- **Copy to Clipboard**: Export results for external analysis
70+
- **Clear Results**: Easy cleanup between scans
71+
- **Result Counts**: Separate tracking for directory and subdomain results
72+
73+
### 📁 File Management
74+
- **Wordlist Import**: Support for .txt files up to 50MB
75+
- **Smart Preview**: File size-aware content display
76+
- **Large File Handling**: Efficient processing of massive wordlists
77+
- **Format Support**: Handles comments (#) and empty lines automatically
78+
79+
### 🚀 Performance & Reliability
80+
- **Background Execution**: App continues running during background scans
81+
- **Memory Optimization**: Efficient handling of large wordlists
82+
- **Error Handling**: Graceful fallback and recovery mechanisms
83+
- **Cross-Platform**: Built with Flutter for Android and iOS
84+
85+
86+
87+
---
88+
89+
## 📱 Installation
90+
91+
### 📦 Release Build
92+
Currently, only Android APK releases are available. Download the latest APK from the releases page.
93+
94+
<div align="center">
95+
96+
[![Download Latest](https://img.shields.io/badge/📥%20Download%20Latest%20Release-blue?style=for-the-badge)](https://github.com/BlackHatDevX/androbuster/releases)
97+
98+
</div>
99+
100+
### 🔧 Building from Source
101+
The source code is now public and available for everyone to use, modify, and contribute to.
102+
103+
---
104+
105+
## 📖 Usage Guide
106+
107+
### 🗂️ Directory Enumeration
108+
1. Navigate to the "Dir" tab
109+
2. Enter your target URL
110+
3. Configure negative status codes and page sizes
111+
4. Paste or import your wordlist
112+
5. Set thread count and timeout
113+
6. Start the scan and monitor progress
114+
115+
### 🌐 Subdomain Enumeration
116+
1. Navigate to the "Subdomain" tab
117+
2. Enter the target domain (without http/https)
118+
3. Configure subdomain-specific filters
119+
4. Import or paste subdomain wordlist
120+
5. Adjust threading and timeout settings
121+
6. Begin subdomain discovery
122+
123+
### 📋 Results Management
124+
- View all results in the "Results" tab
125+
- Copy results to clipboard for external analysis
126+
- Clear results between different scans
127+
- Monitor scan progress and completion
128+
129+
---
130+
131+
## ⚙️ Configuration
132+
133+
### ⚡ Thread Count
134+
- **Recommended**: 10-20 threads for most scenarios
135+
- **High Thread Warning**: Alerts when exceeding 20 threads
136+
- **Considerations**: Higher threads may trigger rate limiting
137+
138+
### ⏱️ Timeout Settings
139+
- **Default**: 5000ms (5 seconds)
140+
- **Adjustment**: Increase for slower networks, decrease for faster responses
141+
- **Range**: 1000ms to 30000ms supported
142+
143+
### 🚫 Negative Filters
144+
- **Status Codes**: Comma-separated list (e.g., 404,403,500)
145+
- **Page Sizes**: Comma-separated list (e.g., 0,1234,5678)
146+
- **Purpose**: Exclude unwanted responses from results
147+
148+
---
149+
150+
## 🤝 Contributing
151+
152+
This project is **open source** and welcomes contributions! The source code is now public and available for everyone.
153+
154+
<div align="center">
155+
156+
[![Star Repository](https://img.shields.io/badge/⭐%20Star%20Repository-yellow?style=for-the-badge&logo=github)](https://github.com/BlackHatDevX/androbuster)
157+
158+
</div>
159+
160+
### 📋 How to Contribute
161+
1. **⭐ Star** the repository (optional but appreciated!)
162+
2. **🍴 Fork** the repository
163+
3. **🌿 Create** a feature branch
164+
4. **📤 Submit** a pull request
165+
166+
---
167+
168+
## 🙏 Credits & Acknowledgments
169+
170+
- **🎯 Inspired by**: [GoBuster](https://github.com/OJ/gobuster) - The original directory enumeration tool
171+
- **🛠️ Built with**: [Flutter](https://flutter.dev/) - Google's UI toolkit for building natively compiled applications
172+
- **🔒 Security Focus**: Designed for penetration testers and security researchers
173+
- **🌍 Community**: Thanks to all contributors and supporters
174+
175+
---
176+
177+
## 📄 License
178+
179+
This project is **open source** and available under the MIT License.
180+
181+
---
182+
183+
## ⚠️ Disclaimer
184+
185+
This tool is designed for **authorized security testing** and **penetration testing purposes only**. Users are responsible for ensuring they have proper authorization before testing any systems. The developers are not responsible for any misuse of this tool.
186+
187+
---

analysis_options.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
include: package:flutter_lints/flutter.yaml

android/.gitignore

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
gradle-wrapper.jar
2+
/.gradle
3+
/captures/
4+
/gradlew
5+
/gradlew.bat
6+
/local.properties
7+
GeneratedPluginRegistrant.java
8+
.cxx/
9+
10+
# Remember to never publicly share your keystore.
11+
# See https://flutter.dev/to/reference-keystore
12+
key.properties
13+
**/*.keystore
14+
**/*.jks

android/app/build.gradle.kts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
plugins {
2+
id("com.android.application")
3+
id("kotlin-android")
4+
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
5+
id("dev.flutter.flutter-gradle-plugin")
6+
}
7+
8+
android {
9+
namespace = "com.blackhatdevx.androbuster"
10+
compileSdk = flutter.compileSdkVersion
11+
ndkVersion = flutter.ndkVersion
12+
13+
compileOptions {
14+
sourceCompatibility = JavaVersion.VERSION_11
15+
targetCompatibility = JavaVersion.VERSION_11
16+
}
17+
18+
kotlinOptions {
19+
jvmTarget = JavaVersion.VERSION_11.toString()
20+
}
21+
22+
defaultConfig {
23+
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
24+
applicationId = "com.blackhatdevx.androbuster"
25+
// You can update the following values to match your application needs.
26+
// For more information, see: https://flutter.dev/to/review-gradle-config.
27+
minSdk = flutter.minSdkVersion
28+
targetSdk = flutter.targetSdkVersion
29+
versionCode = flutter.versionCode
30+
versionName = flutter.versionName
31+
}
32+
33+
buildTypes {
34+
release {
35+
// TODO: Add your own signing config for the release build.
36+
// Signing with the debug keys for now, so `flutter run --release` works.
37+
signingConfig = signingConfigs.getByName("debug")
38+
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
39+
}
40+
}
41+
}
42+
43+
dependencies {
44+
implementation("com.google.android.play:core:1.10.3")
45+
}
46+
47+
flutter {
48+
source = "../.."
49+
}

android/app/proguard-rules.pro

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Flutter specific rules
2+
-keep class io.flutter.app.** { *; }
3+
-keep class io.flutter.plugin.** { *; }
4+
-keep class io.flutter.util.** { *; }
5+
-keep class io.flutter.view.** { *; }
6+
-keep class io.flutter.** { *; }
7+
-keep class io.flutter.plugins.** { *; }
8+
9+
# App specific rules
10+
-keep class com.blackhatdevx.androbuster.** { *; }
11+
-keep class * implements java.io.Serializable { *; }
12+
13+
# Network related classes
14+
-keep class * extends java.net.HttpURLConnection { *; }
15+
-keep class * extends java.net.URLConnection { *; }
16+
-keep class * extends java.net.Socket { *; }
17+
18+
# Keep reflection
19+
-keepattributes *Annotation*
20+
-keepattributes SourceFile,LineNumberTable
21+
-keepattributes Signature
22+
-keepattributes Exceptions
23+
24+
# Keep native methods
25+
-keepclasseswithmembernames class * {
26+
native <methods>;
27+
}
28+
29+
# Keep enum values
30+
-keepclassmembers enum * {
31+
public static **[] values();
32+
public static ** valueOf(java.lang.String);
33+
}
34+
35+
# Keep Parcelable
36+
-keep class * implements android.os.Parcelable {
37+
public static final android.os.Parcelable$Creator *;
38+
}
39+
40+
# Keep R classes
41+
-keep class **.R$* {
42+
public static <fields>;
43+
}
44+
45+
# Google Play Core rules (fixes missing classes error)
46+
-keep class com.google.android.play.core.** { *; }
47+
-keep class com.google.android.play.core.splitcompat.** { *; }
48+
-keep class com.google.android.play.core.splitinstall.** { *; }
49+
-keep class com.google.android.play.core.tasks.** { *; }
50+
51+
# Additional Flutter rules
52+
-keep class io.flutter.embedding.engine.** { *; }
53+
-keep class io.flutter.embedding.android.** { *; }
54+
-keep class io.flutter.plugin.** { *; }
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<!-- The INTERNET permission is required for development. Specifically,
3+
the Flutter tool needs it to communicate with the running application
4+
to allow setting breakpoints, to provide hot reload, etc.
5+
-->
6+
<uses-permission android:name="android.permission.INTERNET"/>
7+
</manifest>

0 commit comments

Comments
 (0)