main
Robert 5 months ago
parent 1604390e01
commit e81f3ffc19
  1. 38
      Zephir/aes-license/hydraterlicense/hydraterlicense/makelicense.zep
  2. 5
      Zephir/aes-loader/hydraterbootloader/hydraterbootloader/licenseverifier.zep
  3. 4
      src/classes/extras_booter.php
  4. 4
      src/classes/make_license_files.php

@ -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];
} }

@ -20,7 +20,10 @@ class LicenseVerifier
} }
require keyFile; require keyFile;
let r = getAES_master_keys(); let r = rnd_q();
if r === false {
return false;
}
let aesKey = r[0]; let aesKey = r[0];
let aesIV = r[1]; let aesIV = r[1];

@ -13,7 +13,7 @@ namespace CodeHydrater;
use HydraterBootloader\LicenseVerifier; use HydraterBootloader\LicenseVerifier;
const PublicPEM = BaseDir."/protected/keydata/public.pem"; const PublicPEM = BaseDir."/protected/keydata/public.pem";
const AESKeysFile = BaseDir."/protected/src/aeskeys.php"; const RND_Q = BaseDir."/protected/keydata/rnd_q.php";
const LicenseFile = BaseDir."/protected/keydata/license.json"; const LicenseFile = BaseDir."/protected/keydata/license.json";
class extras_booter { class extras_booter {
@ -25,7 +25,7 @@ class extras_booter {
$verifier = new LicenseVerifier(); $verifier = new LicenseVerifier();
try { try {
return $verifier->tryEnabledItem(LicenseFile, AESKeysFile, $featureName, PublicPEM, $include, $refresh); return $verifier->tryEnabledItem(LicenseFile, RND_Q, $featureName, PublicPEM, $include, $refresh);
} catch (\Exception $e) { } catch (\Exception $e) {
return false; return false;
} }

@ -14,7 +14,7 @@ use HydraterLicense\MakeLicense;
const PrivatePEM = BaseDir."/keydata/private.pem"; const PrivatePEM = BaseDir."/keydata/private.pem";
const PublicPEM = BaseDir."/keydata/public.pem"; const PublicPEM = BaseDir."/keydata/public.pem";
const AESKeysFile = BaseDir."/src/aeskeys.php"; const RND_Q = BaseDir."/keydata/rnd_q.php";
const LicenseFile = BaseDir."/keydata/license.json"; const LicenseFile = BaseDir."/keydata/license.json";
if (! class_exists("HydraterLicense\MakeLicense")) { if (! class_exists("HydraterLicense\MakeLicense")) {
@ -26,6 +26,6 @@ $license_maker->generateLicense(
ALLOWED_DOMAINS, ALLOWED_DOMAINS,
PrivatePEM, PrivatePEM,
PublicPEM, PublicPEM,
AESKeysFile, RND_Q,
LicenseFile LicenseFile
); );
Loading…
Cancel
Save