🖱️⌨️ Arduino Input Proxying for PC (.NET Core)

Overview

SerialProxy

SerialProxy is a complete MiTM solution for modifying 🖱️ mouse & ⌨️ keyboard input against highly sophisticated FPS anti-cheats (ESEA/Faceit/Vanguard/...). This .NET Core package provides convenient access to the Teensy 4.1 interface to get/set proper input values over the provided USB Host Shield.

    --------------------                 --------------                    ------------
    | USB Mouse/Keyboard | --[USB HUB]-- | Teensy 4.1 | --[FAKE HID USB]-- | Computer |
    --------------------                 --------------                    ------------
                                               |                                | [Serial USB]
                                               |              -------------------------
                                               ---[SERIAL]--- | USB To SERIAL Adapter |
                                                              -------------------------

An optional second PC can be used to circumvent any memory analysis by any anticheat.

Features

  • Set Mouse Cursor Position (Relative X,Y)
  • Set Mouse Scroll (Relative Y)
  • Set Mouse Press/Release (Left, Right, Middle, Back, Forward)
  • Set Keyboard Press/Release (Keyboard Codes)
  • Get realtime Keyboard/Mouse Data (Being pressed on the real HID device)

Quickstart Guide

Preparation:

  1. Check this Tutorial in order to build your Arduino
  2. Override Arduino files (USB Mode Modification + Keyboard Interception)
  3. Select "Logitech USB Receiver" in Arduino IDE, Paste *.ino script, flash it
  4. Modify input signal using .NET Core Library
string serialPort = "COM3";

// Setup arduino mouse
DotNetSerialAdaptor serial = null;
try
{
    serial = new DotNetSerialAdaptor(serialPort);
    Console.Error.WriteLine($"Arduino connected successfully on port {serialPort}");
}
catch (Exception)
{
    Console.Error.WriteLine($"Cannot connect to port {serialPort}!");
    return;
}

Mouse = new SerialProxy.Mouse(serial);
Keyboard = new SerialProxy.Keyboard(serial);

// Modify fake mouse
Mouse.SetMousePos(0, -10);

Example codes

All methods can be found in Mouse.cs and Keyboard.cs, Testbench. If you have any questions, feel free to open an issue on Github.

Resources

🌎 Nuget
🕵️‍♂️ HID Fingerprinting

Credits

🧍 Me - API
🧍 mysnphit - Base

License

This project is released under MIT License. Please refer the LICENSE.txt for more details.

You might also like...
Mirror of the HPSx64 Repository on Sourceforge.net

Full Program Name: Highly-Experimental Playstation Simulator x64 Program Author: TheGangster Platforms: Windows 64-bit Contents: hps1x64 - Playstat

Gaming Input Peripherals Device Firewall for Windows.
Gaming Input Peripherals Device Firewall for Windows.

HidHide ⚠️ Compiling a signed BETA release is in the works, please be patient! ⚠️ Introduction Microsoft Windows offers support for a wide range of hu

Valorant cheat that abuses Logitech GHUB driver input management.

valorant-cheat Valorant cheat that uses Logitech GHUB driver input management and color detection. features Triggerbot with customizable delay (VK_SHI

Universal State Monitor software for home automation input devices

Universal State Monitor Copyright 2019-2021 SuperHouse Automation Pty Ltd www.superhouse.tv A binary state monitor for DIY home automation projects. T

Macro keypad and rotary input based on the ATmega32U4 Pro Micro board
Macro keypad and rotary input based on the ATmega32U4 Pro Micro board

JC-Pro-Macro Macro keypad and rotary input based on the ATmega32U4 Pro Micro Videos: Development: https://www.youtube.com/watch?v=g-XJLiv03rI Assembly

Small and dirty header-only library that supports user input with some more advanced features than in the standard lib.

dirty-term Small and dirty header-only library that supports user input with some more advanced features than in the standard lib. This small, lightwe

An IOS module that fakes Wiimotes from the input of USB game controllers

fakemote An IOS module that fakes Wiimotes from the input of USB game controllers. Supported USB game controllers Device Name Vendor Name Vendor ID Pr

Amos Arcade Joystick input driver for RaspberryPi
Amos Arcade Joystick input driver for RaspberryPi

am_joyin Amos Joystick Input Driver for Raspbrri-pi Arcade (or another SBC) am_joyin은 라즈베리파이를 이용하여 아케이드 게임기를 제작할 때 다양한 입력장치를 사용할 수 있도록 기획되고 제작되었다. 기본적

Automatic adds AFIX instructions for hydrogen atoms to SHELX input file based on geometry and residual desity

autoHFIX Adds AFIX instructions for hydrogen atoms to SHELX input files based on geometry and residual desity automatically Usage: autoHFIX.exe [-opti

Owner
earthlion
⚔️ The best defense is a good offense.
earthlion
Arduino core for GD32 devices, community developed, based on original GigaDevice's core

GD32 Arduino Core (New) This is a Arduino core is based off of the original GigaDevice core that was provided by the company in early June 2021 (see h

null 43 Nov 26, 2022
Raspberry Pi Pico Arduino core, for all RP2040 boards

Arduino-Pico Raspberry Pi Pico Arduino core, for all RP2040 boards This is a port of the RP2040 (Raspberry Pi Pico processor) to the Arduino ecosystem

Earle F. Philhower, III 866 Dec 5, 2022
Arduino Core for Deneyap DevKits

Deneyap Kart Arduino Core FOR TURKISH VERSION Deneyap Kart, designed and manufactured in Turkey, is a powerful development board with its strong MCU,

Deneyap Kart 37 Dec 1, 2022
Voltage Controlled Digital Core Multimode Oscillator using Mozzi library on Arduino

Arduino-VDCO Voltage Controlled Digital Core Multimode Oscillator using Mozzi library on Arduino Its a digital Oscillator/Voice for the Eurorack Stand

null 45 Nov 19, 2022
ESP8266 core for Arduino

Arduino core for ESP8266 WiFi chip Quick links Latest release documentation Current "git version" documentation Install git version (sources) Arduino

ESP8266 Community Forum 14.6k Nov 30, 2022
Capture Minidump of .NET Applications

This repository bundles sentry-native with Google's crashpad and distribute via NuGet with a .NET API to initialize. It allows capturing minidumps of .NET applications caused by native libraries or the .NET runtime itself.

Sentry 21 Dec 3, 2022
anthemtotheego 392 Dec 1, 2022
BAAF-Net - Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021)

Semantic Segmentation for Real Point Cloud Scenes via Bilateral Augmentation and Adaptive Fusion (CVPR 2021) This repository is for BAAF-Net introduce

null 89 Nov 8, 2022
Inject .NET assemblies into an existing process

inject-assembly - Execute .NET in an Existing Process This tool is an alternative to traditional fork and run execution for Cobalt Strike. The loader

Kyle Avery 364 Nov 28, 2022
A small and easy to use neural net implementation for C++. Just download and #include!

NN++ A short, self-contained, and easy-to-use neural net implementation for C++. It includes the neural net implementation and a Matrix class for basi

Gil Dekel 227 Nov 11, 2022