该代码经过了混淆和加密,需要还原。

通过观察代码,可以发现以下几点:

  • 加密函数的名称为 _0x9f4c,被多次调用。
  • 加密函数内部存在字符串的拼接和位运算。
  • 加密函数的返回值会被缓存,避免重复加密。

根据以上特征,可以推测加密函数使用了某种加密算法,对字符串进行了混淆处理。

下面是对该代码的还原:

async function callCHATGPT() { var url = "https://free-api.cveoy.top/v2/completions"; var version_ = 'jsjiami.com.v7';

// 解密函数
function decrypt(str, key) {
    var k = key();
    return function (arr, len) {
        arr = arr - 0xad;
        var r = k[arr];
        if (decrypt.XHnbsj === undefined) {
            var base64DecodeChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';
            var hexDigits = '0123456789ABCDEF';
            var hexDecodeChars = new Array();
            for (var i = 0; i < 16; i++) {
                hexDecodeChars[hexDigits.charAt(i)] = i;
            }
            var utf8Decode = function (utftext) {
                var string = "";
                var i = 0;
                var c = c1 = c2 = 0;
                while (i < utftext.length) {
                    c = utftext.charCodeAt(i);
                    if (c < 128) {
                        string += String.fromCharCode(c);
                        i++;
                    } else if ((c > 191) && (c < 224)) {
                        c2 = utftext.charCodeAt(i + 1);
                        string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                        i += 2;
                    } else {
                        c2 = utftext.charCodeAt(i + 1);
                        c3 = utftext.charCodeAt(i + 2);
                        string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                        i += 3;
                    }
                }
                return string;
            }
            var utf8Encode = function (string) {
                string = string.replace(/\r\n/g, "\n");
                var utftext = "";
                for (var n = 0; n < string.length; n++) {
                    var c = string.charCodeAt(n);
                    if (c < 128) {
                        utftext += String.fromCharCode(c);
                    } else if ((c > 127) && (c < 2048)) {
                        utftext += String.fromCharCode((c >> 6) | 192);
                        utftext += String.fromCharCode((c & 63) | 128);
                    } else {
                        utftext += String.fromCharCode((c >> 12) | 224);
                        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                        utftext += String.fromCharCode((c & 63) | 128);
                    }
                }
                return utftext;
            }
            var stringToHex = function (s) {
                var r = "";
                var i;
                var h;
                for (i = 0; i < s.length; i++) {
                    h = s.charCodeAt(i).toString(16);
                    r += h;
                }
                return r;
            }
            var hexToString = function (s) {
                var r = "";
                for (var i = 0; i < s.length; i += 2) {
                    var c = parseInt(s.substr(i, 2), 16);
                    r += String.fromCharCode(c);
                }
                return r;
            }
            var base64Encode = function (input) {
                var output = "";
                var chr1, chr2, chr3, enc1, enc2, enc3, enc
将下面的js代码解密async function callCHATGPT 		var url = httpsfree-apicveoytopv2completions;		var version_=jsjiamicomv7;var _0x123e5b=_0x9f4c;function_0x49e973_0x114c33_0x2ae680_0x2cbfe5_0x257391_0x18d12d_0x2

原文地址: https://www.cveoy.top/t/topic/8MM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录