#!/usr/bin/env python3
import json
import string
import random
import base64
import glob, os


# def gen_rand_str():
#     rand_str = ''.join(random.choices(string.ascii_uppercase + string.ascii_lowercase, k=8))
#     return rand_str + str(random.randint(0, 1000000))

def decrypt(path):
    with open(path, "r") as f:
        lines = f.readlines()

    with open(path, "w") as f_w:
        for line in lines:
            if "<string" in line and "</string>\n" in line and "<!" not in line:
                if "*keep*" not in line:
                    line = line.replace("</string>\n", "")
                    str_name = line.split(">")[0] + ">"
                    str_value = line.split(">")[1]
                    randStr = str(random.randint(0, 1000000)) + "#-#"
                    line = str_name + randStr + base64.b64encode(randStr + str_value) + "</string>\n"

            f_w.write(line)
        # print("done\n")
    return


for root, dirs, files in os.walk("../../src/main/res"):
    directory = os.path.join(os.getcwd(), root)
    for file in files:
        if file.endswith("strings.xml"):
            # get the path of the java file
            path = os.path.join(directory, file)
            decrypt(path)
