Bond697

xfr's thing

Jan 15th, 2012
765
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. <?
  2.  
  3. function ubase64_encode($str)
  4. {
  5. return strtr(base64_encode($str),"+=","-*");
  6. }
  7.  
  8. function ubase64_decode($str)
  9. {
  10. return base64_decode(strtr(urldecode($str),"-*","+="));
  11. }
  12.  
  13. function packreq($params)
  14. {
  15. $devtime = ubase64_encode(gmdate("ymdHis"));
  16.  
  17. // change the userid if required
  18. $res = "sdkver=MDA1MDAz&userid=MjA0NDczNjM4MjM0Nw**&passwd=NTUx&bssid=ZTBhMWQ3NDUxZjFj"
  19. . "&apinfo=MDA6MDAwMDAwMC0wMA**&gamecd=SVJBTw**&makercd=MDE*&unitcd=MA**"
  20. . "&macadr=OGM1NmM1ZTU3YjMw&lang=MDI*&birth=MDAwMA**&devtime=$devtime&devname=WAA*";
  21.  
  22. foreach($params as $key=>$val)
  23. {
  24. $res .= "&$key=".ubase64_encode($val);
  25. }
  26.  
  27. return $res;
  28. }
  29.  
  30. function decoderes($str)
  31. {
  32. $str = explode("&",$str);
  33. $res = array();
  34.  
  35. foreach($str as $k)
  36. {
  37. list($k,$v) = explode("=", $k);
  38. $v = ubase64_decode($v);
  39. $res[$k] = $v;
  40. }
  41.  
  42. return $res;
  43. }
  44.  
  45. function getservicetoken($cache=false)
  46. {
  47. if($cache || (file_exists("servicetoken") && time()<filemtime("servicetoken")+43200))
  48. return trim(file_get_contents("servicetoken"));
  49. else
  50. {
  51. $sock = fsockopen("ssl://nas.nintendowifi.net","443",$errno,$errstr);
  52. if($sock)
  53. {
  54. $req = packreq(array("action"=>"SVCLOC","svc"=>"0000"));
  55. $headers = "POST /ac HTTP/1.0\n"
  56. ."Content-type: application/x-www-form-urlencoded\n"
  57. ."Host: nas.nintendowifi.net\n"
  58. ."User-Agent: Nitro WiFi SDK/5.3\n"
  59. ."HTTP_X_GAMECD: IRAO\n"
  60. ."Connection: close\n"
  61. ."Content-Length: ".strlen($req)."\n\n";
  62.  
  63. fwrite($sock, $headers.$req);
  64.  
  65. for($res=""; !feof($sock);)
  66. $res .= fread($sock, 8192);
  67.  
  68. fclose($sock);
  69.  
  70. list($headers, $res) = explode("\r\n\r\n",$res,2);
  71. $res = decoderes($res);
  72. if(!isset($res['servicetoken'])) die("Error: Pokecheck has been banned on NAS, cannot get service token.");
  73. file_put_contents("servicetoken", $res['servicetoken']);
  74. return $res['servicetoken'];
  75. }
  76. else return getservicetoken(true);
  77. }
  78. }
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment