Commit e7ed8140 authored by Medicean's avatar Medicean

(Enhance: Core) JSP 类型支持「解码器」

parent 58f9486c
/**
* JSP::reverse 解码器
*/
'use strict';
module.exports = {
asoutput: (ext={}) => {
/**
* ext = {
* opts: 类型为 Object, Shell 配置
* }
*/
return `yv66vgAAADIAHgoACAATBwAUCgACABUKAAIAFgoAAgAXCQAHABgHABkHABoBAANyZXMBABJMamF2YS9sYW5nL1N0cmluZzsBAAY8aW5pdD4BABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBAARDb2RlAQAPTGluZU51bWJlclRhYmxlAQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEAClNvdXJjZUZpbGUBABRBc291dHB1dFJldmVyc2UuamF2YQwACwAbAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwACwAMDAAcAB0MAA8AEAwACQAKAQAPQXNvdXRwdXRSZXZlcnNlAQAQamF2YS9sYW5nL09iamVjdAEAAygpVgEAB3JldmVyc2UBABooKUxqYXZhL2xhbmcvU3RyaW5nQnVmZmVyOwAhAAcACAAAAAEAAAAJAAoAAAACAAEACwAMAAEADQAAADcABAACAAAAFyq3AAEquwACWSu3AAO2AAS2AAW1AAaxAAAAAQAOAAAADgADAAAAAwAEAAQAFgAFAAEADwAQAAEADQAAAB0AAQABAAAABSq0AAawAAAAAQAOAAAABgABAAAACAABABEAAAACABI=`;
},
decode_buff: (buff) => {
return Buffer.from(buff).reverse();
}
}
\ No newline at end of file
/**
* php::rot13 解码器
*/
'use strict';
const rot13encode = (s) => {
//use a Regular Expression to Replace only the characters that are a-z or A-Z
return s.replace(/[a-zA-Z]/g, function (c) {
// Get the character code of the current character and add 13 to it If it is
// larger than z's character code then subtract 26 to support wrap around.
return String.fromCharCode((c <= "Z" ?
90 :
122) >= (c = c.charCodeAt(0) + 13) ?
c :
c - 26);
});
};
module.exports = {
asoutput: () => {
return `yv66vgAAADIAKwoACgAZBwAaCgACABsKAAIAHAoAAgAdCgACAB4KAAIAHwkACQAgBwAhBwAiAQADcmVzAQASTGphdmEvbGFuZy9TdHJpbmc7AQAGPGluaXQ+AQAVKExqYXZhL2xhbmcvU3RyaW5nOylWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEADVN0YWNrTWFwVGFibGUHACEHACMHABoBAAh0b1N0cmluZwEAFCgpTGphdmEvbGFuZy9TdHJpbmc7AQAKU291cmNlRmlsZQEAEkFzb3V0cHV0Um90MTMuamF2YQwADQAkAQAWamF2YS9sYW5nL1N0cmluZ0J1ZmZlcgwADQAODAAlACYMACcAKAwAKQAqDAAVABYMAAsADAEADUFzb3V0cHV0Um90MTMBABBqYXZhL2xhbmcvT2JqZWN0AQAQamF2YS9sYW5nL1N0cmluZwEAAygpVgEABmxlbmd0aAEAAygpSQEABmNoYXJBdAEABChJKUMBAAlzZXRDaGFyQXQBAAUoSUMpVgAhAAkACgAAAAEAAAALAAwAAAACAAEADQAOAAEADwAAAPwAAwAFAAAAlSq3AAG7AAJZK7cAA00DPh0stgAEogB4LB22AAU2BBUEEGGhABUVBBBtowAOFQQQDWCSNgSnAEsVBBBBoQAVFQQQTaMADhUEEA1gkjYEpwAyFQQQbqEAFRUEEHqjAA4VBBANZJI2BKcAGRUEEE6hABIVBBBaowALFQQQDWSSNgQsHRUEtgAGhAMBp/+GKiy2AAe1AAixAAAAAgAQAAAAMgAMAAAAAwAEAAQADQAFABcABgAeAAcANwAIAFAACQBpAAoAfwALAIYABQCMAA0AlAAOABEAAAAdAAb/AA8ABAcAEgcAEwcAFAEAAPwAJwEYGBX5AAwAAQAVABYAAQAPAAAAHQABAAEAAAAFKrQACLAAAAABABAAAAAGAAEAAAARAAEAFwAAAAIAGA==`.replace(/\n\s+/g, '');
},
decode_buff: (buff) => {
return Buffer.from(rot13encode(buff.toString()));
}
}
\ No newline at end of file
......@@ -48,7 +48,7 @@ class JSP extends Base {
}
get decoders() {
return ['default'];
return ['default', 'reverse', 'rot13'];
}
/**
......@@ -71,6 +71,22 @@ class JSP extends Base {
}
data['_'] = this.replaceClassStringVar(data['_'], '->|', tag_s);
data['_'] = this.replaceClassStringVar(data['_'], '|<-', tag_e);
data['_'] = this.replaceClassStringVar(data['_'], 'antswordCharset', this.__opts__["encode"]);
data['_'] = this.replaceClassStringVar(data['_'], 'antswordrandomPrefix', this.__opts__.otherConf["random-Prefix"]);
let asencCode;
let ext = {
opts: this.__opts__,
};
if (!force_default) {
asencCode = this.__decoder__[this.__opts__['decoder'] || 'default'].asoutput(ext);
} else {
asencCode = this.__decoder__['default'].asoutput(ext);
}
let _argv = this.argv();
let formatter = this.format(this.__opts__);
data[_argv[0]] = formatter['newbase64'](asencCode);
data['_'] = this.replaceClassStringVar(data['_'], 'antswordargdecoder', _argv[0]);
// 使用编码器进行处理并返回
return this.encodeComplete(tag_s, tag_e, data);
}
......@@ -123,8 +139,6 @@ class JSP extends Base {
});
}
// 发送HTTP请求
data['_'] = this.replaceClassStringVar(data['_'], 'antswordCharset', this.__opts__["encode"]);
data['_'] = this.replaceClassStringVar(data['_'], 'antswordrandomPrefix', this.__opts__.otherConf["random-Prefix"]);
return data;
}
} else {
......
......@@ -2,4 +2,4 @@
More at: https://github.com/AntSwordProject/AntSword-JSP-Template
Version: 1.4
Version: 1.5.2
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment