SerialProxy Save Abandoned

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

Project README

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.

Open Source Agenda is not affiliated with "SerialProxy" Project. README Source: earthlion/SerialProxy
Stars
40
Open Issues
0
Last Commit
2 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating