Guest User

Untitled

a guest
Jan 17th, 2018
550
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. <?php
  2. if ($argc < 4) {
  3. echo "Usage: php " . $argv[0] . " mac expireYear bandwidth, Bandwidth=0 means unlimited.\nExample: php " . $argv[0] . " 04:a0:67:a1:05:0b 2999 0 \n";
  4. die;
  5. }
  6. $lic_tpl = 'b226bc274e220f53e22d863a1ec913dea6961bd046d034e88818e68d260d781345298b8d3b11e00b5061045667c12af4982992ab86ee7a4f84c1ef83020a1adc[serial]c81cb3b404eab69f59993fbf62bd373a[date]0663cea3f326[bw]a366445113ecf74205e40af32cb30c5342cc5ebd981f7e02a9326f3823e8304e4d20f942f20bdfbeaeeff843';
  7. // month/date base: FA43 now 0663 => 1231 we do not change it
  8. $date_base = 16245;
  9. $bw_base = 3812869942;
  10. $mac = $argv[1];
  11. $date = intval($argv[2]);
  12. $bw = intval($argv[3]);
  13. $mac = explode(':', $mac);
  14. $mac_res = array();
  15. for ($i = 0; $i < 16; $i++) {
  16. if ($i < 6) {
  17. $mac_res[$i] = intval($mac[$i], 16) + $i;
  18. } else {
  19. $mac_res[$i] = $mac_res[$i % 6] + $i;
  20. }
  21. }
  22. $serial = '';
  23. for ($i = 0; $i < 8; $i++) {
  24. $serial .= sprintf('%02X', ($mac_res[$i] + $mac_res[$i + 8]) % 256);
  25. }
  26. echo 'SerialNo:' . $serial . '
  27. ';
  28. $lic = '';
  29. $rd = array(162, 15, 239, 202, 57, 14, 45, 164, 147, 232, 120, 90, 117, 15, 239, 232);
  30. for ($i = 0; $i < 16; $i++) {
  31. $lic .= sprintf('%02x', (ord($serial[$i]) + $rd[$i]) % 256);
  32. }
  33. echo 'Lic:' . $lic . '
  34. ';
  35. $date_lic = unpack('H*', pack('v', $date_base + $date));
  36. $date_lic = $date_lic[1];
  37. $bw_lic = unpack('H*', pack('V', $bw_base + $bw));
  38. $bw_lic = $bw_lic[1];
  39. $lic = str_replace('[serial]', $lic, $lic_tpl);
  40. $lic = str_replace('[date]', $date_lic, $lic);
  41. $lic = str_replace('[bw]', $bw_lic, $lic);
  42. @file_put_contents("./apx-" . $date . "1231.lic", pack('H*', $lic));
Add Comment
Please, Sign In to add comment