193 lines
6.1 KiB
Markdown
193 lines
6.1 KiB
Markdown
# ATK — Android Toolkit
|
|
|
|
> An all-in-one ADB GUI for Android power users, security researchers, and bug hunters.
|
|
|
|
Built with [Wails v2](https://wails.io) (Go + React). Runs natively on Linux, macOS, and Windows. Uses **your system ADB** — no bundled binaries, no mystery executables.
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
### 📱 Dashboard
|
|
- Live device list with connection status
|
|
- Rich device info — model, Android version, build, kernel, CPU, RAM, storage, battery, IP, root status, security patch, bootloader state
|
|
- Wireless ADB — enable TCP/IP, connect/disconnect
|
|
- One-click reboot to system / recovery / bootloader / fastboot / sideload
|
|
|
|
### 📁 File Explorer
|
|
- Browse the device filesystem
|
|
- Push, pull, rename, copy, delete, create folders
|
|
- Batch select and export multiple files
|
|
- No timeout on large transfers
|
|
|
|
### 📦 Package Manager
|
|
- List all / user / system / disabled packages
|
|
- Batch install, uninstall, enable, disable
|
|
- Pull APK from device, clear data, force stop
|
|
- Install APKs from local files
|
|
|
|
### 🛡️ Debloater
|
|
- **2,157 packages** from the Universal Android Debloater (UAD-ng) database
|
|
- Covers: Samsung, Xiaomi, OnePlus/Oppo, Huawei, Sony, Motorola, LG, Nokia, Asus, Realme, Google, Carriers, AOSP
|
|
- Safety ratings: Safe / Caution / Keep
|
|
- Dependency warnings
|
|
- Filter by manufacturer, safety level, or search
|
|
- Batch disable or uninstall for user 0
|
|
|
|
### 📜 Live Logcat
|
|
- Real-time streaming via Wails events
|
|
- Colour-coded by log level (V/D/I/W/E/F)
|
|
- Filter by level, tag, or search string
|
|
- Buffer selector: main / radio / events / crash / all
|
|
- Auto-scroll, save to file, clear buffer
|
|
|
|
### 🔍 App Inspector
|
|
- Deep package inspection: version, paths, UID, install dates, debuggable flag
|
|
- All granted permissions
|
|
- Activities, services, broadcast receivers, content providers
|
|
- Native libraries (.so files)
|
|
- Signing certificate info
|
|
- Full package dump
|
|
- Certificate pinning heuristic check (OkHttp, TrustKit, networkSecurityConfig)
|
|
|
|
### 🔒 Certificate Manager
|
|
- List all system and user CA certificates
|
|
- Install user CA certificates (for Burp Suite / mitmproxy HTTPS interception)
|
|
- Remove user certificates
|
|
- Fingerprint and expiry display
|
|
- Built-in HTTPS interception setup guide
|
|
|
|
### 💾 Device Backup
|
|
- `adb backup` with APK, shared storage, and app selection options
|
|
- Restore from `.adb` backup files
|
|
- Honest warnings about Android 12+ restrictions
|
|
|
|
### ⚙️ Prop Editor
|
|
- View all 300+ system properties grouped by category
|
|
- Search and filter
|
|
- Edit properties inline (uses root if available)
|
|
- Read-only properties clearly marked
|
|
|
|
### 💻 Shell Terminal
|
|
- Direct `adb shell` and `adb host` command execution
|
|
- Command history (arrow keys)
|
|
- No shell injection — args are split directly, no shell interpretation
|
|
|
|
### 🔧 Utilities
|
|
- **487 commands** across 15 categories:
|
|
Device Info, Processes & Memory, Battery & Power, Network & Connectivity,
|
|
Permissions & Security, Package Manager, Activities & Services, Sensors & Media,
|
|
Logs & Diagnostics, File System, Settings & Config, **Fastboot** (including all
|
|
`fastboot oem` commands), Root & Magisk, Instrumentation & Testing, Reboot
|
|
- Commands that need arguments prompt inline before running
|
|
- Search across all commands
|
|
- Output copy button
|
|
|
|
### ⚡ Flasher (Fastboot)
|
|
- Flash individual partitions
|
|
- Fastboot getvar queries
|
|
- ADB sideload
|
|
- Partition allowlist prevents accidental flashes to wrong targets
|
|
|
|
### 📲 Pixel Factory Flash
|
|
- Select a Pixel factory image zip directly from Google
|
|
- Reads `flash-all.sh` from inside the zip — executes the correct sequence automatically
|
|
- Options: wipe data, disable verity, disable verification, **force flash**, flash both slots
|
|
- Step-by-step live progress with per-step status
|
|
- Live flash log
|
|
|
|
---
|
|
|
|
## Security Design
|
|
|
|
- **No bundled binaries** — uses system `adb`/`fastboot` from your PATH
|
|
- **Settings view shows SHA-256** of whichever binary is being used — verify it yourself
|
|
- **No shell string building** — every command uses `exec.Command(binary, arg1, arg2, ...)` with discrete args passed directly to execve. No shell injection surface.
|
|
- **Input validation** — package names, partition names, IP addresses, and paths all validated before use
|
|
- **Partition allowlist** — fastboot flash only accepts known partition names
|
|
|
|
---
|
|
|
|
## Building from Source
|
|
|
|
### Prerequisites (Ubuntu/Debian)
|
|
|
|
```bash
|
|
sudo apt update
|
|
sudo apt install -y build-essential pkg-config libgtk-3-dev libwebkit2gtk-4.1-dev \
|
|
libayatana-appindicator3-dev adb fastboot curl wget git
|
|
|
|
# Go 1.23
|
|
wget https://go.dev/dl/go1.23.0.linux-amd64.tar.gz
|
|
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.0.linux-amd64.tar.gz
|
|
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bashrc
|
|
source ~/.bashrc
|
|
|
|
# Node.js 20
|
|
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
sudo apt install -y nodejs
|
|
sudo npm install -g pnpm
|
|
|
|
# Wails CLI
|
|
go install github.com/wailsapp/wails/v2/cmd/wails@latest
|
|
```
|
|
|
|
### Build
|
|
|
|
```bash
|
|
git clone https://github.com/jegly/ATK
|
|
cd ATK
|
|
go mod tidy
|
|
cd frontend && pnpm install && cd ..
|
|
wails build -tags webkit2_41
|
|
|
|
# Binary output
|
|
./build/bin/ATK
|
|
```
|
|
|
|
### Install system-wide
|
|
|
|
```bash
|
|
sudo cp build/bin/ATK /usr/local/bin/atk
|
|
```
|
|
|
|
### Build .deb package
|
|
|
|
```bash
|
|
# Install nfpm
|
|
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest
|
|
|
|
# Build binary first
|
|
wails build -tags webkit2_41
|
|
|
|
# Package as .deb
|
|
nfpm pkg --packager deb --target build/
|
|
```
|
|
|
|
### Dev mode (hot reload)
|
|
|
|
```bash
|
|
wails dev -tags webkit2_41
|
|
```
|
|
|
|
---
|
|
|
|
## Licence
|
|
|
|
ATK is licensed under the **GNU General Public License v3.0**.
|
|
|
|
The debloater package database is sourced from
|
|
[Universal Android Debloater Next Generation](https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation)
|
|
(GPL-3.0, Universal-Debloater-Alliance).
|
|
|
|
See [LICENSE](LICENSE) for full terms and third-party attributions.
|
|
|
|
---
|
|
|
|
## Acknowledgements
|
|
|
|
- [Universal Android Debloater Alliance](https://github.com/Universal-Debloater-Alliance) — package database
|
|
- [Wails](https://wails.io) — Go + Web framework
|
|
- [PixelFlasher](https://github.com/badabing2005/PixelFlasher) — Pixel flash sequence reference
|
|
- [Lucide](https://lucide.dev) — icons
|
|
- [shadcn/ui](https://ui.shadcn.com) — UI components
|