An open API service indexing awesome lists of open source software.

https://github.com/ny4rlk0/fkernelanticheats

Raspberry Pi Pico 2W firmware that emulates a real USB mouse, receiving movement data from a second PC via UART. Designed to bypass kernel-level anti-cheat systems without touching game files or running code on the gaming machine.
https://github.com/ny4rlk0/fkernelanticheats

anti bypass-ac cheat fkernelanticheats fuckkernelanticheats game global kernel mouse pi pico pico2w picow raspberry

Last synced: 8 months ago
JSON representation

Raspberry Pi Pico 2W firmware that emulates a real USB mouse, receiving movement data from a second PC via UART. Designed to bypass kernel-level anti-cheat systems without touching game files or running code on the gaming machine.

Awesome Lists containing this project

README

          

# fuckkernelanticheats
⚠️ For educational and research purposes only. This project critiques invasive anti-cheat practices, especially those operating at kernel level and violating user privacy.



💡 MIT Licensed. No binaries, no injection, no modification. Just pure hardware emulation.

If they black list this mouse just emulate different mouse you can change this from blink.c/usb_descriptors.c. They can't block this permanently at all, all they can do is blacklist spesific mouse this firmware emulates and you can change that easily!



There shouldn't be Kernel Anti-Cheat programs running all the time! Players always find a way to cheat. That doesn't excuse always running AC at the kernel level, starting AC before the OS, or violating other people's privacy!
![IMG](https://raw.githubusercontent.com/ny4rlk0/fkernelanticheats/refs/heads/main/picture.png)
![IMG](https://raw.githubusercontent.com/ny4rlk0/fkernelanticheats/refs/heads/main/picture2.png)
The Pico 2 W appears as a real USB mouse on the computer you plug it into,

while receiving mouse movements from the second

computer via the UART using the Type-C UART CP2102 shown in the image.

I wrote a demo Python code for this.



The firmware is only compatible with certain mouse models.

It has currently been tested with the Logitech M330 and Lecoo MS108.

High-speed or complex gaming mice may not be supported.



(The mouse will not support mice with a report descriptor greater than 8 bytes or faster than 1000Hz.)



Currently, it only supports the Logitech m330 or Lecoo ms108 as a mouse.

You can develop the demo software and add your own mouse, but not every mouse will work.

Gaming mice with multiple interfaces or buttons from Razer, Logitech, etc. will not work.

Mice with a single interface have a higher chance of working.

The Python code is provided solely as an example to help you understand how to use the firmware.



Required hardware:



* 1 supported mouse.
* 1 Raspberry Pi Pico 2W
* 1 CP2102 Type C UART or other UART device that supports 115200

* 3 Female-to-Female Jumper Cables

* 1 Micro USB Cable

* 1 Type C Cable



Cable Connections:



Pico 2W GP0 => CP 2102 RXD (Orange Wire in the picture)

Pico 2W GP1 => CP 2102 TXD (Yellow Wire in the picture)

Pico 2W GND => CP 2102 GND (Green Wire in the picture)



Silicon Labs CP2102 UART Installation:


Remove the Yellow Jumper Switch on the CP2102 and reconnect it, covering VCCIO and 5V, as shown in the picture.

Doing this incorrectly could damage the board by supplying 5V to the 3V circuit.

Install the Silicon Labs CP2102 driver on the UART COM port connected to the second computer via Device Manager.

Set the UART Speed ​​to 115200 in Device Manager.



The General Logic is as follows:



The PICO 2 W introduces itself as a legit HID mouse to the gaming computer.

The PICO 2 W receives mouse commands from the second computer via the UART (SL CP2102).

You connect a supported mouse to the second computer and install the WinUSB driver for it using Zadig.

Uncomment the mouse you want to support in the mouse_filter.py file.

With a supported mouse connected, run the mouse_filter.py file and select the correct COM port.

Mouse movements made from the second computer are transferred via UART to the PICO 2 W, which appears

as a mouse on the first gaming computer. This does not affect the second computer's mouse.

You can either record the first computer with OBS, watch the screen from the second computer,

and aim with any device or software. You can send this aim using the example in the send_aim.py file.

Or, you can use a Screen Recorder card without displaying the first computer's image

output to the monitor and connect its USB output to the second computer.

Aim with any device or software.

You can send the aim with the send_aim.py file.



Note about send.aim.py: The information entered here is sent directly from the pico 2 W to the first gaming computer as a mouse descriptor report.



If the transmitted movement is too fast, you may trigger Anti-Cheat's Inhuman Movement feature.

This means if your mouse travels a ridiculous distance, like 20 meters, you could encounter a problem.

Slow down, smooth out, and add slight errors before sending the movement. Don't send too much movement all at once!

The firmware limits the mouse's x and y movements to 128. This is sufficient for a proper software and device.

# Türkçe

⚠️ Yalnızca eğitim ve araştırma amaçlıdır. Bu proje, özellikle çekirdek düzeyinde çalışan ve kullanıcı gizliliğini ihlal eden müdahaleci hile önleme uygulamalarını eleştirmektedir.

💡 MIT Lisanslı. İkili dosya yok, enjeksiyon yok, değişiklik yok. Sadece saf donanım emülasyonu.

Sürekli çalışan Çekirdek Hile Önleme programları olmamalı! Oyuncular her zaman hile yapmanın bir yolunu bulur. Bu, AC'yi her zaman çekirdek düzeyinde çalıştırmayı, AC'yi işletim sisteminden önce başlatmayı veya başkalarının gizliliğini ihlal etmeyi mazur göstermez! IMG Pico 2 W, taktığınız bilgisayarda gerçek bir USB fare gibi görünürken, görselde gösterilen Type-C UART CP2102'yi kullanarak ikinci bilgisayardan UART aracılığıyla fare hareketlerini alır.
Bunun için bir demo Python kodu yazdım.

Ürün yazılımı yalnızca belirli fare modelleriyle uyumludur.
Şu anda Logitech M330 ve Lecoo MS108 ile test edilmiştir.
Yüksek hızlı veya karmaşık oyun fareleri desteklenmeyebilir.

(Fare, 8 bayttan büyük veya 1000 Hz'den hızlı bir rapor tanımlayıcısına sahip fareleri desteklemez.)

Şu anda yalnızca Logitech m330 veya Lecoo ms108 farelerini destekler.
Demo yazılımını geliştirip kendi farenizi ekleyebilirsiniz, ancak her fare çalışmayacaktır.
Razer, Logitech vb. markaların birden fazla arayüzü veya düğmesi olan oyun fareleri çalışmayacaktır.
Tek arayüzlü farelerin çalışma olasılığı daha yüksektir.
Python kodu, yalnızca ürün yazılımının nasıl kullanılacağını anlamanıza yardımcı olmak için örnek olarak verilmiştir.

Gerekli donanım:

* 1 adet desteklenen fare. 1 Raspberry Pi Pico 2W
* 1 CP2102 Type C UART veya 115200'ü destekleyen başka bir UART cihazı
* 3 Dişi-Dişi Jumper Kablosu
* 1 Mikro USB Kablosu
* 1 Type C Kablosu

Kablo Bağlantıları:

Pico 2W GP0 => CP 2102 RXD (Resimdeki Turuncu Kablo)

Pico 2W GP1 => CP 2102 TXD (Resimdeki Sarı Kablo)

Pico 2W GND => CP 2102 GND (Resimdeki Yeşil Kablo)

Silicon Labs CP2102 UART Kurulumu:
CP2102 üzerindeki Sarı Jumper Anahtarını çıkarın ve resimde gösterildiği gibi VCCIO ve 5V'u kapatacak şekilde yeniden bağlayın.
Bunu yanlış yapmak, 3V devresine 5V vererek karta zarar verebilir. Silicon Labs CP2102 sürücüsünü Aygıt Yöneticisi aracılığıyla ikinci bilgisayara bağlı UART COM portuna yükleyin.
Aygıt Yöneticisi'nde UART Hızını 115200 olarak ayarlayın.

Genel Mantık şu şekildedir:

PICO 2 W, oyun bilgisayarına kendini gerçek bir HID fare olarak tanıtır.
PICO 2 W, ikinci bilgisayardan UART (SL CP2102) aracılığıyla fare komutlarını alır.
Desteklenen bir fareyi ikinci bilgisayara bağlayın ve Zadig kullanarak WinUSB sürücüsünü yükleyin.
mouse_filter.py dosyasında desteklemek istediğiniz farenin açıklamasını kaldırın.
Desteklenen bir fare bağlıyken, mouse_filter.py dosyasını çalıştırın ve doğru COM portunu seçin.
İkinci bilgisayardan yapılan fare hareketleri, UART aracılığıyla ilk oyun bilgisayarında fare olarak görünen PICO 2 W'ye aktarılır. Bu, ikinci bilgisayarın faresini etkilemez. İlk bilgisayarı OBS ile kaydedebilir, ikinci bilgisayardan ekranı izleyebilir ve herhangi bir cihaz veya yazılımla nişan alabilirsiniz. Bu nişanı send_aim.py dosyasındaki örneği kullanarak gönderebilirsiniz.
Ya da, ilk bilgisayarın görüntü çıkışını monitöre göstermeden bir Ekran Kaydedici kartı kullanabilir ve USB çıkışını ikinci bilgisayara bağlayabilirsiniz.
Herhangi bir cihaz veya yazılımla nişan alın.
Nişanı send_aim.py dosyasıyla gönderebilirsiniz.

send.aim.py hakkında not: Buraya girilen bilgiler, doğrudan pico 2 W'den ilk oyun bilgisayarına fare tanımlayıcı raporu olarak gönderilir.

İletilen hareket çok hızlıysa, Anti-Cheat'in İnsanlık Dışı Hareket özelliğini tetikleyebilirsiniz.
Bu, fareniz 20 metre gibi saçma bir mesafe kat ederse bir sorunla karşılaşabileceğiniz anlamına gelir.
Hareket göndermeden önce yavaşlatın, yumuşatın ve küçük hatalar ekleyin. Tek seferde çok fazla hareket göndermeyin! Yazılım, farenin x ve y hareketlerini 128 ile sınırlandırıyor. Bu, düzgün bir yazılım ve cihaz için yeterli.