末尾的tt填入要解密的内容 使用nodejs运行代码
var LZString = (function() {
var f = String.fromCharCode;
var keyStrBase64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var baseReverseDic = {};
function getBaseValue(alphabet, character) {
if (!baseReverseDic[alphabet]) {
baseReverseDic[alphabet] = {};
for (var i = 0; i < alphabet.length; i++) {
baseReverseDic[alphabet][alphabet.charAt(i)] = i
}
}
return baseReverseDic[alphabet][character]
}
var LZString = {
decompressFromBase64: function(input) {
if (input == null)
return "";
if (input == "")
return null;
return LZString._0(input.length, 32, function(index) {
return getBaseValue(keyStrBase64, input.charAt(index))
})
},
_0: function(length, resetValue, getNextValue) {
var dictionary = [], next, enlargeIn = 4, dictSize = 4, numBits = 3, entry = "", result = [], i, w, bits, resb, maxpower, power, c, data = {
val: getNextValue(0),
position: resetValue,
index: 1
};
for (i = 0; i < 3; i += 1) {
dictionary[i] = i
}
bits = 0;
maxpower = Math.pow(2, 2);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
switch (next = bits) {
case 0:
bits = 0;
maxpower = Math.pow(2, 8);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
c = f(bits);
break;
case 1:
bits = 0;
maxpower = Math.pow(2, 16);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
c = f(bits);
break;
case 2:
return ""
}
dictionary[3] = c;
w = c;
result.push(c);
while (true) {
if (data.index > length) {
return ""
}
bits = 0;
maxpower = Math.pow(2, numBits);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
switch (c = bits) {
case 0:
bits = 0;
maxpower = Math.pow(2, 8);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
dictionary[dictSize++] = f(bits);
c = dictSize - 1;
enlargeIn--;
break;
case 1:
bits = 0;
maxpower = Math.pow(2, 16);
power = 1;
while (power != maxpower) {
resb = data.val & data.position;
data.position >>= 1;
if (data.position == 0) {
data.position = resetValue;
data.val = getNextValue(data.index++)
}
bits |= (resb > 0 ? 1 : 0) * power;
power <<= 1
}
dictionary[dictSize++] = f(bits);
c = dictSize - 1;
enlargeIn--;
break;
case 2:
return result.join('')
}
if (enlargeIn == 0) {
enlargeIn = Math.pow(2, numBits);
numBits++
}
if (dictionary[c]) {
entry = dictionary[c]
} else {
if (c === dictSize) {
entry = w + w.charAt(0)
} else {
return null
}
}
result.push(entry);
dictionary[dictSize++] = w + entry.charAt(0);
enlargeIn--;
w = entry;
if (enlargeIn == 0) {
enlargeIn = Math.pow(2, numBits);
numBits++
}
}
}
};
return LZString
}
)();
tt = 'D7BWAcHNgdwUwEbmIGm8AMbC70ccAnOAkgHYCWALiGgKzBoAstAzLQEy0CMtawAZiQDZwAziADGRAIYBbOMDqMq7FgHZgokgBNgjdlSpoA+uwCcwJCVHBAL6mBYGMDj8YDbtB2ckyQOvdwSbeJUkIALOC0eCX4hWUEiYCI4AA8yAi0AFQBxAEECAHUeDQBZABESAFdQSH4AR2SALwANKgNamGB2ADZFKmMqFmpgIX4cfAA3JLkWKmUWNmASKUgCiTIJM34Ae1EAawNRSwBlPIAJPqWyYpFQDUhQUBa21QBPCnAhNnBFgKA=='
String.prototype.splic = function(f) {
return 1
}
;
console.log(LZString.decompressFromBase64(tt))
解密前
D7BWAcHNgdwUwEbmIGm8AMbC70ccAnOAkgHYCWALiGgKzBoAstAzLQEy0CMtawAZiQDZwAziADGRAIYBbOMDqMq7FgHZgokgBNgjdlSpoA+uwCcwJCVHBAL6mBYGMDj8YDbtB2ckyQOvdwSbeJUkIALOC0eCX4hWUEiYCI4AA8yAi0AFQBxAEECAHUeDQBZABESAFdQSH4AR2SALwANKgNamGB2ADZFKmMqFmpgIX4cfAA3JLkWKmUWNmASKUgCiTIJM34Ae1EAawNRSwBlPIAJPqWyYpFQDUhQUBa21QBPCnAhNnBFgKA==
解密后
||jpg|webp|第00话|preInit||05|04|03|02|01|00|files||cname|435127|cid|31550_19|bpic|间谍过家家|bname||31550|bid|finished|false|len|nextId|TGAIWfdMDiujglqTzX5_Xw|1651595205|sl|prevId|425722||imgData|block_cc|SMH|status|jdgjj|1167|yt|ps2|path