Jump to content
DanYeL17

Arduino - AI In Game - FPS Aimbot

Recommended Posts

Salut!

De putin timp tot ma intereseaza subiectul de cheating hardware.
Am gasit tot felul de informatii, am urmarit si un curs de pe Udemy (spre ex asta, pe care l puteti descarca de aici (parola este rst)), in esenta am inteles care i treaba, doar ca mai am cateva intrebari, spre ex. tipul din curs a folosit un shield usb, pentru mouse, cautand am aflat ca pentru modelul specific de arduino leonardo r3 se poate si fara, as vrea sa stiu cum funtioneaza mai exact fara acel usb shield si daca ar fi mai safe cu shield :) 
Mai jos gasiti codul pentru arduino fara sa foloseasca acel shield:

 

#include <Mouse.h>
 
void setup(){
  delay(5000);
  
  Mouse.begin();
  
  Serial.begin(115200);
  Serial.setTimeout(1);
  
  }
 
 
void loop() {
  
  if (Serial.available()){
    String myString;
    
    int arr[2];
    int arrv[8];
    
    int j = 0;
    int c = 0;
    int e = 0;
 
    
    myString = Serial.readString();  
    
    String valX = getValue(myString, ':', 0);      
    arr[0] = valX.toInt();
 
    String val2 = getValue(myString, ':', 1);
    String valY = getValue(val2, ';', 0);    
    arr[1] = valY.toInt();
 
    String valC = getValue(myString, ';', 1);      
    int pclick = valC.toInt();
 
    if (pclick == 0){
      Mouse.press(MOUSE_LEFT);
      }
      
    else if (pclick == 3){
      Mouse.release(MOUSE_LEFT);
      }
      
    else if (pclick == 1){
      Mouse.click(MOUSE_LEFT);
      }
 
    for (e = 0; e < (sizeof(arr) / sizeof(arr[0])); e++) {   
 
      if (arr[e] > 0){
        
        for (j = 0; j <= (arr[e] / 127); j++){         
          c = j * 127;         
                  
          if (int(arr[e]) > (c + 127)){            
            arrv[j] = 127;                                                               
            }
          
          else {
            arrv[j] = arr[e] - c;                             
            }             
          }                                       
        }
        
        else {
        
          for (j = 0; j <= (arr[e] / -127); j++){         
            c = j * -127;         
                  
            if (arr[e] < (c - 127)){
              arrv[j] = -127;                                           
              }
           
            else {
              arrv[j] = arr[e] - c;                     
              }                            
            }        
          } 
        
      for (int p = 0; p < j; p++){
 
        if (e == 0){
          Mouse.move(arrv[p], 0);
          }
          
        else if (e == 1){
          Mouse.move(0, arrv[p]);
          }
        }
      memset(arrv, 0, sizeof(arrv));  
      }
    }
  }
 
 
 
String getValue(String data, char separator, int index) {
  int found = 0;
  int strIndex[] = { 0, -1 };
  int maxIndex = data.length() - 1;
  
  for (int i = 0; i <= maxIndex && found <= index; i++) {
    if (data.charAt(i) == separator || i == maxIndex) {
      found++;
      strIndex[0] = strIndex[1] + 1;
      strIndex[1] = (i == maxIndex) ? i+1 : i;
      }
    }
    
  return found > index ? data.substring(strIndex[0], strIndex[1]) : "";
  }

As mai vrea sa stiu cum pot da spoof la arduino, am gasit pe UC asta [Tutorial] modify/spoof arduino hardware standalone , dar nu stiu exact ce impact ar avea asupra aplicatiei arduino, daca dupa acest spoof se va mai face corect citirea..

Momentan tot urmaresc tutoriale de OpenCV with GPU si de YOLO..
Astept, daca puteti, bineinteles, surse de unde mai pot citi info legat de acest aspect, surse unde stiti si voi ca sunt ok :)

Multumesc anticipat! 

Edited by DanYeL17
  • Like 1
Link to comment
Share on other sites

Deci, nu conteaza ce shield ai, Leonardo are capacitatea de a comunica direct in protocol USB. Uno nu poate comunica direct, deci ai nevoie de un alt shield care sa traduca (USB -> Serial).

 

Spooful se face din descriptorii HID. (HID=human interface device) Practic un device HID programabil poate emula orice alt device HID (mouse, tastatura, microfon, casti, etc.)

