It’s come to my attention that the nice folks over at EA have changed their login routine for the Web App which breaks the code I posted previously.
I’ve had a quick look and managed to create a test PHP file that retrieves the session data that you need to login and show the results of a search for Berbatov. I’ll post the example code here while I work on correcting the classes I have on GitHub. I must stress that this will probably only work for Xbox and before anyone asks I’m not interested in writing you an Autobuyer, someone has created one here: http://lazyonline.wordpress.com/
<?PHP $user = ""; $password = ""; $hash = ""; $login = "https://www.ea.com/uk/football/services/authenticate/login"; $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>"Content-Type: application/x-www-form-urlencoded\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n". "Referer:http://www.ea.com/uk/football/login?redirectUrl=http://www.ea.com/uk/football/fifa-ultimate-team", 'content'=>"email=".$user."&password=".$password."&stay-signed=ON" ) ); $context = stream_context_create($opts); $EASW = file_get_contents($login, false, $context); $r = $http_response_header; //print_r($r); $s = explode(":", $r[10]); $t = explode(";", $s[1]); $EASW_KEY = $t[0]; $m = explode(":", $r[11]); $n = explode(";", $m[1]); $o = explode(";", $m[2]); $EASF_SESS = $n[0] . $o[0]; $p = explode(":", $r[12]); $q = explode(";", $p[1]); $EASF_PERS = $q[0]; //nuc $a = explode("<nucleusId>", $EASW); $b = explode("</nucleusId>", $a[1]); $NUC = $b[0]; //echo "HTML Header:"; //var_dump($http_response_header); echo $EASW_KEY; echo "<br />"; echo $EASF_SESS; echo "<br />"; echo $EASF_PERS; echo "<br />"; echo "NUC: $NUC <br />"; unset($opts, $context, $EASW, $http_response_header, $r, $s, $t); $time = time(); $shard = "http://www.ea.com/p/fut/a/card/l/en_GB/s/p/ut/shards?timestamp=". $time; $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Content-Type: application/json\r\n". "Cookie: ".$EASW_KEY.";". $EASF_SESS ) ); $context = stream_context_create($opts); $EASW = file_get_contents($shard, false, $context); $r = $http_response_header; //echo "HTML Header:"; //var_dump($http_response_header); $d = json_decode($EASW); //var_dump($d); $machine = $d->shardInfo[0]->customdata1[0]; unset($opts, $context, $EASW, $http_response_header, $r, $d); $acount = "http://www.ea.com/p/fut/a/" . $machine . "/l/en_GB/s/p/ut/game/fifa13/user/accountinfo?timestamp=". $time; $opts = array( 'http'=>array( 'method'=>"GET", 'header'=>"Content-Type: application/json\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n". "Referer:http://www.ea.com/uk/football/login?redirectUrl=http://www.ea.com/uk/football/fifa-ultimate-team\r\n". "Cookie: ".$EASF_SESS.";".$EASW_KEY ) ); $context = stream_context_create($opts); $EASW = file_get_contents($acount, false, $context); $r = $http_response_header; //echo "HTML Header:"; //var_dump($http_response_header); $d = json_decode($EASW); //var_dump($d); $id = $d->userAccountInfo->personas[0]->personaId; $platform = $d->userAccountInfo->personas[0]->userClubList[0]->platform; unset($opts, $context, $EASW, $http_response_header, $r); $auth = "http://www.ea.com/p/fut/a/" . $machine . "/l/en_GB/s/p/ut/auth"; $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>"Content-Type: application/json\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n". "Referer:http://www.ea.com/uk/football/login?redirectUrl=http://www.ea.com/uk/football/fifa-ultimate-team\r\n". "Cookie: ".$EASW_KEY.";".$EASF_SESS, 'content'=>'{ "isReadOnly": false, "sku": "393A0001", "clientVersion": 3, "nuc": 2266826199, "nucleusPersonaId": '.$id.', "nucleusPersonaDisplayName": "Bot", "nucleusPersonaPlatform": "'.$platform.'", "locale": "en-GB", "method": "idm", "priorityLevel":4, "identification": { "EASW-Token": "" } }' ) ); $context = stream_context_create($opts); $EASW = file_get_contents($auth, false, $context); $r = $http_response_header; //echo "HTML Header:"; //var_dump($http_response_header); $XSID = $r[3]; echo $XSID; unset($opts, $context, $EASW, $http_response_header, $r); $quest = "http://www.ea.com/p/fut/a/" . $machine . "/l/en_GB/s/p/ut/game/fifa13/phishing/validate"; $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>"Content-Type: application/x-www-form-urlencoded\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n". "Referer:http://www.ea.com/uk/football/login?redirectUrl=http://www.ea.com/uk/football/fifa-ultimate-team\r\n". "Cookie: ".$EASW_KEY."; ".$EASF_SESS ."\r\n". $XSID, 'content'=>"answer=".$hash ) ); $context = stream_context_create($opts); $PHISHING = file_get_contents($quest, false, $context); $r = $http_response_header; //echo "HTML Header:"; //var_dump($http_response_header); $s = explode(":", $r[11]); $t = explode(";", $s[1]); $PHISHKEY = $t[0]; echo "<br />". $PHISHKEY; unset($opts, $context, $EASW, $http_response_header, $r);</pre> $opts = array( 'http'=>array( 'method'=>"POST", 'header'=>"Content-Type: application/json\r\n". "User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17\r\n". "Referer:http://www.ea.com/uk/football/login?redirectUrl=http://www.ea.com/uk/football/fifa-ultimate-team\r\n". "Cookie: ".$EASW_KEY."; ".$EASF_SESS ."; ".$PHISHKEY."\r\n". "x-http-method-override:GET\r\n". $XSID ) ); $start = 0; $context = stream_context_create($opts); $search = "https://utas.fut.ea.com/ut/game/fifa13/auctionhouse?leag=13&team=144&num=16&zone=attacker&nat=9&lev=gold&type=player&start=".$start; $RESULTS = file_get_contents($search, false, $context); //$r = $http_response_header; //var_dump($http_response_header); //echo $RESULTS; $dere = json_decode($RESULTS); //var_dump($dere); if (count($dere->auctionInfo) == 0){ break; } FOREACH ($dere->auctionInfo as $auction){ echo "<br />"; $rid = $auction->itemData->resourceId; $l = 0; WHILE ($rid > 16777216){ $l++; if ($l == 1){ $rid -= 1342177280; }elseif ($l == 2){ $rid -= 50331648; }else{ $rid -= 16777216; } } echo '<img src= "http://cdn.content.easports.com/fifa/fltOnlineAssets/2013/fut/items/images/players/web/'.$rid.'.png" alt="'.$rid.'"></img><br />'; echo "Trade ID: ". $auction->tradeId ."<br />"; echo "Resource ID: ". $auction->itemData->resourceId ."<br />"; echo "Base ID: ". $rid ."<br />"; echo "Player Version: ". $l ."<br />"; echo "Rating: " . $auction->itemData->rating ."<br />"; echo "Rare Flag: " . $auction->itemData->rareflag ."<br />"; echo "Starting Bid: ". $auction->startingBid ."<br />"; echo "Current Bid: ". $auction->currentBid ."<br />"; echo "BIN Price: ". $auction->buyNowPrice ."<br />"; echo "<br />"; } $start += 15; ?>
[…] FIFA 13 Web App Login Changes. FIFA 13 Web App Login […]
Hi Rob,
wonderfull work! I would love to get in closer touch with you.
My Skype: LazyOnlineSkype
Jim.
How much would you charge for a full autobuyer? Please get back to me, thanks.
How much would you charge for a full autobuyer? Please get back to me, thanks.
Hi Rob,
thanks for your code, modify it so that I can connected to ps3, what I did was to change this line
$ machine = $ d-> shardInfo [1] -> customdata1 [1];
by this other $ machine = $ d-> shardInfo [0] -> customdata1 [0];
then i received my account information , but when I get the $ XSID before it displays an error
in this lines i think is the error
$ opts = array (
‘http’ => array (
‘method’ => “POST”,
‘header’ => “Content-Type: application / json \ r \ n”.
“User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Safari/537.17 Chrome/24.0.1312.57 \ r \ n”.
“Cookie:”. $ EASW_KEY. “;”. $ EASF_SESS,
‘content’ => ‘{“isReadOnly”: false, “sku”: “393A0001”, “clientVersion”: 3, “nuc”: 2266826199, “nucleusPersonaId”‘. $ id. ‘”nucleusPersonaDisplayName”: “Bot “,” nucleusPersonaPlatform “:” ‘. $ platform.’ “,” locale “:” en-GB “,” method “:” idm “,” priorityLevel “: 4,” identification “: {” EASW-Token “: “”}} ‘
)
);
i received in this variable $ EASW this error message
(string: 77) {“debug”: “”, “string”: “Forbidden (ut)”, “reason”: “doLogin failed”, “code”: “403”}
i change de sku value by
391A0001 and nuc value by this 2301775550 so i received this another error message
(string: 82) {“debug”: “”, “string”: “Forbidden (ut)”, “reason”: “invalid credentials”, “code”: “403”}
please helpme
If anyone is interested in receiving the working and updated GitHub classes, then email me at : curtis@budgetwebsitesolutions.co.uk i’ll be happy to provide them !
Hey Rob,
what’s with the magic numbers?
$rid = $auction->itemData->resourceId;
$l = 0;
WHILE ($rid > 16777216){
$l++;
if ($l == 1){
$rid -= 1342177280;
}elseif ($l == 2){
$rid -= 50331648;
}else{
$rid -= 16777216;
}
}
what’s the mapping here?
Add me on skype : Paid4Upload
If you’re interested in purchasing a completely automated autobuyer using the amazing classes by Rob McGhee
I keep getting an error saying Parse error: syntax error, unexpected ‘<' in C:\xampp\htdocs\Search.php on line 144
How do you transform this code to java?
Hi guys, I have a working autobuyer that I’m now selling. 1 Licence is only £30, and there are discounts for additional ones! Emails me @ dominic@dom.tc for more info!!
For some reason I got this: “Warning: Invalid argument supplied for foreach() in /testing.php on line 172” can anyone help me?
Hi.
Do you have plans to update your code for FUT 14?
The connection process seems to be much different.
Thanks.