darkfreaks Posted July 8, 2011 Share Posted July 8, 2011 xbobx.class.php <?php /***************************************************** You must use a GOLD xbox live account for this script to work Make sure you change perrmissions on xbox-cookie.jar to 0777 Xbox.com allows you to send a message every 15 seconds But, I do not advise using these scripts to spam an xbox live user Your account/ip will probably be banned. I, gt: l RaH l, made this script so that I could verify a users access to a gamertag before authorizing the permissions on a website. ******************************************************/ class Xbox { var $email, $password; var $cookieFile = "xbox-cookie.jar"; var $loggedIn = false; function __construct($cookieFile = false) { if($cookieFile) { $this->cookieFile = $cookieFile; } $this->checkCookieFile(); } function setEmail($value) { $this->email = str_replace("@", "%40", strtolower($value)); } function setPassword($value) { $this->password = $value; } function login() { if($this->loggedIn == true) { return true; } else if($this->email == "") { return false; } else if($this->password == "") { return false; } else { $this->addCookie(".xbox.com", "s_vi", "[CS]v1|26AD650A85162062-6000017800043E74[CE]", "/", time()+60*60*24*365); $this->addCookie(".xbox.com", "s_sa", "%5B%5BB%5D%5D", "/", time()+60*60*24*365); $this->addCookie(".xbox.com", "s_ria", "flash%2010%7Csilverlight%20not%20detected", "/", time()+60*60*24*365); $this->addCookie(".xbox.com", "s_cc", "true", "/", time()+60*60*24*365); $this->addCookie(".xbox.com", "s_nr", time(), "/", time()+60*60*24*365); $this->addCookie(".xbox.com", "UtcOffsetMinutes", "0", "/", time()+60*60*24*365); $url = "https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=11&ct=".time()."&rver=6.0.5286.0&wp=MBI&wreply=https://live.xbox.com:443/xweb/live/passport/setCookies.ashx%3Frru%3Dhttp%253a%252f%252fwww.xbox.com%252fen-US%252f&flc=3d1033&lc=1033&cb=reason=0&returnUrl=http%253a%252f%252fwww.xbox.com%252fen-US%252f%253flc%253d1033&id=66262"; $result = $this->launchPage($url, "http://www.xbox.com/en-US/"); $this->addCookie(".login.live.com", "CkTst", "G".time(), "/", time()+60*60*24*365); $url = $this->findString($result, "srf_uPost='", "';"); $PPFT = $this->findString($result, "name=\"PPFT\" id=\"i0327\" value=\"", "\""); $PPSX = $this->findString($result, "srf_sRBlob='", "';"); $postData = "login=". $this->email ."&passwd=". $this->password ."&type=11&LoginOptions=3&MEST=&PPSX=".$PPSX."&PPFT=".$PPFT."&idsbho=1&PwdPad=&sso="; $result = $this->launchPage($url, "", true, $postData); $this->addCookie(".live.com", "wlidperf", "throughput=8&latency=363", "/", time()+60*60*24*365); $this->addCookie("login.live.com", "CkTst", time(), "/ppsecure/", time()+60*60*24*365); $url = $this->findString($result, "id=\"fmHF\" action=\"", "\""); $NAP = $this->findString($result, "id=\"NAP\" value=\"", "\""); $ANON = $this->findString($result, "id=\"ANON\" value=\"", "\""); $t = $this->findString($result, "id=\"t\" value=\"", "\""); $postData = "NAPExp=".date('c', mktime(date("H"), date("i"), date("s"), date("n")+1))."&NAP=".$NAP."&ANONExp=".date('c', mktime(date("H"), date("i"), date("s"), date("n")+1))."&ANON=".$ANON."&t=".$t; $result = $this->launchPage($url, "", true, $postData); if(strpos($result, "Sign Out</a>") || strpos($result, "Object moved")) { $this->loggedIn = true; return true; } else { return false; } } } function sendMessage($gamertag, $message) { $postData = "Recipients=". $gamertag ."&Message=". $message; $result = $this->launchPage("http://live.xbox.com/en-US/MessageCenter/Compose", true, $postData); return $result; } function checkCookieFile() { if(file_exists($this->cookieFile)) { if(time() - filemtime($this->cookieFile) >= 3600 || filesize($this->cookieFile) == 0) { $f = fopen($this->cookieFile, "w"); fclose($f); $this->loggedIn = false; } else { $this->loggedIn = true; } } else { $f = fopen($this->cookieFile, "w"); fclose($f); $this->loggedIn = false; } } function checkLogin($result) { if(strpos($result, "Sign Out</a>")) { $this->loggedIn = true; return true; } else { $this->loggedIn = false; return false; } } function addCookie($domain, $name, $value, $path = "/", $expires = 0) { if(!file_exists($this->cookieFile)) { $this->error("The cookie file does not exist."); return false; } else { $c = fopen($this->cookieFile, "a"); if(!$c) { $this->error("Could not write to cookie file."); return false; } else { fwrite($c, $domain." TRUE ".$path." FALSE ".$expires." ".$name." ".$value."\r\n"); fclose($c); return true; } } } function launchPage($url, $referer = "", $post = false, $postdata = null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookieFile); curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookieFile); if($referer != "") { curl_setopt($ch, CURLOPT_REFERER, $referer); } curl_setopt($ch, CURLOPT_AUTOREFERER, true); if($post) { curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); } curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-Requested-With: XMLHttpRequest")); $result = curl_exec($ch); curl_close($ch); return $result; } function findString($haystack, $start, $finish) { $s = explode($start, $haystack); $s = explode($finish, $s[1]); return $s[0]; } } ?> how would i take this class and use it to send messages to users on xbox.com, i just need an example really so i can understand how the class works. thanks. Quote Link to comment https://forums.phpfreaks.com/topic/241439-calling-the-xboxclassphp-file/ Share on other sites More sharing options...
jcbones Posted July 8, 2011 Share Posted July 8, 2011 Have you tried something like: <?php include xbobx.class.php; $xbox = new Xbox(); $xbox->setEmail('myemail@myserver.com'); $xbox->setPassword('mypassword'); $xbox->login(); $xbox->sendMessage('mygamertag','Hey it works!'); ?> Of course, this is from 2 minutes with that script. I can't promise that will work, but that is the general idea behind it. Quote Link to comment https://forums.phpfreaks.com/topic/241439-calling-the-xboxclassphp-file/#findComment-1240306 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.