• Source
    1. <?php
    2. error_reporting(0);
    3. $serial = $_POST["DMPL3QGQF18W"];
    4. $guid = $_POST["guid"];
    5. $activation = $_POST["activation-info"];
    6. $serialsend = mysql_real_escape_string($serial);
    7. $guidsend = mysql_real_escape_string($guid);
    8. $activationsend = mysql_real_escape_string($activation);
    9. $priv_key = "file://iPhoneActivation_private.pem";
    10. // $passphrase is required if your key is encoded (suggested)
    11. $passphrase = "tahgoonz";
    12. $res = openssl_pkey_get_private($priv_key, $passphrase);
    13. /*
    14.  * NOTE: Here you use the returned resource value
    15. */
    16. $xml = $activation;
    17. $dom = new DOMDocument;
    18. $dom->loadXML($xml);
    19. $books = $dom->getElementsByTagName('data');
    20. $cont = 1;
    21. $activationBase64 = "";
    22. foreach ($books as $book) {
    23. if ($cont == 1) $activationBase64 = $book->nodeValue;
    24. echo "<br>:::::" . base64_decode($book->nodeValue) . "<br>";
    25. openssl_private_decrypt(base64_decode($book->nodeValue), $newsource, $res);
    26. $decrypt.= "String decrypt :" . $newsource . "";
    27. $cont++;
    28. }
    29. $activationDecoded = base64_decode($activationBase64);
    30. $dom = new DOMDocument;
    31. $dom->loadXML($activationDecoded);
    32. $books = $dom->getElementsByTagName('string');
    33. $datas = $dom->getElementsByTagName('data');
    34. $cont = 1;
    35. $contd = 1;
    36. $activationRamdomess = "";
    37. $uniqueDiviceID = "";
    38. $deviceCertRequest = "";
    39. foreach ($books as $book) {
    40. if ($cont == 1) $activationRamdomess = $book->nodeValue;
    41. if ($cont == 18) {
    42. $uniqueDiviceID = $book->nodeValue;
    43. //echo '<br>dev id:'.$uniqueDiviceID.'<br><br>';
    44.  
    45. }
    46. echo "<br>book:: " . $book->nodeValue . "<br>";
    47. $cont++;
    48. }
    49. foreach ($datas as $data) {
    50. if ($contd == 2) {
    51. $deviceCertRequest = base64_decode($data->nodeValue);
    52. }
    53. "<br>data::::" . $data->nodeValue . "<br>";
    54. $contd++;
    55. }
    56. $pub_key = "file://iPhoneDeviceCA.pem";
    57. openssl_pkey_get_public($pub_key);
    58. openssl_public_encrypt($deviceCertRequest, $certout, $pub_key);
    59. //$privkey = array(file_get_contents('certs/iPhoneDeviceCA_private.pem'),"minacriss");
    60. //$usercert = openssl_csr_sign($deviceCertRequest, file_get_contents('certs/iPhoneDeviceCA.pem'),$privkey,365,NULL,'6');
    61. //openssl_x509_export($usercert,$certout);
    62. //file_put_contents('serverCASigned.crt',$certout);
    63. $deviceCertificate = base64_encode($certout);
    64. $accountToken = '{' . "
    65. " . '"InternationalMobileEquipmentIdentity" = "013418008030669"; ' . "
    66. " . ' "ActivityURL" = "https://albert.apple.com/deviceservices/activity";' . "
    67. " . '"ActivationRandomness" = "' . $activationRamdomess . '";' . "
    68. " . '"UniqueDeviceID" = "' . $uniqueDiviceID . '"; ' . "
    69. " . ' "CertificateURL" = "https://albert.apple.com/deviceservices/certifyMe"; ' . "
    70. " . ' "PhoneNumberNotificationURL" = "https://albert.apple.com/WebObjects/ALUnbrick.woa/wa/phoneHome"; ' . "
    71. " . ' "WildcardTicket" = "MIIBjQIBATALBgkqhkiG9w0BAQUxWJ8/BAdYVRSfQAThEG8An0sUNNryeKMu9uDgSEFgK2FlrAVLWpefh20HATQYAIAwZp+XPQwAAAAAJIAe7u7u7u+flz4EAAAAAJ+XPwQBAAAAn5dABAEAAAAEgYAAa3vJnrR1LQwG0e3u8bytSsNFqEnWbbtpL86wG+Gn9J0Vnr53DYHFLBIRYrxbIbpQKtsU9ihvQvt0sevcevegfyVSW80QCZoaYj5y7rGgcm+cKoUnDo1mo9+7gMxkfbGMZLpZCre7JU5DlG7XlroUtDtPqClmKWqqX0F4NdWyHKOBnTALBgkqhkiG9w0BAQEDgY0AMIGJAoGBAO06P2TR6CCcwVIGNO9+L7IJfgAsQ0Pn+Krr5kqzwLYAxDUmcGlax16RfnESgQAapA2tNGHBDcdnbUtbbhyygzZ9czGS2mUaYivVHojDzWS+ppYNdgVi8FY5RThhA/FOqX18DsOg/xQg0YL8hgZ+8LMPLBGuwHZWJjBxppL8IDj9AgMBAAE=
    72. ";' . "
    73. " . '}';
    74. $accountTokenBase64 = base64_encode($accountToken);
    75. $pkeyid = openssl_pkey_get_private(file_get_contents("certs/private_key.pem"));
    76. $data = $accountTokenBase64;
    77. // compute signature
    78. echo $data;
    79. openssl_sign($data, $signature, $pkeyid);
    80. // free the key from memory
    81. openssl_free_key($pkeyid);
    82. $accountTokenSignature = base64_encode($signature);
    83. $accountTokenCertificateBase64 = 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURaekNDQWsrZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRVUZBREI1TVFzd0NRWURWUVFHRXdKVlV6RVQKTUJFR0ExVUVDaE1LUVhCd2JHVWdTVzVqTGpFbU1DUUdBMVVFQ3hNZFFYQndiR1VnUTJWeWRHbG1hV05oZEdsdgpiaUJCZFhSb2IzSnBkSGt4TFRBckJnTlZCQU1USkVGd2NHeGxJR2xRYUc5dVpTQkRaWEowYVdacFkyRjBhVzl1CklFRjFkR2h2Y21sMGVUQWVGdzB3TnpBME1UWXlNalUxTURKYUZ3MHhOREEwTVRZeU1qVTFNREphTUZzeEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFLRXdwQmNIQnNaU0JKYm1NdU1SVXdFd1lEVlFRTEV3eEJjSEJzWlNCcApVR2h2Ym1VeElEQWVCZ05WQkFNVEYwRndjR3hsSUdsUWFHOXVaU0JCWTNScGRtRjBhVzl1TUlHZk1BMEdDU3FHClNJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRREZBWHpSSW1Bcm1vaUhmYlMyb1BjcUFmYkV2MGQxams3R2JuWDcKKzRZVWx5SWZwcnpCVmRsbXoySkhZdjErMDRJekp0TDdjTDk3VUk3ZmswaTBPTVkwYWw4YStKUFFhNFVnNjExVApicUV0K25qQW1Ba2dlM0hYV0RCZEFYRDlNaGtDN1QvOW83N3pPUTFvbGk0Y1VkemxuWVdmem1XMFBkdU94dXZlCkFlWVk0d0lEQVFBQm80R2JNSUdZTUE0R0ExVWREd0VCL3dRRUF3SUhnREFNQmdOVkhSTUJBZjhFQWpBQU1CMEcKQTFVZERnUVdCQlNob05MK3Q3UnovcHNVYXEvTlBYTlBIKy9XbERBZkJnTlZIU01FR0RBV2dCVG5OQ291SXQ0NQpZR3UwbE01M2cyRXZNYUI4TlRBNEJnTlZIUjhFTVRBdk1DMmdLNkFwaGlkb2RIUndPaTh2ZDNkM0xtRndjR3hsCkxtTnZiUzloY0hCc1pXTmhMMmx3YUc5dVpTNWpjbXd3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUY5cW1yVU4KZEErRlJPWUdQN3BXY1lUQUsrcEx5T2Y5ek9hRTdhZVZJODg1VjhZL0JLSGhsd0FvK3pFa2lPVTNGYkVQQ1M5Vgp0UzE4WkJjd0QvK2Q1WlFUTUZrbmhjVUp3ZFBxcWpubTlMcVRmSC94NHB3OE9OSFJEenhIZHA5NmdPVjNBNCs4CmFia29BU2ZjWXF2SVJ5cFhuYnVyM2JSUmhUekFzNFZJTFM2alR5Rll5bVplU2V3dEJ1Ym1taWdvMWtDUWlaR2MKNzZjNWZlREF5SGIyYnpFcXR2eDNXcHJsanRTNDZRVDVDUjZZZWxpblpuaW8zMmpBelJZVHh0UzZyM0pzdlpEaQpKMDcrRUhjbWZHZHB4d2dPKzdidFcxcEZhcjBaakY5L2pZS0tuT1lOeXZDcndzemhhZmJTWXd6QUc1RUpvWEZCCjRkK3BpV0hVRGNQeHRjYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=';
    84. echo '<!DOCTYPE html>
    85. <html>
    86. <head>
    87. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    88. <meta name="keywords" content="iTunes Store" />
    89. <meta name="description" content="iTunes Store" />
    90. <title>iPhone Activation</title>
    91. <meta http-equiv="refresh" content="10; url=http://albert.apple.com/deviceservices/deviceActivation/wherever.php" />
    92. <link href="http://static.ips.apple.com/ipa_itunes/stylesheets/shared/common-min.css" charset="utf-8" rel="stylesheet" />
    93. <link href="http://static.ips.apple.com/deviceservices/stylesheets/styles.css" charset="utf-8" rel="stylesheet" />
    94. <link href="http://static.ips.apple.com/ipa_itunes/stylesheets/pages/IPAJingleEndPointErrorPage-min.css" charset="utf-8" rel="stylesheet" />
    95. <script id="protocol" type="text/x-apple-plist">
    96. <plist version="1.0">
    97. <dict>
    98. <key>iphone-activation</key>
    99. <dict>
    100. <key>activation-record</key>
    101. <dict>
    102. <key>FairPlayKeyData</key>
    103. <data><data>LS0tLS1CRUdJTiBDT05UQUlORVItLS0tLQpBQUVBQVpuYlVjaGJBV3hyS0l6aTdTOHRCdXRmSGYxUStUSmRKZDVHQ1VZbEJLVTlPL0hSNy9MNkVSY2dDZTdzCkxib0djOURnWlhCTkw2dGw1SGZTS2o0dXIzSFUzbWVZWjJsSTEwWWk0cEpnYVdDNUNwMGUxbk5ubHpEbTBFejIKaktoQzlWN2dsdExrc0ZoVG9hSHpsazMxYTgrQUV0ZXltMHU0NDlzczE2S0YwS0prT2MzMGZOY0tSZ2lXTzNhdgpIbk5XOFNEbi9nMlR4dzdvUlBQOUN5ZXhmb0Zsbm9hMDZFR3BLZ1JGZys2UHNTeE1vbS9TelREODh3ZmRVRkFRCnVZdlJ5Y3MxeXRXUmRaNjRjdDNiY1NaSjdoTFozMzlWZExjQ25sQm9sbUJMYW1xTk10UFNBNldPSndQbjQ4UXcKOWVGU0FPN3I0VGNnbXk5Q25BVGhYWkIrQVJxQ0ZmWU5FNFRaNWxKN2ZYTFBxTG9JeG9UVUlUMC9GQVBwQ05VdwpLS3NrQnl4ZHh0b3dCMTNMa0tLMEZWdWZKRjJGbWpPYzJzNzRSa1NrcHU1dUxmVk9ZYTRnL3NBZ0lhWU50Q0xRCjB1R3BPYjVTQ09iR29nTm5nMjVYeExWKzdhQ3NUSWIwSnJFckJQMmd5MFhzQXNHN3k2N1loMElMenA0cTlXVGkKUHNNMXJiK2tGQ2tKNmQ3Mnprdk0vUDlwRE5XK0k4ODNlYnVuaWpkT1J1WFloWTVaSmJ3eElqQlNWVGVlQks4RwpvSkJVazFwM1BHUDVrUGRQdlJ4K01vYnB6djR4Qkc4Q0V1NzV1eWllbTFZZkZrRWVVMVE0UzRxcEdvZXhGSm8rCjFmRzJGaG5CcjVnUzVzQ1Jjb3Q0eGlPOEZnU2ZJK3pBN1hTZ2k4Vk01aWc0akN0ZE5ha2kzK2FMcTl5QzRxZ2UKcSsvaDE4SUx4SEhvRnp6bHJvWmZ6dFlYcVA2b3QvRnZEb3RpVk5JQzA1eEpPeTNoRDFPakZKZE1TOXFieGZ4aQp4VS9yR2llSjNad2tRYS9ocGo5SzRTbDRzS05yN0ovSlBaRGc1S3dqZ21RWUkrRTBOOXg0M2ZTcFFFaEpOR0tsCjFmVFE1TzVZSC9pZytkcW9Yb3g3blBoMm9QSG9sL1VEZThiaHVyMHdHV0xMU3hNelBjQVlwNFVaUTdmSXAyUTYKSGZwK1lON3MvTll5N0JPZERlQjlxRjg3TkpLTzdUL2ttR0p0Sm5naVhkVjRkUWpHaWMweHpId3M1a1plSW1GNgpFRS9YWTdpYVVycjdGWFlvdHVmWXRvQllLQ05OSk5lQTNJRkl4WENrNHh1aCtFVTZWWDQrb1gwM3duYmRWYjcyCjI0UlJWNkpyVGo5RklBcVZXVmNlMm4ybkxZd2ZtZEw2dGtzWUdzNmFHajQrQ25FcmVseDBFazQ3c21VNDlDZ28KeHpKczRNdHFXdWFMSFlWaHdmTG9HdHZqWnJkVnBZbFNYdlliVlhRK0Jib0F2RUlabGVCMjBQMUhxZXBQQ011YgpQUlBtbHJmOFB6TFEycG9HMHY0eWNCbWVKbk9kam83cnhRbytML0FMOGpBdUlyTTNXVjI2MXNKbTIyZy84NENVCi81OW1aREdFR3VxcGVLcHFsbDdFUHM2OU5JMkprU3l2WjJKZjhmNmI3ckpDU2xUdElBdTc4THdPODZjSEJ6OGMKZTlTWUVLZlVBTnNwS0tteW1haFdzYis4ZitidUpUVDA3MlhIMURteUwxcjAxeVdMSDBBTVRPbmhZa2Zzb0hPaQo4cUhDT2JkZk51ci9TSFM1YzlqTGFhZjVLdFVHbWN2dFNWVU1JaE96cXZHQlBEU1Zod1JRUVVuemtvNVBCeWJICm8xTURLZnZ5T3R6SGxmb24wVUhIY2tRd0VWSzMvT0pSU3ZkSGFlb1ZNUmt4ZThuYmprZWFub3Nsc2RMRjgyeGsKVjNKdjU0VldaQ3pDVHZ4eXVvTk9NZ1NlcE9iSVVPTGpYcGREUDJXT2FZWlMwYXBxCi0tLS0tRU5EIENPTlRBSU5FUi0tLS0tCg==</data>==</data>
    104. <key>AccountTokenCertificate</key>
    105. <data>LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURaekNDQWsrZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRVUZBREI1TVFzd0NRWURWUVFHRXdKVlV6RVQKTUJFR0ExVUVDaE1LUVhCd2JHVWdTVzVqTGpFbU1DUUdBMVVFQ3hNZFFYQndiR1VnUTJWeWRHbG1hV05oZEdsdgpiaUJCZFhSb2IzSnBkSGt4TFRBckJnTlZCQU1USkVGd2NHeGxJR2xRYUc5dVpTQkRaWEowYVdacFkyRjBhVzl1CklFRjFkR2h2Y21sMGVUQWVGdzB3TnpBME1UWXlNalUxTURKYUZ3MHhOREEwTVRZeU1qVTFNREphTUZzeEN6QUoKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFLRXdwQmNIQnNaU0JKYm1NdU1SVXdFd1lEVlFRTEV3eEJjSEJzWlNCcApVR2h2Ym1VeElEQWVCZ05WQkFNVEYwRndjR3hsSUdsUWFHOXVaU0JCWTNScGRtRjBhVzl1TUlHZk1BMEdDU3FHClNJYjNEUUVCQVFVQUE0R05BRENCaVFLQmdRREZBWHpSSW1Bcm1vaUhmYlMyb1BjcUFmYkV2MGQxams3R2JuWDcKKzRZVWx5SWZwcnpCVmRsbXoySkhZdjErMDRJekp0TDdjTDk3VUk3ZmswaTBPTVkwYWw4YStKUFFhNFVnNjExVApicUV0K25qQW1Ba2dlM0hYV0RCZEFYRDlNaGtDN1QvOW83N3pPUTFvbGk0Y1VkemxuWVdmem1XMFBkdU94dXZlCkFlWVk0d0lEQVFBQm80R2JNSUdZTUE0R0ExVWREd0VCL3dRRUF3SUhnREFNQmdOVkhSTUJBZjhFQWpBQU1CMEcKQTFVZERnUVdCQlNob05MK3Q3UnovcHNVYXEvTlBYTlBIKy9XbERBZkJnTlZIU01FR0RBV2dCVG5OQ291SXQ0NQpZR3UwbE01M2cyRXZNYUI4TlRBNEJnTlZIUjhFTVRBdk1DMmdLNkFwaGlkb2RIUndPaTh2ZDNkM0xtRndjR3hsCkxtTnZiUzloY0hCc1pXTmhMMmx3YUc5dVpTNWpjbXd3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUY5cW1yVU4KZEErRlJPWUdQN3BXY1lUQUsrcEx5T2Y5ek9hRTdhZVZJODg1VjhZL0JLSGhsd0FvK3pFa2lPVTNGYkVQQ1M5Vgp0UzE4WkJjd0QvK2Q1WlFUTUZrbmhjVUp3ZFBxcWpubTlMcVRmSC94NHB3OE9OSFJEenhIZHA5NmdPVjNBNCs4CmFia29BU2ZjWXF2SVJ5cFhuYnVyM2JSUmhUekFzNFZJTFM2alR5Rll5bVplU2V3dEJ1Ym1taWdvMWtDUWlaR2MKNzZjNWZlREF5SGIyYnpFcXR2eDNXcHJsanRTNDZRVDVDUjZZZWxpblpuaW8zMmpBelJZVHh0UzZyM0pzdlpEaQpKMDcrRUhjbWZHZHB4d2dPKzdidFcxcEZhcjBaakY5L2pZS0tuT1lOeXZDcndzemhhZmJTWXd6QUc1RUpvWEZCCjRkK3BpV0hVRGNQeHRjYz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=</data>
    106. <key>DeviceCertificate</key>
    107. <data>' . $deviceCertificate . '</data>
    108. <key>AccountTokenSignature</key>
    109. <data>' . $accountTokenSignature . '</data>
    110. <key>AccountToken</key>
    111. <data>' . $accountTokenBase64 . '</data>
    112. </dict>
    113. <key>unbrick</key>
    114. <true/>
    115. </dict>
    116. </dict>
    117. </plist>
    118. </script>
    119. <script>
    120. var protocolElement = document.getElementById("protocol");
    121. var protocolContent = protocolElement.innerText;iTunes.addProtocol(protocolContent);
    122. </script>
    123. </head>
    124. <body><br>
    125. ' . $serial . '<br>
    126. ' . $guid . '<br>
    127. ' . $activation . '<br>
    128. ' . $decrypt . '<br>
    129. <br><br>CSR:<br>' . $deviceCertRequest . '<br><br>
    130. <br><br>AccountTokenCertificate: <br>' . $accountTokenCertificateBase64 . '<br><br>
    131. <br><br>DeviceCertificate: <br>' . $deviceCertificate . '<br><br>
    132. <br><br>AccountTokenSignature:<br> ' . $accountTokenSignature . '<br><br>
    133. <br><br>AccountToken: <br>' . $accountTokenBase64 . '<br><br>
    134. </body>
    135. </html>
    136. ';
    137. ?>
    138. </div>