We decided to make a Hardware Based Aimbot,
Using only the RP2040 .


Demo

Introduction

There is a piece of hardware out on the market now that can allow a user to cheat in video games like the Call of Duty franchise. The hardware, known as the Cronus Max, is a USB device placed between the controller and the console. Typically, video game cheating is through injection of malicious cheating files into the games at runtime. Simply put, cheating is usually done through software. Software cheats can be detected easily, and blocked. There are numerous tutorials on how to cheat through software, but not so much on how to make your own hardware cheats. So we thought it would be a challenging and interesting project to implement our own hardware cheats. Specifically we aimed to counter the effects of recoil by injecting mouse movements to autoadjust for recoil through the pico.



Design

Hardware:

The hardware for this project was pretty simple. At first it consisted of only a Xbox 360 controller, a USB male to female wire, and the pico itself. The wire was cut apart and soldered in order to be used as an input for the controller USB to the pico in order to establish a connection. Besides that only the control (for input) and a computer (to recieve augemented controller input and run the game) was required. Towards the end as we encountered issues with bidereictional communication (which will be examplined in software) we ended up with even less hardware than before.

USB:

The communication standard we used is USB (Universal Serial Bus). It defines the cable, connector, and communication method between computers and peripherals (like mice or keyboards). This was a pain point in our development as USB is sparsely documented and difficult to work with. Getting the enviornment to build was the biggest blocker in our project. A useful tool we used for detection and communication was wireshark. Being able to detect what the USB was sending over the connection was vital for building out our project

One big issue we ran into was the lack of support for implement bidirectional communication in TinyUSB. This made it so that we were unable to make our aimbot only trigger when the gun is being shot. At the current state the aimbot will always be activated so the gun will dift downwards even when not shooting.

Software:

Our software was broken down into four main tasks:

A lot of our process was refrenced from the official TinyUSB repository. We made changes to get the device to work with the Pico and implement the aimbot. Both the game enviornment as well as our aimbot program was very lightweight so not many performance optimizations had to be be made.

AssultCube:

We chose to use the open source game "AssultCube". Designed to work on any hardware (minimum pentium III) it is free and low resource so it is very easy to debug and test without fear of being banned off of a more offical game for cheating. In addition to AssultCube we used CheatEngine, a memory debugger for cheating in games, to adjust the game for easier debugging.



Refrences



Results

In the end we got pretty good results. Althought we had trouble with bidereictional communication and USB in general, we had a working project at the end. The aimbot was able to, through hardware, change the input of the player and keep the gun pointed straight through recoil. Knowing what we know now, next time we would have been able to work through getting USB communication quicker and try and implement more features and robustness to our aimbot. Our product does not have any major IP concerns.



Appendix

The group approves this report for inclusion on the course website.

The group approves the video for inclusion on the course youtube channel.

John O'Donnell and Tobi both worked on soldering the hardware and implementing USB communication while John continued to work more with getting the aimbot setup for Assult Cube and Tobi worked on documenting and creating the website

Our code is included here: https://github.com/jodonnell77/ece4760-hardware-aimassist