Вот функция разшифровки: Code: function decrypt($str,$pwd){$pwd=base64_encode($pwd);$str=base64_decode($str);$enc_chr="";$enc_str="";$i=0;while($i<strlen($str)){for($j=0;$j<strlen($pwd);$j++){$enc_chr=chr(ord($str[$i])^ord($pwd[$j]));$enc_str.=$enc_chr;$i++;if($i>=strlen($str))break;}}return base64_decode($enc_str);} А вот шифрование Code: function encrypt(str,pwd){if(pwd==null||pwd.length<=0){return null;}str=base64_encode(str);pwd=base64_encode(pwd);var enc_chr='';var enc_str='';var i=0;while(i<str.length){for(var j=0;j<pwd.length;j++){enc_chr=str.charCodeAt(i)^pwd.charCodeAt(j);enc_str+=String.fromCharCode(enc_chr);i++;if(i>=str.length)break;}}return base64_encode(enc_str);} function utf8_encode(argString){var string=(argString+'');var utftext='',start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end++;}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128);}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128);}if(enc!==null){if(end>start){utftext+=string.slice(start,end);}utftext+=enc;start=end=n+1;}}if(end>start){utftext+=string.slice(start,stringl);}return utftext;} function base64_encode(data){var b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc='',tmp_arr=[];if (!data){return data;}data=utf8_encode(data+'');do{o1=data.charCodeAt(i++);o2=data.charCodeAt(i++);o3=data.charCodeAt(i++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4);}while(i<data.length);enc=tmp_arr.join('');switch (data.length%3){case 1:enc=enc.slice(0,-2)+'==';break;case 2:enc=enc.slice(0,-1)+'=';break;}return enc;} function set(a,c,p1,p2,p3,charset) { Тоесть ключ для шифрования передаётся как печенька с именем 'md5($_SERVER['HTTP_HOST'])."key"' и значением md5($_SERVER['HTTP_USER_AGENT']). В самом шифрование и данные и ключ кодируются в base64, и делается XOR ключа с данными. Шифр снова кодируется в base64.
а зачем такая заморочка при автоматизации работы с новыми шелами? 560c6f5b685947113ec71a03d59277fb 21232f297a57a5a743894a0e4a801fc3 /wp-content/uploads/2020/04/1/ 560c6f5b685947113ec71a03d59277fbkey bc5bf2385512f2fbb9c7481bce116923 /wp-content/uploads/2020/04/ 560c6f5b685947113ec71a03d59277fb 188162e90b88271030885b3bd7cfd523 /wp-content/uploads/2020/04/ a=CwAhQgM1FywvSF5CLSN4RA%3D%3D& c=FV8lRzs6DA8sLR9dLGY9ETstHxs6JR9cOz0PWhd2Llk7ZSIOKWcYQRRYdEg9KhtEPS5gSC49H0cXAxcDFhADGhQHCEMUPjJGAhd%2BVA%3D%3D& p1=PSobAQM1CxUBFCVeLRV4RA%3D%3D&p2=Ozo5XDg6IRU%3D& p3=& charset=UTF-8 вот первые строки с куками и данные которые шифруются как понять ключ в куках?
Ключ в куках : 560c6f5b685947113ec71a03d59277fbkey имеет значение bc5bf2385512f2fbb9c7481bce116923. Вот вам функция расшифровке в JS Code: function decrypt(cipher,pwd){ key = btoa(pwd); console.log("Key="+key+" length="+key.length); str_cipher = atob(unescape(cipher)); console.log("Encrypted string = "+str_cipher+" length="+str_cipher.length); enc_chr = ""; enc_str=""; i=0; while(i<str_cipher.length){ for(let j=0;j<key.length; j++){ console.log("i="+i+" j="+j+" str_cipher["+i+"]="+str_cipher[i]+"="+(str_cipher[i]).charCodeAt(0)+" key["+j+"]="+key[j]+"="+(key[j]).charCodeAt(0)); enc_chr = String.fromCharCode((str_cipher[i]).charCodeAt(0)^(key[j]).charCodeAt(0)); enc_str += enc_chr; i++; if(i+1 > str_cipher.length){ console.log("True");break; } } } return atob(enc_str); } тоесть что-бы расшифровать значение а, передаёте Code: decrypt("CwAhQgM1FywvSF5CLSN4RA%3D%3D","bc5bf2385512f2fbb9c7481bce116923") и получаете "FilesTools". а = "FilesTools" c="/home/ileolahe/public_html/wp-content/uploads/2020/04/1/" p1="tetete.php" p2="mkfile"
Спасибо большое. а кодирование данных если есть и не трудно опишите пожалуйста. JS начал разбирать чтоб переписать под свой язык. вашу функцию декодирования вроде разберу а кодирование бы еще.
Доброго всем. В одном из сообщении выше, давали ссылку на wso билдер. Code: http://kronus.me/cn/wso-builder/1.04/ Сайт лёг. У кого остался скрипт, просьба поделиться.