3 unstable releases
| 0.2.2 | Jan 8, 2026 |
|---|---|
| 0.1.8 | Jan 8, 2026 |
| 0.1.0 | Jan 8, 2026 |
#206 in Hardware support
320KB
8K
SLoC
Vlitz
A strong dynamic debugger CLI tool based on Frida
Overview
Vlitz is a powerful command-line interface tool that leverages Frida's dynamic instrumentation capabilities to provide advanced debugging and analysis features for applications across multiple platforms.
Features
- Dynamic Process Analysis: Attach to running processes and analyze their behavior in real-time
- Cross-Platform Support: Works on Windows, macOS, Linux, iOS, and Android
- Multiple Connection Methods: Connect via USB, remote servers, or local devices
- Process Management: List, filter, and manage target processes
- Interactive Shell: Provides an interactive environment for dynamic analysis
- Shell Completion: Built-in shell completion support for improved productivity
Installation
Prerequisites
- Rust 1.70 or later
- Frida (automatically downloaded when using the
auto-downloadfeature)
From Source
git clone https://github.com/your-username/vlitz.git
cd vlitz
cargo build --release
The binary will be available at target/release/vlitz
Usage
Basic Commands
# Show help
vlitz --help
# List processes
vlitz ps
# Attach to a process by name
vlitz attach -n "target_app"
# Attach to a process by PID
vlitz attach -p 1234
# Connect to USB device
vlitz -U ps
# Connect to remote Frida server
vlitz -H 192.168.1.100 ps
Connection Options
-D, --device <ID>: Connect to device with the given ID-U, --usb: Connect to USB device-R, --remote: Connect to remote frida-server-H, --host <HOST>: Connect to remote frida-server on HOST
Process Selection
-p, --pid <PID>: Target process by Process ID-n, --name <NAME>: Target process by name-f, --file <FILE>: Target process by spawning executable
Shell Completion
Generate shell completion scripts:
# For Bash
vlitz --generate-completion bash > vlitz.bash
source vlitz.bash
# For Zsh
vlitz --generate-completion zsh > _vlitz
# Move to your zsh completions directory
# For Fish
vlitz --generate-completion fish > vlitz.fish
source vlitz.fish
Examples
Analyze a Running Application
# List all running processes
vlitz ps
# Attach to a specific application
vlitz attach -n "notepad.exe"
# Kill a process
vlitz kill -p 1234
Remote Debugging
# Connect to a remote Android device
vlitz -U ps
# Attach to an Android app
vlitz -U attach -n "com.example.app"
Project Structure
src/
├── core/ # Core functionality
│ ├── actions.rs # Action handlers
│ ├── cli.rs # CLI argument parsing
│ ├── kill.rs # Process termination
│ ├── manager.rs # Process management
│ └── ps.rs # Process listing
├── gum/ # Frida Gum integration
│ ├── commander.rs # Command execution
│ ├── filter.rs # Process filtering
│ ├── handler.rs # Event handling
│ └── list.rs # Process enumeration
├── util/ # Utility functions
└── main.rs # Application entry point
Dependencies
- clap: Command-line argument parsing with derive support
- frida: Frida bindings for Rust with auto-download capability
- crossterm: Cross-platform terminal manipulation
- rustyline: Readline implementation for interactive shells
- serde/serde_json: Serialization and JSON handling
- regex: Regular expression support
- ctrlc: Signal handling for graceful shutdown
Development
Building
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
# Check code formatting
cargo fmt
# Run clippy for linting
cargo clippy
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
[Add your license information here]
Acknowledgments
- Frida - The dynamic instrumentation toolkit that powers this tool
- The Rust community for excellent crates and documentation
Support
If you encounter any issues or have questions, please:
- Check the Issues page
- Create a new issue with detailed information about your problem
- Include your operating system, Rust version, and steps to reproduce
Note: This tool is designed for legitimate security research, debugging, and educational purposes. Please use responsibly and in accordance with applicable laws and regulations.
Dependencies
~16–37MB
~542K SLoC