Cu leonardo(sau cu un shield) nu e mare chestie sa emulezi un Mouse. Gasesti descriptorii unui mouse si ii copii 1:1. In teorie nu e detectabil, ca arata ca orice alt mouse. Problema cea mai mare e de unde primeste hackul input? Doar de la outputul video?(fara wall, cu input delay) Cam slab hackul...

  • Upvote 1
Link to comment
Share on other sites

On 5/18/2022 at 9:22 PM, yoyois said:

Deci, nu conteaza ce shield ai, Leonardo are capacitatea de a comunica direct in protocol USB. Uno nu poate comunica direct, deci ai nevoie de un alt shield care sa traduca (USB -> Serial).

 

Spooful se face din descriptorii HID. (HID=human interface device) Practic un device HID programabil poate emula orice alt device HID (mouse, tastatura, microfon, casti, etc.)

Cu leonardo(sau cu un shield) nu e mare chestie sa emulezi un Mouse. Gasesti descriptorii unui mouse si ii copii 1:1. In teorie nu e detectabil, ca arata ca orice alt mouse. Problema cea mai mare e de unde primeste hackul input? Doar de la outputul video?(fara wall, cu input delay) Cam slab hackul...

Multumesc de info :)

As mai avea alta intrebare, daca se poate 
Probabil o sa para stupida, dar sunt la inceput, asa ca scuza-ma 

Datele mouse ului pot trece prima data printr un filtru pe care l face acel arduino? 

Adica schematic 

Mouse -> Arduino -> PC (iar in pc sa fie trecut HID ul mouse ului real)

Ma gandesc ca ar aparea input lag..

Acum sunt in teste cu un arduino, am testat cu open cv pe GPU si YOLO, dar sunt foarte multe situiatii unde trebuie sa invete acel AI inamicii...

Se poate folosi acel arduino drept filtru pe mouse si in spate sa foloseasca cod? (c++, c#)

 

Link to comment
Share on other sites

se poate. Dar e mai complicat. Ai nevoie de un sheild/un chip care sa poata comunica USB pe 2 canale.
Nu sunt 100% sigur dar cred ca SAMD21(Arduino Zero) poate face asa ceva. Sa primeasca un Mouse prin USB OTG si sa emuleze un mouse pe interfata PC.
Cred ca sunt deja proiecte facute pe Teensy.
https://www.unknowncheats.me/forum/anti-cheat-bypass/439183-mouse-proxy-teensy-4-1-a.html
https://github.com/houkanshan/arduino-bt-hid-proxy (un mouse/keyboard Bluetooth)

 

Ce face sens e "anti-recoil" poate un "fine aim adjustment", "click spammer". Oricum in calitate de hackuri e destul de slab pe poti face, in comparatie cu hackurile care manipuleaza direct memoria jocului.

  • Upvote 2
Link to comment
Share on other sites

On 5/24/2022 at 11:29 PM, yoyois said:

se poate. Dar e mai complicat. Ai nevoie de un sheild/un chip care sa poata comunica USB pe 2 canale.
Nu sunt 100% sigur dar cred ca SAMD21(Arduino Zero) poate face asa ceva. Sa primeasca un Mouse prin USB OTG si sa emuleze un mouse pe interfata PC.
Cred ca sunt deja proiecte facute pe Teensy.
https://www.unknowncheats.me/forum/anti-cheat-bypass/439183-mouse-proxy-teensy-4-1-a.html
https://github.com/houkanshan/arduino-bt-hid-proxy (un mouse/keyboard Bluetooth)

 

Ce face sens e "anti-recoil" poate un "fine aim adjustment", "click spammer". Oricum in calitate de hackuri e destul de slab pe poti face, in comparatie cu hackurile care manipuleaza direct memoria jocului.

Am înțeles, mulțumesc mult de informații și scuza-ma încă o dată pentru lipsa mea de info mai in amănunt :)

 

Văzusem diferite proiecte cu build private (de la ~ 200 $ in sus) pentru valorant 

Cu schema Mouse - > Shield -> Arduino Leonardo - > PC 

 

iar că aim ar fi cam așa:

 

https://cdn.medal.tv/69850789/share-325707955.mp4?info=fW3AZxHf-c_d1337bguRr32

 

Destul de smooth

 

mă gândesc că ar fi un aim bazat pe color aim (dat fiind faptul că pe jocul asta poți face inamicii mov, galben sau roșii) 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...