Giter Site home page Giter Site logo

serialproxy's Introduction

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.

serialproxy's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.