diff --git a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt index 3e65820..6228b2e 100644 --- a/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt +++ b/src/main/kotlin/kr/lunaticbum/back/lun/controllers/Telegram.kt @@ -4,7 +4,6 @@ import bums.lunatic.launcher.utils.CompressStringUtil import com.google.gson.Gson import com.google.gson.annotations.SerializedName import com.google.maps.GeoApiContext -import com.google.maps.PendingResult import com.google.maps.PlacesApi import com.google.maps.model.LatLng import com.google.maps.model.PlaceType @@ -60,65 +59,67 @@ class Telegram { + val keyworkd = arrayListOf("I0Z","dcBEW", "TGyG", "U=Qu", "Bm=s") + val keyworkd2 = arrayListOf("x-n", "Y_D", "u", "uoo", "dfhZ", "gSKY") + @ResponseBody @GetMapping("kesy/{path}") fun getEncode(@PathVariable path: String): ModelMap { var returnModelMap = ModelMap() - var comp = CompressStringUtil.compressString(path) - println("comp >>> $comp") + var comp = decodeCompressedString(path) + returnModelMap.put("C",comp) + returnModelMap.put("D", trimWithDecompString(comp)) + return returnModelMap + } - val keyworkd = arrayListOf("I0Z","dcBEW", "TGyG", "U=Qu", "Bm=s") - val keyworkd2 = arrayListOf("x-n", "Y_D", "u", "uoo", "dfhZ", "gSKY") + fun decodeCompressedString(value : String) : String { + var comp = CompressStringUtil.compressString(value) + println("comp >>> $comp") var chunked = Math.abs(Random().nextInt() % 3) + 1 chunked = if (chunked % 2 == 1) chunked + 1 else chunked comp = comp?.chunked(chunked) { return@chunked it.padStart(chunked,'=') }?.joinToString("")?.reversed().plus("$chunked").plus(Char(Math.abs(Random().nextInt() % 57) + 65)) - - - - println("comp >>> $comp") var word = if (System.currentTimeMillis() % 2L == 0L) { keyworkd.get(chunked) } else { comp = comp.plus(Char(Math.abs(Random().nextInt() % 57) + 65)) keyworkd2.get(chunked) } - comp = (word).plus(comp) - returnModelMap.put("C",comp) + return comp + } + fun trimWithDecompString(comp : String) : String { var doubleIpmt = false - keyworkd2.forEach { if(comp?.startsWith(it) == true) { + var compressed : String? = comp + keyworkd2.forEach { if(compressed?.startsWith(it) == true) { doubleIpmt = true } } - var charChunked = comp?.lastOrNull() - println("comp?.removeSuffix(charChunked!!.toString()) ${comp?.removeSuffix(charChunked!!.toString())}") - comp = comp?.removeSuffix(charChunked!!.toString()) + var charChunked = compressed?.lastOrNull() + println("comp?.removeSuffix(charChunked!!.toString()) ${compressed?.removeSuffix(charChunked!!.toString())}") + compressed = compressed?.removeSuffix(charChunked!!.toString()) if (doubleIpmt) { - charChunked = comp?.lastOrNull() - comp = comp?.removeSuffix(charChunked!!.toString()) + charChunked = compressed?.lastOrNull() + compressed = compressed?.removeSuffix(charChunked!!.toString()) } - charChunked = comp?.lastOrNull() + charChunked = compressed?.lastOrNull() println("charChunked >> $charChunked") - chunked = charChunked?.toString()?.toInt() ?: 0 + var chunked = charChunked?.toString()?.toInt() ?: 0 println("chunked >> $chunked") - println("comp?.removeSuffix(charChunked!!.toString()) ${comp?.removeSuffix(charChunked!!.toString())}") + println("comp?.removeSuffix(charChunked!!.toString()) ${compressed?.removeSuffix(charChunked!!.toString())}") - comp = (comp?.substring(0,comp.length -1)) - println("comp $comp") + compressed = (compressed?.substring(0,compressed.length -1)) + println("comp $compressed") - comp = comp?.removePrefix(keyworkd.get(chunked))?.removePrefix(keyworkd2.get(chunked))?.reversed() - println("comp $comp") - comp = comp?.chunked(chunked){ + compressed = compressed?.removePrefix(keyworkd.get(chunked))?.removePrefix(keyworkd2.get(chunked))?.reversed() + println("comp $compressed") + compressed = compressed?.chunked(chunked){ return@chunked it.toString().replace("=","") }?.joinToString("") - println("comp $comp") - - - var decomp = CompressStringUtil.decompressString(comp) + println("comp $compressed") + var decomp = CompressStringUtil.decompressString(compressed) println("decomp $decomp") - returnModelMap.put("D", decomp) - return returnModelMap + return decomp } @ResponseBody