solusvm的授权部分在system下面的clean.php里面。

这个文件包括两个函数,一个LicenseDecode,一个LicenseDecodePart。

那么自然,逆向他的算法即可。

因为怕dmca,我就不放解密了~

我放加密233333

<?php
private $_s_C_OOO_o01 = "ypO%_Y/y0#rY@KFi==@65%swYskCaCTk-52#*StP6HCsrwP!tB";
private $_s_C_OOO_o02 = "MM=co=_prb+;XyuHkHfNtyWy/y@/FzcofZ9HqjQ9?XxSb96a.d";
private $_s_C_OOO_o03 = "31m*R*Z!zmnDjdqovF8Wyq1-LZUAFohEKqn652kM.FGykJF7LT";
private $_s_C_OOO_o04 = "UF*zssdx8E9Q7+tzZ%*Y#j2=/FFZOekUr1BXB6OANpO1-ivAOm";
private $_s_C_OOO_o05 = 30;
private $_s_C_OOO_o06 = "+";
private $_s_C_OOO_o07 = 30;
private $_s_C_OOO_o08 = "(";
private $_s_C_OOO_o09 = "=============================== START KEY DATA =================================\n";
private $_s_C_OOO_o10 = "\n================================ END KEY DATA ==================================";

public function LicenseEncode($result)
{
$resulttraw = serialize($result);
$resulttraw = base64_encode($resulttraw);
$md5Hash = md5($resulttraw . $result['checkDate'] . $this->_s_C_OOO_o04);
$data = $md5Hash.$resulttraw;
$md5Hash = md5(strrev($data) . $this->_s_C_OOO_o03);
$data = $md5Hash.strrev($data);
$data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o01);
$data = strrev($data);
$data = gzdeflate($data);
$data = convert_uuencode($data);
$data = strrev($data);
$data = $this->LicenseEncodePart($data, $this->_s_C_OOO_o02);
$data = strtoupper($data);
$data = wordwrap($data, 18, "+", true);
$data = wordwrap($data, 348, "(", true);
$data = wordwrap($data, 80, "\n", true);
$data = $this->_s_C_OOO_o09 . $data;
$data = $data . $this->_s_C_OOO_o10;
return $data;
}

private function LicenseEncodePart($string, $key)
{
$key = sha1($key);
$strLen = strlen($string);
$keyLen = strlen($key);
$i = 0;
while( $i < $strLen )
{
$ordStr = ord(substr($string, $i, 1));
if( $j == $keyLen )
{
$j = 0;
}
$ordKey = ord(substr($key, $j, 1));
$j++;
$hash .= strrev(base_convert(dechex($ordStr + $ordKey), 16, 36));
$i += 1;
}
return $hash;
}

授权访问的位置是 /clients/modules/servers/licensing/slbs_verify_license.php
slbs_verify_license.php的范例:

<?php
require "cleaned.php";
if(isset($_POST["nodes"]) && isset($_POST["licensekey"]) && isset($_POST["domain"]) && isset($_POST["ip"]) && isset($_POST["dir"])){
$returnarray = array( "hash" => '',
"hash2" => '',
"status" => 'Active',
"productid" => 20,
"checkDate" => date("Y-M-D"),
"companyname" => "NagakaTech",
"email" => "admin@loli.ren",
"configoptions" => "Slaves=100|Mini Slaves=100|Micro Slaves=100"
);
$data = LicenseEncode($returnarray);
echo($data);
}else{
echo("No input");
}

附注:
solusvm服务器(需要host掉)
http://www.soluslabs.com
licensing1.soluslabs.net
licensing5.soluslabs.net

友情链接:
https://www.myitmx.com/470.html
https://www.loli.ren/2018/01/27/%E8%AE%B0%E4%B8%80%E6%AC%A1solusvm%E7%9A%84%E7%A0%B4%E8%A7%A3