HVNC PoC (Hidden VNC) in Rust
Disclaimer: This project is intended solely for educational and research purposes. Unauthorized use on systems you do not own or have explicit permission to test is strictly prohibited. The author assumes no liability for any misuse or damage caused by this code.
HVNC PoC (Hidden Virtual Network Computing) is a Rust-based proof-of-concept demonstrating how to create a hidden Windows desktop, launch Google Chrome within it, and capture screenshots of the hidden browser window—all without displaying Chrome to the main user session.
- 🖥️ Hidden Desktop: Creates a hidden Windows desktop using native Win32 APIs
- 🌐 Chrome Automation: Launches Google Chrome in the hidden desktop
- 🪟 Window Enumeration: Detects and enumerates Chrome windows
- 📸 Screenshot Capture: Captures and saves screenshots of Chrome windows
- Hidden Desktop Creation: Uses Win32 APIs to create and switch to a hidden desktop.
- Chrome Launch: Starts a new Chrome process in the hidden desktop.
- Window Enumeration: Finds Chrome windows and checks their visibility.
- Screenshot Capture: Captures the window content and saves it as a PNG file.
- Windows 10/11 (x64)
- Rust toolchain (1.70 or newer recommended)
- Google Chrome (default path:
C:\Program Files\Google\Chrome\Application\chrome.exe
) - Rust dependencies (managed by Cargo):
- Clone the repository:
git clone <this-repo-url> cd hidden-vnc
- Edit the Chrome path if needed:
Open
src/main.rs
and update thechrome_path
variable if your Chrome is installed elsewhere. - Build the project:
cargo build --release
Run the PoC from the project root:
cargo run --release
- Screenshots will be saved in the
screenshots/
directory. - The program will print status messages to the console, including the location of saved screenshots and any errors encountered.
├── src/
│ └── main.rs # Main PoC logic
├── screenshots/ # Output directory for screenshots
├── Cargo.toml # Rust dependencies and metadata
└── README.md # Project documentation
This project is licensed under the MIT License. See LICENSE for details.
Author: Eduardo Contin
Contact: [email protected]