{"id":31768277,"url":"https://github.com/ny4rlk0/fkernelanticheats","last_synced_at":"2025-10-28T11:42:20.887Z","repository":{"id":312862771,"uuid":"1049018399","full_name":"ny4rlk0/fkernelanticheats","owner":"ny4rlk0","description":"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.","archived":false,"fork":false,"pushed_at":"2025-09-02T18:45:07.000Z","size":12950,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-02T20:30:46.149Z","etag":null,"topics":["anti","bypass-ac","cheat","fkernelanticheats","fuckkernelanticheats","game","global","kernel","mouse","pi","pico","pico2w","picow","raspberry"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ny4rlk0.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-02T11:17:19.000Z","updated_at":"2025-09-02T18:45:10.000Z","dependencies_parsed_at":"2025-09-02T20:30:46.423Z","dependency_job_id":null,"html_url":"https://github.com/ny4rlk0/fkernelanticheats","commit_stats":null,"previous_names":["ny4rlk0/fuckkernelanticheats","ny4rlk0/fkernelanticheats"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ny4rlk0/fkernelanticheats","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ny4rlk0%2Ffkernelanticheats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ny4rlk0%2Ffkernelanticheats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ny4rlk0%2Ffkernelanticheats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ny4rlk0%2Ffkernelanticheats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ny4rlk0","download_url":"https://codeload.github.com/ny4rlk0/fkernelanticheats/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ny4rlk0%2Ffkernelanticheats/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279002429,"owners_count":26083379,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anti","bypass-ac","cheat","fkernelanticheats","fuckkernelanticheats","game","global","kernel","mouse","pi","pico","pico2w","picow","raspberry"],"created_at":"2025-10-10T02:00:23.139Z","updated_at":"2025-10-10T02:01:56.296Z","avatar_url":"https://github.com/ny4rlk0.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fuckkernelanticheats\n⚠️ For educational and research purposes only. This project critiques invasive anti-cheat practices, especially those operating at kernel level and violating user privacy.\u003cbr\u003e\n\u003cbr\u003e\n💡 MIT Licensed. No binaries, no injection, no modification. Just pure hardware emulation.\u003cbr\u003e\nIf 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!\u003cbr\u003e\n\u003cbr\u003e\nThere 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!\n![IMG](https://raw.githubusercontent.com/ny4rlk0/fkernelanticheats/refs/heads/main/picture.png)\n![IMG](https://raw.githubusercontent.com/ny4rlk0/fkernelanticheats/refs/heads/main/picture2.png)\nThe Pico 2 W appears as a real USB mouse on the computer you plug it into, \u003cbr\u003e\nwhile receiving mouse movements from the second \u003cbr\u003e\ncomputer via the UART using the Type-C UART CP2102 shown in the image. \u003cbr\u003e\nI wrote a demo Python code for this.\u003cbr\u003e\n\u003cbr\u003e\nThe firmware is only compatible with certain mouse models. \u003cbr\u003e\nIt has currently been tested with the Logitech M330 and Lecoo MS108.\u003cbr\u003e\nHigh-speed or complex gaming mice may not be supported.\u003cbr\u003e\n\u003cbr\u003e\n(The mouse will not support mice with a report descriptor greater than 8 bytes or faster than 1000Hz.)\u003cbr\u003e\n\u003cbr\u003e\nCurrently, it only supports the Logitech m330 or Lecoo ms108 as a mouse. \u003cbr\u003e\nYou can develop the demo software and add your own mouse, but not every mouse will work. \u003cbr\u003e\nGaming mice with multiple interfaces or buttons from Razer, Logitech, etc. will not work. \u003cbr\u003e\nMice with a single interface have a higher chance of working. \u003cbr\u003e\nThe Python code is provided solely as an example to help you understand how to use the firmware. \u003cbr\u003e\n\u003cbr\u003e\nRequired hardware:\u003cbr\u003e\n\u003cbr\u003e\n* 1 supported mouse.\n* 1 Raspberry Pi Pico 2W\n* 1 CP2102 Type C UART or other UART device that supports 115200\u003cbr\u003e\n* 3 Female-to-Female Jumper Cables\u003cbr\u003e\n* 1 Micro USB Cable\u003cbr\u003e\n* 1 Type C Cable\u003cbr\u003e\n\u003cbr\u003e\nCable Connections:\u003cbr\u003e\n\u003cbr\u003e\nPico 2W GP0 =\u003e CP 2102 RXD (Orange Wire in the picture) \u003cbr\u003e\nPico 2W GP1 =\u003e CP 2102 TXD (Yellow Wire in the picture) \u003cbr\u003e\nPico 2W GND =\u003e CP 2102 GND (Green Wire in the picture) \u003cbr\u003e\n\u003cbr\u003e\nSilicon Labs CP2102 UART Installation:\n\u003cbr\u003e\nRemove the Yellow Jumper Switch on the CP2102 and reconnect it, covering VCCIO and 5V, as shown in the picture. \u003cbr\u003e\nDoing this incorrectly could damage the board by supplying 5V to the 3V circuit. \u003cbr\u003e\nInstall the Silicon Labs CP2102 driver on the UART COM port connected to the second computer via Device Manager. \u003cbr\u003e\nSet the UART Speed ​​to 115200 in Device Manager. \u003cbr\u003e\n\u003cbr\u003e\nThe General Logic is as follows:\u003cbr\u003e\n\u003cbr\u003e\nThe PICO 2 W introduces itself as a legit HID mouse to the gaming computer.\u003cbr\u003e\nThe PICO 2 W receives mouse commands from the second computer via the UART (SL CP2102).\u003cbr\u003e\nYou connect a supported mouse to the second computer and install the WinUSB driver for it using Zadig.\u003cbr\u003e\nUncomment the mouse you want to support in the mouse_filter.py file.\u003cbr\u003e\nWith a supported mouse connected, run the mouse_filter.py file and select the correct COM port.\u003cbr\u003e\nMouse movements made from the second computer are transferred via UART to the PICO 2 W, which appears \u003cbr\u003e\nas a mouse on the first gaming computer. This does not affect the second computer's mouse.\u003cbr\u003e\nYou can either record the first computer with OBS, watch the screen from the second computer,\u003cbr\u003e\nand aim with any device or software. You can send this aim using the example in the send_aim.py file. \u003cbr\u003e\nOr, you can use a Screen Recorder card without displaying the first computer's image\u003cbr\u003e\noutput to the monitor and connect its USB output to the second computer.\u003cbr\u003e\nAim with any device or software.\u003cbr\u003e\nYou can send the aim with the send_aim.py file.\u003cbr\u003e\n\u003cbr\u003e\nNote 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. \u003cbr\u003e\n\u003cbr\u003e\nIf the transmitted movement is too fast, you may trigger Anti-Cheat's Inhuman Movement feature. \u003cbr\u003e\nThis means if your mouse travels a ridiculous distance, like 20 meters, you could encounter a problem. \u003cbr\u003e\nSlow down, smooth out, and add slight errors before sending the movement. Don't send too much movement all at once! \u003cbr\u003e \nThe firmware limits the mouse's x and y movements to 128. This is sufficient for a proper software and device. \u003cbr\u003e\n\n# Türkçe\n\n⚠️ 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.\n\n💡 MIT Lisanslı. İkili dosya yok, enjeksiyon yok, değişiklik yok. Sadece saf donanım emülasyonu.\n\nSü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.\nBunun için bir demo Python kodu yazdım.\n\nÜrün yazılımı yalnızca belirli fare modelleriyle uyumludur.\nŞu anda Logitech M330 ve Lecoo MS108 ile test edilmiştir.\nYüksek hızlı veya karmaşık oyun fareleri desteklenmeyebilir.\n\n(Fare, 8 bayttan büyük veya 1000 Hz'den hızlı bir rapor tanımlayıcısına sahip fareleri desteklemez.)\n\nŞu anda yalnızca Logitech m330 veya Lecoo ms108 farelerini destekler.\nDemo yazılımını geliştirip kendi farenizi ekleyebilirsiniz, ancak her fare çalışmayacaktır.\nRazer, Logitech vb. markaların birden fazla arayüzü veya düğmesi olan oyun fareleri çalışmayacaktır.\nTek arayüzlü farelerin çalışma olasılığı daha yüksektir.\nPython 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.\n\nGerekli donanım:\n\n* 1 adet desteklenen fare. 1 Raspberry Pi Pico 2W\n* 1 CP2102 Type C UART veya 115200'ü destekleyen başka bir UART cihazı\n* 3 Dişi-Dişi Jumper Kablosu\n* 1 Mikro USB Kablosu\n* 1 Type C Kablosu\n\nKablo Bağlantıları:\u003cbr\u003e\n\nPico 2W GP0 =\u003e CP 2102 RXD (Resimdeki Turuncu Kablo)\u003cbr\u003e\nPico 2W GP1 =\u003e CP 2102 TXD (Resimdeki Sarı Kablo)\u003cbr\u003e\nPico 2W GND =\u003e CP 2102 GND (Resimdeki Yeşil Kablo)\u003cbr\u003e\n\nSilicon Labs CP2102 UART Kurulumu:\nCP2102 üzerindeki Sarı Jumper Anahtarını çıkarın ve resimde gösterildiği gibi VCCIO ve 5V'u kapatacak şekilde yeniden bağlayın.\nBunu 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.\nAygıt Yöneticisi'nde UART Hızını 115200 olarak ayarlayın.\n\nGenel Mantık şu şekildedir:\n\nPICO 2 W, oyun bilgisayarına kendini gerçek bir HID fare olarak tanıtır.\nPICO 2 W, ikinci bilgisayardan UART (SL CP2102) aracılığıyla fare komutlarını alır.\nDesteklenen bir fareyi ikinci bilgisayara bağlayın ve Zadig kullanarak WinUSB sürücüsünü yükleyin.\nmouse_filter.py dosyasında desteklemek istediğiniz farenin açıklamasını kaldırın.\nDesteklenen bir fare bağlıyken, mouse_filter.py dosyasını çalıştırın ve doğru COM portunu seçin.\nİ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.\nYa 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.\nHerhangi bir cihaz veya yazılımla nişan alın.\nNişanı send_aim.py dosyasıyla gönderebilirsiniz.\n\nsend.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.\n\nİletilen hareket çok hızlıysa, Anti-Cheat'in İnsanlık Dışı Hareket özelliğini tetikleyebilirsiniz.\nBu, fareniz 20 metre gibi saçma bir mesafe kat ederse bir sorunla karşılaşabileceğiniz anlamına gelir.\nHareket 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fny4rlk0%2Ffkernelanticheats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fny4rlk0%2Ffkernelanticheats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fny4rlk0%2Ffkernelanticheats/lists"}