|
|
|
@ -62,20 +62,42 @@ class MakeLicense |
|
|
|
|
|
|
|
|
|
|
|
// Output the results |
|
|
|
// Output the results |
|
|
|
let aes = "<?php \n"; |
|
|
|
let aes = "<?php \n"; |
|
|
|
let aes .= "function getAES_master_keys() { \n"; |
|
|
|
let aes .= "function rnd_q(): false|array { \n"; |
|
|
|
let aes .= "\t // Generated AES-256 Key (32 bytes): \n"; |
|
|
|
let aes .= "\t $a = \"". KeyHex ."\"; \n"; |
|
|
|
let aes .= "\t $aesKey = hex2bin(\"". KeyHex ."\"); \n"; |
|
|
|
let aes .= "\t if (is_hex_check($a)) { \n"; |
|
|
|
let aes .= "\t // Generated IV (16 bytes): \n"; |
|
|
|
let aes .= "\t \t $a = hex2bin($a); \n"; |
|
|
|
let aes .= "\t $aesIV = hex2bin(\"". ivHex ."\"); \n"; |
|
|
|
let aes .= "\t } else { \n"; |
|
|
|
let aes .= "\t return [\$aesKey, \$aesIV]; \n"; |
|
|
|
let aes .= "\t \t return false; \n"; |
|
|
|
let aes .= "}"; |
|
|
|
let aes .= "\t } \n"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let aes .= "\t $b = \"". ivHex ."\"; \n"; |
|
|
|
|
|
|
|
let aes .= "\t if (is_hex_check($b)) { \n"; |
|
|
|
|
|
|
|
let aes .= "\t \t $b = hex2bin($b); \n"; |
|
|
|
|
|
|
|
let aes .= "\t } else { \n"; |
|
|
|
|
|
|
|
let aes .= "\t \t return false; \n"; |
|
|
|
|
|
|
|
let aes .= "\t } \n"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let aes .= "\t return [$a, $b]; \n"; |
|
|
|
|
|
|
|
let aes .= "} \n\n"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let aes .= "function is_hex_check($hex) { \n"; |
|
|
|
|
|
|
|
let aes .= "\t $cleaned = preg_replace('/\s+/', '', $hex); \n"; |
|
|
|
|
|
|
|
let aes .= "\t if ($cleaned === '') { \n"; |
|
|
|
|
|
|
|
let aes .= "\t \t return false; \n"; |
|
|
|
|
|
|
|
let aes .= "\t } \n"; |
|
|
|
|
|
|
|
let aes .= "\t return (strlen($cleaned) % 2 === 0) && ctype_xdigit($cleaned); \n"; |
|
|
|
|
|
|
|
let aes .= "} \n\n"; |
|
|
|
file_put_contents(AESKeysFile, aes); |
|
|
|
file_put_contents(AESKeysFile, aes); |
|
|
|
|
|
|
|
|
|
|
|
let aesKey = Key; |
|
|
|
let aesKey = Key; |
|
|
|
let aesIV = iv; |
|
|
|
let aesIV = iv; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
require AESKeysFile; |
|
|
|
require AESKeysFile; |
|
|
|
let r = getAES_master_keys(); |
|
|
|
let r = rnd_q(); |
|
|
|
|
|
|
|
if r === false { |
|
|
|
|
|
|
|
echo "RND_Q bad!"; |
|
|
|
|
|
|
|
exit(1); |
|
|
|
|
|
|
|
} |
|
|
|
let aesKey = r[0]; |
|
|
|
let aesKey = r[0]; |
|
|
|
let aesIV = r[1]; |
|
|
|
let aesIV = r[1]; |
|
|
|
} |
|
|
|
} |
|
|
|
|