MCPcopy Create free account
hub / github.com/EduContin/hidden-vnc

github.com/EduContin/hidden-vnc @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
9 symbols 15 edges 1 files 7 documented · 78% updated 11mo ago★ 451 open issues

Browse by type

Functions 9 Types & classes 0
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

HVNC PoC (Hidden VNC) in Rust

Rust Windows


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.


Overview

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.


Table of Contents


Features

  • 🖥️ 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

How It Works

  1. Hidden Desktop Creation: Uses Win32 APIs to create and switch to a hidden desktop.
  2. Chrome Launch: Starts a new Chrome process in the hidden desktop.
  3. Window Enumeration: Finds Chrome windows and checks their visibility.
  4. Screenshot Capture: Captures the window content and saves it as a PNG file.

Requirements

  • 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):
  • image
  • anyhow
  • chrono
  • windows

Installation

  1. Clone the repository: sh git clone <this-repo-url> cd hidden-vnc
  2. Edit the Chrome path if needed: Open src/main.rs and update the chrome_path variable if your Chrome is installed elsewhere.
  3. Build the project: sh cargo build --release

Usage

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.

Project Structure

├── src/
│   └── main.rs         # Main PoC logic
├── screenshots/        # Output directory for screenshots
├── Cargo.toml          # Rust dependencies and metadata
└── README.md           # Project documentation

License

This project is licensed under the MIT License. See LICENSE for details.


Author: Eduardo Contin

Contact: eduardo.contin.04@gmail.com

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 9

Languages

Rust100%

Modules by API surface

src/main.rs9 symbols

For agents

$ claude mcp add hidden-vnc \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page