// XBOX360 Gamertag Recovery using Teensy 2.0 // hkm @ hakim.ws // http://hakim.ws/teensy/xbox360_gamertag_recovery/ // // JUST REPLACE FOLLOWING STRINGS: char gamertag[] = "GAMERTAG"; char email[] = "EMAIL@DDRESS"; char pass[] = "PASSWORD"; // END REPLACE - Done // Plug before Gamertag field selection int ledPin = 11; void setup() { pinMode(ledPin, OUTPUT); } void loop(){ delay(3000); Enter(); //select Gamertag delay(3000); CommandAtXbox(gamertag); //send Gamertag delay(1000); Enter(); //select Done delay(5000); Enter(); //select Continue delay(4000); CommandAtXbox(email); //send Email address delay(1000); Enter(); //select Done delay(5000); CommandAtXbox(pass); //send Password Enter(); //select Sign in delay(13000); Up(); Enter(); //select Accept while (1) delay(20000); //END (you should remove it now) } void CommandAtXbox(char *SomeCommand){ //from irongeek digitalWrite(ledPin, HIGH); // set the LED on Keyboard.set_modifier(0); //prep release of control keys Keyboard.set_key1(0); //have to do this to keep it from hitting key multiple times. Keyboard.send_now(); //Send the key changes delay(1000); Keyboard.print(SomeCommand); Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); Keyboard.set_key1(0); Keyboard.send_now(); digitalWrite(ledPin, LOW); // set the LED off } void Enter(){ delay(1000); digitalWrite(ledPin, HIGH); // set the LED on Keyboard.set_modifier(0); //prep release of control keys Keyboard.set_key1(0); //have to do this to keep it from hitting key multiple times. Keyboard.send_now(); //Send the key changes delay(500); Keyboard.set_key1(KEY_ENTER); Keyboard.send_now(); Keyboard.set_key1(0); Keyboard.send_now(); digitalWrite(ledPin, LOW); // set the LED off } void Up(){ digitalWrite(ledPin, HIGH); // set the LED on Keyboard.set_modifier(0); //prep release of control keys Keyboard.set_key1(0); //have to do this to keep it from hitting key multiple times. Keyboard.send_now(); //Send the key changes delay(500); Keyboard.set_key1(KEY_UP); Keyboard.send_now(); Keyboard.set_key1(0); Keyboard.send_now(); digitalWrite(ledPin, LOW); // set the LED off }