vlitz-0.1.8 is not a library.
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
The binary will be available at target/release/vlitz
Usage
Basic Commands
# Show help
# List processes
# Attach to a process by name
# Attach to a process by PID
# Connect to USB device
# Connect to remote Frida server
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
# For Zsh
# Move to your zsh completions directory
# For Fish
Examples
Analyze a Running Application
# List all running processes
# Attach to a specific application
# Kill a process
Remote Debugging
# Connect to a remote Android device
# Attach to an Android 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
# Release build
# Run tests
# Check code formatting
# Run clippy for linting
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.