def __init__(self): self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = maWlCmjdFUobvhcWBlqVVfHRcBdAqchK( ) self.remove = ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs() self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe( ) self.JXmotZWmIfcxFfpmdsctHnmuxtRXnhtI = "exclude/python/exclude_python_words.txt" self.uKitlQQpdnpvWOKTqPTRmSQeJcoElmaT = "include/python/include_python_words.txt"
def __init__(self): self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe()
class ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs: def __init__(self): self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe() def GadSFqCibBxqCSbGAnPnPxqqmOXZBkyn(self, codeArg, outputArg): LsRzXlOrKAuTxKlmxXtmTutbmBdXLDED = 0 oUswwfdXwoUGDXCMCGYbMGQAdDPxfMhI = 0 fsSMGkxhTFuCVtzLrSCkajadIkyiKaQT = 0 if codeArg == "python": EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(outputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with fileinput.FileInput(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, inplace=True) as inputFile: for CznIVPOvIZYawZeTxsCdYKWrjFtwFIQt in inputFile: if CznIVPOvIZYawZeTxsCdYKWrjFtwFIQt.strip(): print(CznIVPOvIZYawZeTxsCdYKWrjFtwFIQt.rstrip()) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: LsRzXlOrKAuTxKlmxXtmTutbmBdXLDED = 0 if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: if LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj == "\n": LsRzXlOrKAuTxKlmxXtmTutbmBdXLDED += 1 if LsRzXlOrKAuTxKlmxXtmTutbmBdXLDED == 0: fsSMGkxhTFuCVtzLrSCkajadIkyiKaQT += 1 oUswwfdXwoUGDXCMCGYbMGQAdDPxfMhI += 1 else: fsSMGkxhTFuCVtzLrSCkajadIkyiKaQT += 0 oUswwfdXwoUGDXCMCGYbMGQAdDPxfMhI += 1 if fsSMGkxhTFuCVtzLrSCkajadIkyiKaQT == oUswwfdXwoUGDXCMCGYbMGQAdDPxfMhI: return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN def XWnAliWekqMHqUWUwlqEHPlieJakvZHH(self, codeArg, outputArg): xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi = 0 XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR = 0 QRgluMdDfDNtlitwNSjEICVVIBEdlysF = 0 kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh = 0 if codeArg == "python": uDCbRaFCYeYGAgPpoTHqrXfLuzYwwbpx = r"^\#.*" brqpxirpwwUiMgxTEChSFodHAGAcljfe = r"\={1}\s*r[\"|\']{1}" fhjQCYThAbOskjYDmYNaHhWiZOyEJNIa = r"[\"|\']{3}.*[\"|\']{3}$" KqORXLsBrtifTrtrBkfjXAlKZIsZAQJU = r"^\s*[\"|\']{3}$" kmJszsvEpliBjfSaWchmRofhnOXiuizk = r"^\s*[\"|\']{3}\)?\.?" WJAVHEsEUkoVzPWwlDzxrYaQgjrfLaFx = r".*\={1}\s*\w*\.?\w*[\(|\.]{1}[\"|\']{3}|.*\={1}\s*[\"|\']{3}" krhdmRnADLSTIaItrQEkZYIYtjHoacZP = r"\s*\#[^\"|^\'|^\.|^\?|^\*|^\!|^\]|^\[|^\\|^\)|^\(|^\{|^\}].*" EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(outputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] for REqGysXhkGjocOcsRNbVsTmlWMnWgdba in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh += 1 print("\n[+] Running remove commentaries in {0} NFHcSbQkteQPxqhirjubTMkOWDROIhiS(s)...\n".format(dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh)) with tqdm(total=dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh) as pbar: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: pbar.update(1) if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with fileinput.input(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, inplace=True) as inputFile: for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in inputFile: YNEFCSffsxRWrXTgXldOcJjqtOlCYhNe = re.search(krhdmRnADLSTIaItrQEkZYIYtjHoacZP, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) SVsTqOajvjajJHtalBkDcXQUnUaEiORn = re.search(uDCbRaFCYeYGAgPpoTHqrXfLuzYwwbpx, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if codeArg == "python": if "coding" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj or "#!" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue if re.match(brqpxirpwwUiMgxTEChSFodHAGAcljfe, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): continue elif re.match(WJAVHEsEUkoVzPWwlDzxrYaQgjrfLaFx, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): QRgluMdDfDNtlitwNSjEICVVIBEdlysF += 1 elif re.match(KqORXLsBrtifTrtrBkfjXAlKZIsZAQJU, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) or re.match(kmJszsvEpliBjfSaWchmRofhnOXiuizk, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM += 1 else: pass if re.match(fhjQCYThAbOskjYDmYNaHhWiZOyEJNIa, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR += 1 kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 1 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 0: XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR += 1 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 0 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 1: print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 2: XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR += 1 kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 1 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 1: kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 QRgluMdDfDNtlitwNSjEICVVIBEdlysF = 0 print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue else: pass if SVsTqOajvjajJHtalBkDcXQUnUaEiORn is not None: XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR += 1 LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj = LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj.replace(SVsTqOajvjajJHtalBkDcXQUnUaEiORn.group(0), "") print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) elif YNEFCSffsxRWrXTgXldOcJjqtOlCYhNe is not None: LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj = LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj.replace(YNEFCSffsxRWrXTgXldOcJjqtOlCYhNe.group(0), "") XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR += 1 print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) else: print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 QRgluMdDfDNtlitwNSjEICVVIBEdlysF = 0 for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi = 0 if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi = 0 gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: YNEFCSffsxRWrXTgXldOcJjqtOlCYhNe = re.search(krhdmRnADLSTIaItrQEkZYIYtjHoacZP, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) SVsTqOajvjajJHtalBkDcXQUnUaEiORn = re.search(uDCbRaFCYeYGAgPpoTHqrXfLuzYwwbpx, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if codeArg == "python": if "coding" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj or "#!" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: continue if re.match(brqpxirpwwUiMgxTEChSFodHAGAcljfe, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): continue elif re.match(WJAVHEsEUkoVzPWwlDzxrYaQgjrfLaFx, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): QRgluMdDfDNtlitwNSjEICVVIBEdlysF += 1 elif re.match(KqORXLsBrtifTrtrBkfjXAlKZIsZAQJU, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) or re.match(kmJszsvEpliBjfSaWchmRofhnOXiuizk, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM += 1 else: pass if re.match(fhjQCYThAbOskjYDmYNaHhWiZOyEJNIa, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi += 1 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 1 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 0: xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi += 1 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 0 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 1: continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 2: kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi += 1 continue elif kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM == 1 and QRgluMdDfDNtlitwNSjEICVVIBEdlysF == 1: kfPzpJgNEwKtCIeGYYsZhPgjrKPfWHbM = 0 QRgluMdDfDNtlitwNSjEICVVIBEdlysF = 0 continue else: pass if SVsTqOajvjajJHtalBkDcXQUnUaEiORn is not None: xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi += 1 elif YNEFCSffsxRWrXTgXldOcJjqtOlCYhNe is not None: xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi += 1 else: pass if (ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs.GadSFqCibBxqCSbGAnPnPxqqmOXZBkyn(self, codeArg, outputArg) == 0): if xaoOYHNAnAgAWcXEINEtGDXXFSmfxGWi == 0: print("\n-> {0} lines of commentaries removed\n".format(XZcKhSvhBnHIBwJwFNbEzsgIwmQlWWJR)) return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN def cViujpNVjgNqGaZXcayMZHXlVanwzYVC(self, codeArg, outputArg): TpFMUSAJwLFIIxLcSVjsYzylcuQckhJE = 0 ZZSjnGeOVTKBTnGqGqZQakprLyElEgmS = 0 dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh = 0 LceSaDJrUShBwSjqtxXNwoxVcmLarOts = 0 mBgLMKKHwPESvCrkNjBkNjCdQIBEnNcW = 0 if codeArg == "python": ROjGnkxnJLzIjVKduuNvbDYJcThFfFXh = r"\s*print" EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(outputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] for REqGysXhkGjocOcsRNbVsTmlWMnWgdba in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh += 1 print("\n[+] Running remove print function in {0} NFHcSbQkteQPxqhirjubTMkOWDROIhiS(s)...\n".format(dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh)) with tqdm(total=dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh) as pbar: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: pbar.update(1) if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with fileinput.input(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, inplace=True) as inputFile: for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in inputFile: if re.match(ROjGnkxnJLzIjVKduuNvbDYJcThFfFXh, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): TpFMUSAJwLFIIxLcSVjsYzylcuQckhJE += 1 if re.match(r"\s*print\s*\({1}", LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): if "(" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj and not ")" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: LceSaDJrUShBwSjqtxXNwoxVcmLarOts += 1 continue else: continue elif re.match(r"\s*print\s*[\"|\']{1}", LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): mBgLMKKHwPESvCrkNjBkNjCdQIBEnNcW += 1 continue else: if LceSaDJrUShBwSjqtxXNwoxVcmLarOts == 1: if ")" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj and not "(" in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: LceSaDJrUShBwSjqtxXNwoxVcmLarOts = 0 continue else: continue elif mBgLMKKHwPESvCrkNjBkNjCdQIBEnNcW > 0: if re.match(r"^\s+[\"\']{1}\s*\w+|^[\"\']{1}\s*\w+", LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): mBgLMKKHwPESvCrkNjBkNjCdQIBEnNcW += 1 continue else: mBgLMKKHwPESvCrkNjBkNjCdQIBEnNcW = 0 print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue else: print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: if re.match(ROjGnkxnJLzIjVKduuNvbDYJcThFfFXh, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): ZZSjnGeOVTKBTnGqGqZQakprLyElEgmS += 1 if (ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs.GadSFqCibBxqCSbGAnPnPxqqmOXZBkyn(self, codeArg, outputArg) == 0): if ZZSjnGeOVTKBTnGqGqZQakprLyElEgmS == 0: print("\n-> {0} print functions removed\n".format(TpFMUSAJwLFIIxLcSVjsYzylcuQckhJE)) return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN
class hHLojxSdEtYxIkmvimrxUaSDEunVCFix: def __init__(self): self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = maWlCmjdFUobvhcWBlqVVfHRcBdAqchK( ) self.remove = ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs() self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe( ) self.JXmotZWmIfcxFfpmdsctHnmuxtRXnhtI = "exclude/python/exclude_python_words.txt" self.uKitlQQpdnpvWOKTqPTRmSQeJcoElmaT = "include/python/include_python_words.txt" def ScfrazbkOceoRYqkQGpDtRilntJYnhal(self, codeArg, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj, Dict): qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO = [] qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx = [] YJcaXPabnKOUqmRlRIjpgcUfkMfvmPQC = [] VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 1 rXZnVsrZhllzlepjPpehKnBnSaptrffk = 0 CCvUZxBeJAloryJGaZCZFjISJwqqvhmG = "" QbhrNLYsgLzkdPozacVDEUwhrQvgJPeW = "" ABYjQEsRWSUiXGhkNKFheoaZOFDAAoTp = "" EfgVFSeSgfYEaREDoveAaXYtYxtSiQqB = "" if codeArg == "python": NezcUZtJlVHcQsJNzHmLRjUDIONqcqxt = r"(\.)|(:)|(\))|(\()|(=)|(\[)|(\])|({)|(})|(,)|(\+)|(\s)|(\*)|(\+)|(\-)" for BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX, AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi in enumerate( LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO.append( AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi) for BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX, AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi in enumerate( LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): if YJcaXPabnKOUqmRlRIjpgcUfkMfvmPQC != []: for uocHQWfKcEwQgjBklwYQdosbmfAMESyu, oNLiBWbaUcJRzCRhJBaOYiqIxHZGGevG in enumerate( YJcaXPabnKOUqmRlRIjpgcUfkMfvmPQC): if uocHQWfKcEwQgjBklwYQdosbmfAMESyu == 0: continue qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx.append( oNLiBWbaUcJRzCRhJBaOYiqIxHZGGevG) YJcaXPabnKOUqmRlRIjpgcUfkMfvmPQC = [] if re.match(NezcUZtJlVHcQsJNzHmLRjUDIONqcqxt, AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi): qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx.append( AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi) msGvduotZjvaujLNHZNXNGxxmCITUxlR = 0 for oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg in JCmKcGpTKdQSVszGpyWanNEolXusaTQR: msGvduotZjvaujLNHZNXNGxxmCITUxlR += 1 rXZnVsrZhllzlepjPpehKnBnSaptrffk = msGvduotZjvaujLNHZNXNGxxmCITUxlR - 2 else: if rXZnVsrZhllzlepjPpehKnBnSaptrffk > 0: rXZnVsrZhllzlepjPpehKnBnSaptrffk -= 1 continue else: try: for PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in Dict: for lIxIisVMoFnmBzkHadOtVDsmuaiArqdq, ECgWZQUEHQwrRyqtiFoImxjANReSeejh in enumerate( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC): for mrMfhRLgUKcePIdyGVRONHbELgLiJAwA in vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR: if ECgWZQUEHQwrRyqtiFoImxjANReSeejh == AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi: if lIxIisVMoFnmBzkHadOtVDsmuaiArqdq == 0: VvyFxueTDkmaPSFFhRHOtExRTlRAnQDH = BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX + len( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC ) try: qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO[ VvyFxueTDkmaPSFFhRHOtExRTlRAnQDH] except IndexError: continue if re.match( NezcUZtJlVHcQsJNzHmLRjUDIONqcqxt, qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO[ VvyFxueTDkmaPSFFhRHOtExRTlRAnQDH] ): LdLSTcMgeMANgTSwtBJCuQHewxttqsfN = BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX - 1 if not re.match( r"\w|\\", qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO[ LdLSTcMgeMANgTSwtBJCuQHewxttqsfN] ): if codeArg == "python": ABYjQEsRWSUiXGhkNKFheoaZOFDAAoTp = "".join( qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO ) if "import" in ABYjQEsRWSUiXGhkNKFheoaZOFDAAoTp: if "from" in ABYjQEsRWSUiXGhkNKFheoaZOFDAAoTp: EfgVFSeSgfYEaREDoveAaXYtYxtSiQqB = qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO[: BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX] EfgVFSeSgfYEaREDoveAaXYtYxtSiQqB = "".join( EfgVFSeSgfYEaREDoveAaXYtYxtSiQqB ) if not "import" in EfgVFSeSgfYEaREDoveAaXYtYxtSiQqB: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 1 else: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 0 else: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 0 else: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 0 else: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 1 else: VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq = 1 if VRhbfZYbIXWXFJUHIBsREzCbhjiScHxq == 0: yAdyyRILlhBNKBrVgCWKiARvPzQkjmxE = [] JCmKcGpTKdQSVszGpyWanNEolXusaTQR = [] MHCQCFRMZRBJkqwajNDNHTlpTqGLuUKT = BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX zQhQIseRXaiGbxMyaFauAMJDDxPZaQhU = BXmnLivucVLmOEgNdoPGgHdJHIqDCeLX + len( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC ) - 1 for BcFWSFFQaQUccPoSLMqGeCsGhYjOBCGm in PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC: yAdyyRILlhBNKBrVgCWKiARvPzQkjmxE.append( BcFWSFFQaQUccPoSLMqGeCsGhYjOBCGm ) for NBgqZiYrqtsrFGYIvdOdzWpQRLMOFLmN, qcjgrvwHaTGWDxaNKZHLhUbLAlpPpTOR in enumerate( qerXDkMtdwVnNwtNkNzWRsAUnXIoUkzO ): if NBgqZiYrqtsrFGYIvdOdzWpQRLMOFLmN >= MHCQCFRMZRBJkqwajNDNHTlpTqGLuUKT and NBgqZiYrqtsrFGYIvdOdzWpQRLMOFLmN <= zQhQIseRXaiGbxMyaFauAMJDDxPZaQhU: JCmKcGpTKdQSVszGpyWanNEolXusaTQR.append( qcjgrvwHaTGWDxaNKZHLhUbLAlpPpTOR ) if list( set(yAdyyRILlhBNKBrVgCWKiARvPzQkjmxE ) - set(JCmKcGpTKdQSVszGpyWanNEolXusaTQR )) == []: QbhrNLYsgLzkdPozacVDEUwhrQvgJPeW = "".join( JCmKcGpTKdQSVszGpyWanNEolXusaTQR ) CCvUZxBeJAloryJGaZCZFjISJwqqvhmG = "".join( yAdyyRILlhBNKBrVgCWKiARvPzQkjmxE ) if QbhrNLYsgLzkdPozacVDEUwhrQvgJPeW == CCvUZxBeJAloryJGaZCZFjISJwqqvhmG: for LzfOtBAzmXxnfBWSnpGcLkLJSulyAPYk in vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR: YJcaXPabnKOUqmRlRIjpgcUfkMfvmPQC.append( LzfOtBAzmXxnfBWSnpGcLkLJSulyAPYk ) AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi = mrMfhRLgUKcePIdyGVRONHbELgLiJAwA raise jUiietMMTkOLLCNnmuhBiVmsTeWtESMI else: continue else: continue else: continue else: continue else: continue raise jUiietMMTkOLLCNnmuhBiVmsTeWtESMI except jUiietMMTkOLLCNnmuhBiVmsTeWtESMI: qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx.append( AtdCAlmxFUHDikSLgFfPYZEZbsWYxXVi) qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx = "".join( qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx) return qsBCqAewdLZDIUtpqPzXzogLGTCzQjZx[:] def RCuuTlIFfFxkyNxAqjcHDLowxFHfGEyj(self, codeArg, outputArg, mixerLevelArg, verboseArg): JjROzOnyMtTRQAYELqNjawNmvzFZvLoq = {} pswUCsVpaMiIVvvZUenCrDoszgbRgQrd = {} PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh = {} JYWWjFAaaRHYdzVLnGrpiRethKrWACAs = {} KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL = {} ddBFIrEGFfdabYLPLMpqZsByzdfchisk = [] lrNJsSXQwRbZhzIVMKdRlURwZNszfCxo = [] VwiyPqCcsasoPLJYuGZBawrerSRTCnSm = [] XpzmdPxEGUkKLtoidNGtTykwdNDtWhrg = [] TjhGoODnrTzwGjAZjGYPzxpeBkRmCoZt = [] BWPtspSoFqdMKhPgHDGqULPvCrptzDEK = 0 bDZVjRzpqlqqoKDEzKIKUfYYIysDMjCJ = 0 gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY = 0 tTKQiobsJQbUfbPDZhpgRJLfNZHkTOhe = 0 dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh = 0 if codeArg == "python": uFFArjcgODnLwvBWmzMoJPkiXTCqMFpI = r"(^\w+|\w+)([\s|^\s]*=[\s|\w|\"|\'])" jZHOlKMbpLTspQfVGnZnYJjvsAFzhZPy = r"except(\s+\w+\sas\s)(\w)" QhSKLWwKStMqjpVOvFZFlKLulzBiKnmH = r"for\s+([\w\s\,]+)(\s+in\s+)" QottAMkBXRrJnHIDJunrpkilzfJAbVYb = r"def\s(\w+)" ZHBlLfgAtfJlthedSKKgDqabHpWbnIUg = r"class\s(\w+)" kmJszsvEpliBjfSaWchmRofhnOXiuizk = r"^\s*[\"|\']{3}\)?\.?" KqORXLsBrtifTrtrBkfjXAlKZIsZAQJU = r"^\s*[\"|\']{3}$" brqpxirpwwUiMgxTEChSFodHAGAcljfe = r"\={1}\s*r[\"|\']{1}" WJAVHEsEUkoVzPWwlDzxrYaQgjrfLaFx = r".*\={1}\s*\w*\.?\w*[\(|\.]{1}[\"|\']{3}|.*\={1}\s*[\"|\']{3}" EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [ zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob( "{0}{1}**{1}*.{2}".format( outputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx. dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True) ] for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: search = re.search(uFFArjcgODnLwvBWmzMoJPkiXTCqMFpI, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if search != None: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) if search.group( 1) not in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq: JjROzOnyMtTRQAYELqNjawNmvzFZvLoq[search.group( 1)] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg search = re.search(jZHOlKMbpLTspQfVGnZnYJjvsAFzhZPy, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if search != None: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) if search.group( 2) not in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq: JjROzOnyMtTRQAYELqNjawNmvzFZvLoq[search.group( 2)] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg search = re.search(QhSKLWwKStMqjpVOvFZFlKLulzBiKnmH, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if search != None: if "," in search.group(1): kmxLKJLBBqfNEImpzWvyHAySPZdLzSdg = search.group( 1).replace(",", " ") kmxLKJLBBqfNEImpzWvyHAySPZdLzSdg = kmxLKJLBBqfNEImpzWvyHAySPZdLzSdg.split( ) for oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg in kmxLKJLBBqfNEImpzWvyHAySPZdLzSdg: if oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg not in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) JjROzOnyMtTRQAYELqNjawNmvzFZvLoq[ oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg else: if search.group( 1 ) not in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) JjROzOnyMtTRQAYELqNjawNmvzFZvLoq[ search.group( 1 )] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg search = re.search(QottAMkBXRrJnHIDJunrpkilzfJAbVYb, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if search != None: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) if search.group( 1) not in PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh: if codeArg == "python": if not re.match(r"__init__", search.group(1)): PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh[ search.group( 1 )] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg search = re.search(ZHBlLfgAtfJlthedSKKgDqabHpWbnIUg, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if search != None: ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) if search.group( 1) not in pswUCsVpaMiIVvvZUenCrDoszgbRgQrd: pswUCsVpaMiIVvvZUenCrDoszgbRgQrd[search.group( 1)] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg if os.path.exists(self.JXmotZWmIfcxFfpmdsctHnmuxtRXnhtI) == True: with open(self.JXmotZWmIfcxFfpmdsctHnmuxtRXnhtI, "r") as readFile: for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in readFile: if "#" in SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe or SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe == "\n": continue else: SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe = SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe.rstrip( ) lrNJsSXQwRbZhzIVMKdRlURwZNszfCxo.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) else: print("[-] '{0}' NFHcSbQkteQPxqhirjubTMkOWDROIhiS not found\n". format(self.JXmotZWmIfcxFfpmdsctHnmuxtRXnhtI)) for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in lrNJsSXQwRbZhzIVMKdRlURwZNszfCxo: if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq.keys( ): VwiyPqCcsasoPLJYuGZBawrerSRTCnSm.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) del JjROzOnyMtTRQAYELqNjawNmvzFZvLoq[ SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe] if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in pswUCsVpaMiIVvvZUenCrDoszgbRgQrd.keys( ): VwiyPqCcsasoPLJYuGZBawrerSRTCnSm.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) del pswUCsVpaMiIVvvZUenCrDoszgbRgQrd[ SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe] if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh.keys( ): VwiyPqCcsasoPLJYuGZBawrerSRTCnSm.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) del PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh[ SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe] if os.path.exists(self.uKitlQQpdnpvWOKTqPTRmSQeJcoElmaT) == True: with open(self.uKitlQQpdnpvWOKTqPTRmSQeJcoElmaT, "r") as readFile: for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in readFile: if "#" in SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe or SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe == "\n": continue else: SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe = SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe.rstrip( ) XpzmdPxEGUkKLtoidNGtTykwdNDtWhrg.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) else: print("[-] '{0}' NFHcSbQkteQPxqhirjubTMkOWDROIhiS not found\n". format(self.uKitlQQpdnpvWOKTqPTRmSQeJcoElmaT)) for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in XpzmdPxEGUkKLtoidNGtTykwdNDtWhrg: if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe not in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq.keys( ) and SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe not in pswUCsVpaMiIVvvZUenCrDoszgbRgQrd.keys( ) and SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe not in PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh.keys( ): ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg.dYHRunpgPARTomkoGyGuPWsAxcboxvng( mixerLevelArg) JYWWjFAaaRHYdzVLnGrpiRethKrWACAs[ SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe] = ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg TjhGoODnrTzwGjAZjGYPzxpeBkRmCoZt.append( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in TjhGoODnrTzwGjAZjGYPzxpeBkRmCoZt: if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: TjhGoODnrTzwGjAZjGYPzxpeBkRmCoZt.remove( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe) for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in TjhGoODnrTzwGjAZjGYPzxpeBkRmCoZt: if SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in JYWWjFAaaRHYdzVLnGrpiRethKrWACAs.keys( ): del JYWWjFAaaRHYdzVLnGrpiRethKrWACAs[ SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe] if verboseArg: print("\n[+] Variables found :\n") if JjROzOnyMtTRQAYELqNjawNmvzFZvLoq == {}: print("-> No result") else: for PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in JjROzOnyMtTRQAYELqNjawNmvzFZvLoq.items( ): print("-> {0} : {1}".format( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR)) print("\n[+] Classes found :\n") if pswUCsVpaMiIVvvZUenCrDoszgbRgQrd == {}: print("-> No result") else: for PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in pswUCsVpaMiIVvvZUenCrDoszgbRgQrd.items( ): print("-> {0} : {1}".format( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR)) print("\n[+] Functions found :\n") if PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh == {}: print("-> No result") else: for PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh.items( ): print("-> {0} : {1}".format( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR)) print("\n[+] Include found :\n") if JYWWjFAaaRHYdzVLnGrpiRethKrWACAs == {}: print("-> No result") else: for PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in JYWWjFAaaRHYdzVLnGrpiRethKrWACAs.items( ): print("-> {0} : {1}".format( PXqZPIEBpFzKsdERKoGhaFMbNiPALfgC, vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR)) print("\n[+] Exclude found :\n") if VwiyPqCcsasoPLJYuGZBawrerSRTCnSm == []: print("-> No result") else: for SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe in VwiyPqCcsasoPLJYuGZBawrerSRTCnSm: print("-> {0} : excluded".format( SQWhPUeYaQxXtgTcTCrogkYoXMpSOQfe)) KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL = self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.sWjDzsFbfkXTWdOqhbmzHIZUGsurTLex( KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL, JjROzOnyMtTRQAYELqNjawNmvzFZvLoq) KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL = self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.sWjDzsFbfkXTWdOqhbmzHIZUGsurTLex( KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL, pswUCsVpaMiIVvvZUenCrDoszgbRgQrd) KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL = self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.sWjDzsFbfkXTWdOqhbmzHIZUGsurTLex( KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL, PzMmPLQdaniCOoDPgrCCPPOUSLdgxYEh) KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL = self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.sWjDzsFbfkXTWdOqhbmzHIZUGsurTLex( KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL, JYWWjFAaaRHYdzVLnGrpiRethKrWACAs) for REqGysXhkGjocOcsRNbVsTmlWMnWgdba in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh += 1 print( "\n[+] Running replacement of variables/classes/functions in {0} NFHcSbQkteQPxqhirjubTMkOWDROIhiS(s)...\n" .format(dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh)) with tqdm(total=dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh) as pbar: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: pbar.update(1) if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with fileinput.input(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, inplace=True) as inputFile: for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in inputFile: if not LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: continue else: if codeArg == "python": if re.match( WJAVHEsEUkoVzPWwlDzxrYaQgjrfLaFx, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY += 1 LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj = hHLojxSdEtYxIkmvimrxUaSDEunVCFix.ScfrazbkOceoRYqkQGpDtRilntJYnhal( self, codeArg, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj, KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL. items()) print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue elif re.match( KqORXLsBrtifTrtrBkfjXAlKZIsZAQJU, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj ) or re.match( kmJszsvEpliBjfSaWchmRofhnOXiuizk, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj): gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY += 1 LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj = hHLojxSdEtYxIkmvimrxUaSDEunVCFix.ScfrazbkOceoRYqkQGpDtRilntJYnhal( self, codeArg, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj, KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL. items()) print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) if gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY == 2: gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY = 0 continue if gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY == 1: print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue elif gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY == 2: gvEXXPDOjlXTZdIDWauYOLFhevNFIVJY = 0 continue else: LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj = hHLojxSdEtYxIkmvimrxUaSDEunVCFix.ScfrazbkOceoRYqkQGpDtRilntJYnhal( self, codeArg, LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj, KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL. items()) print(LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj) continue for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(AYtSbCraHpGtqFAjHAAJmzLUiQtXtYDg, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: with open(NFHcSbQkteQPxqhirjubTMkOWDROIhiS, "r") as readFile: gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe = readFile.readlines() for LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj in gOjJbBNMdzvuHgCeZUYHmaxRSWsFCpYe: for vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL.values( ): if vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR in LtmKeeQLTgjYKZQXIGqvevOwVlZvjxkj: ddBFIrEGFfdabYLPLMpqZsByzdfchisk.append( vYcBbJWZhdTkgUFujBkXcfjgLxbMWORR) UXrMnqkgLqvCNUcMMBxOYxxqoNkuKdCW = list( dict.fromkeys(ddBFIrEGFfdabYLPLMpqZsByzdfchisk)) for oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg in UXrMnqkgLqvCNUcMMBxOYxxqoNkuKdCW: BWPtspSoFqdMKhPgHDGqULPvCrptzDEK += 1 for oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg in KnrWTEoBsYoQDnbsIldkbsqNXDvPYyEL.values( ): bDZVjRzpqlqqoKDEzKIKUfYYIysDMjCJ += 1 if (self.remove.GadSFqCibBxqCSbGAnPnPxqqmOXZBkyn(codeArg, outputArg) == 0): if BWPtspSoFqdMKhPgHDGqULPvCrptzDEK == bDZVjRzpqlqqoKDEzKIKUfYYIysDMjCJ: print( "\n-> {0} variables/classes/functions replaced in {1} NFHcSbQkteQPxqhirjubTMkOWDROIhiS(s)\n" .format(bDZVjRzpqlqqoKDEzKIKUfYYIysDMjCJ, dGAyTLoOIgoKfvrIbJgMuxWYkRwstIEh)) return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN else: return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN
class PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ: def __init__(self): self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe() def tEJwyHuhdMNRuyAzdQmiobZdtiwSaYjw(self, inputArg, codeArg, verboseArg): vrpSZyAyJhHtNwpkLIxSRFJrLywWPqrU = [] FUIbQogdBhuFIHVJxImDrOFDHrvDxDUu = [] NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA = 0 kVibEHfDLFHwYCKiYsRqFxOsKrBoReTZ = 0 if os.path.exists(inputArg) == True: if os.path.isdir(inputArg) == True: if codeArg == "python": EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(inputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] if OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc == []: print("[-] {0} directory empty".format(inputArg)) return JDdQbgMKFgRGidSHRgevLoDmNUJlWmUz print("\n[+] Running zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn input...") for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: if os.path.getsize(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) > 0: vrpSZyAyJhHtNwpkLIxSRFJrLywWPqrU.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA += NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA + 1 else: FUIbQogdBhuFIHVJxImDrOFDHrvDxDUu.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) kVibEHfDLFHwYCKiYsRqFxOsKrBoReTZ += kVibEHfDLFHwYCKiYsRqFxOsKrBoReTZ + 1 if NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA >= 1 and kVibEHfDLFHwYCKiYsRqFxOsKrBoReTZ < NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA: if verboseArg: print("\n[+] File input found :\n") if vrpSZyAyJhHtNwpkLIxSRFJrLywWPqrU == []: print("-> no result") else: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in vrpSZyAyJhHtNwpkLIxSRFJrLywWPqrU: print("-> {0}".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in FUIbQogdBhuFIHVJxImDrOFDHrvDxDUu: print("-> {0} : empty".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) print("") return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU elif NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA == kVibEHfDLFHwYCKiYsRqFxOsKrBoReTZ and NOiyyqPEQNLREpNyTwPnTNIYWuZhVJcA > 0: print("[-] All files in directory specified are emtpy !.") return wBmnvZpFVAhYyceyZOZliCNPjeSJwXgs else: print("[-] No NFHcSbQkteQPxqhirjubTMkOWDROIhiS available in '{0}'.".format(inputArg)) return ZIkcVBkuyTDfUcCQgUtzwpDVZopwTaZL else: print("[-] '{0}' is not a directory.".format(inputArg)) return yGWZsMrpPFvUJkrtYyTuzwMfVxaUmdIl else: print("'{0}' not exists.".format(inputArg)) return DaEhJTSNWpJGOlthFKNsnCvoaPoljAdN def qREZraLISiUbPzYZZdgaFuwblkfElVKt(self, inputArg, codeArg, outputArg, verboseArg): SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh = [] GCFvXQICzUxBYxzVrSkJgExeeSWOoNBl = [] hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp = 0 VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO = 0 if os.path.exists(outputArg) == True: luVBdPtuBZvIMGheqaEyXXuiBmNTIBiu = input("[!] Output '{0}' already exists, do you want remove it ? (Y/N) : ".format(outputArg)) luVBdPtuBZvIMGheqaEyXXuiBmNTIBiu = luVBdPtuBZvIMGheqaEyXXuiBmNTIBiu.upper() if luVBdPtuBZvIMGheqaEyXXuiBmNTIBiu == "Y": try: shutil.rmtree(outputArg) if os.path.exists(outputArg) == False: shutil.copytree(inputArg, outputArg) if os.path.exists(outputArg) == True: if os.path.isdir(outputArg) == True: if codeArg == "python": EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(inputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] if OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc == []: print("[-] {0} directory empty".format(inputArg)) return JDdQbgMKFgRGidSHRgevLoDmNUJlWmUz print("\n[+] Running zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn output...") for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: if os.path.getsize(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) > 0: SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp += hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp + 1 else: GCFvXQICzUxBYxzVrSkJgExeeSWOoNBl.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO += VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO + 1 if hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp >= 1 and hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp > VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO: if verboseArg: print("\n[+] Ouput files copy :\n") if SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh == []: print("-> no result") else: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh: print("-> {0}".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in GCFvXQICzUxBYxzVrSkJgExeeSWOoNBl: print("-> {0} : empty".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: print("[-] No files available in '{0}'.".format(outputArg)) return ZIkcVBkuyTDfUcCQgUtzwpDVZopwTaZL else: print("[-] Copy '{0}' to '{1}' failed, this is not a output directory copied !.".format(inputArg, outputArg)) return yGWZsMrpPFvUJkrtYyTuzwMfVxaUmdIl else: print("[-] Copy '{0}' to '{1}' failed.".format(inputArg, outputArg)) return vDBrdpWsXapHqxpZIFqnEKiPjAzigVOJ else: print("[-] ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs '{0}' failed.".format(outputArg)) return tzvJrbLmpjsGgLSqPqSjMhjgzKxzARLv except Exception as QCrUqNsyvICLTTYhSodAKLfvWgqmADAm: print("[-] {0}".format(QCrUqNsyvICLTTYhSodAKLfvWgqmADAm)) return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN else: print("[-] ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs '{0}' failed, the user has refused.".format(outputArg)) return tzvJrbLmpjsGgLSqPqSjMhjgzKxzARLv else: try: shutil.copytree(inputArg, outputArg) if os.path.exists(outputArg) == True: if os.path.isdir(outputArg) == True: if codeArg == "python": EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX = "py" GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf = r"__pycache__" OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc = [zBToaJnWPwRMIJYneYfagoDJTPcHgwDa for zBToaJnWPwRMIJYneYfagoDJTPcHgwDa in glob.glob("{0}{1}**{1}*.{2}".format(inputArg, self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx.dCeYfzipTqbrJmJaijrODObAJKfbeHLu(), EwzRXZbupYYUpNHDqfzHzmFjRHIVHGfX), recursive=True)] if OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc == []: print("[-] {0} directory empty".format(inputArg)) return JDdQbgMKFgRGidSHRgevLoDmNUJlWmUz print("\n[+] Running zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn output...") for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in OLPXLJjTjHbKpYgnyclxvgLIGhCpocKc: if re.match(GsYqMrcVbLKzVqkjlDAJKGAShTlvDgxf, NFHcSbQkteQPxqhirjubTMkOWDROIhiS): continue else: if os.path.getsize(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) > 0: SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp += hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp + 1 else: GCFvXQICzUxBYxzVrSkJgExeeSWOoNBl.append(NFHcSbQkteQPxqhirjubTMkOWDROIhiS) VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO += VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO + 1 if hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp >= 1 and hOXQJYJXTwsAeARElVOwyGTqDCcuhlHp > VyVmARuQQLfvbosMNgGqYTNTBmzvlKVO: if verboseArg: print("\n[+] File output found :\n") if SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh == []: print("-> no result") else: for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in SrcfuKfvxhZumbdXeOzidPVAlWeGLxfh: print("-> {0} : copy".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) for NFHcSbQkteQPxqhirjubTMkOWDROIhiS in GCFvXQICzUxBYxzVrSkJgExeeSWOoNBl: print("-> {0} : copy empty".format(NFHcSbQkteQPxqhirjubTMkOWDROIhiS)) return QjDNQunkZJADUzlzbvvNbclhjnhqgaRU else: print("[-] No files available in '{0}'.".format(outputArg)) return ZIkcVBkuyTDfUcCQgUtzwpDVZopwTaZL else: print("[-] Copy '{0}' to '{1}' failed, this is not a output directory copied !.".format(inputArg, outputArg)) return yGWZsMrpPFvUJkrtYyTuzwMfVxaUmdIl else: print("[-] Copy '{0}' to '{1}' failed.".format(inputArg, outputArg)) return vDBrdpWsXapHqxpZIFqnEKiPjAzigVOJ except Exception as QCrUqNsyvICLTTYhSodAKLfvWgqmADAm: print("[-] {0}".format(QCrUqNsyvICLTTYhSodAKLfvWgqmADAm)) return eXQhFHuFKGQOrjWSstGkuDOgVFjZGhCN
def __init__(self): self.ceHWduqIiSrNbMpepHqNtsSDoyKnTPpg = maWlCmjdFUobvhcWBlqVVfHRcBdAqchK( ) self.remove = ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs() self.vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe( )
def BBCNtndofquGaFUVWKbHSlzKUTWxsVhq(): if sys.version_info[0] != 3: print("[-] Intensio-Obfuscator only support Python 3.x") sys.exit(0) if sys.platform != "win32" and sys.platform != "linux": print("[-] This tool support [windows - Linux] only !") sys.exit(0) try: from core.utils.intensio_design import GnACbkhJDtksYGKoMDHgKOXdoHEkPSRU from core.utils.intensio_utils import WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe from core.utils.intensio_usage import kELxtlFQarZwsCcVdpHHCgDyYTSEeUWT from core.utils.intensio_error import QjDNQunkZJADUzlzbvvNbclhjnhqgaRU, QFQyfXrzUBwMtuRwbYJOcaBeDjBKwqKe, smuFJnbFkNisnWmjWCYNQvKJNklSNvel, mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP,\ qwJFYtbHGyUdRAerlmSAuNwlkXOOgtlz, ZIkcVBkuyTDfUcCQgUtzwpDVZopwTaZL from core.obfuscation.intensio_replace import hHLojxSdEtYxIkmvimrxUaSDEunVCFix from core.obfuscation.intensio_padding import eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ from core.obfuscation.intensio_analyze import PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ from core.obfuscation.intensio_remove import ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs except ImportError as QCrUqNsyvICLTTYhSodAKLfvWgqmADAm: print("[-] {0}\n".format(QCrUqNsyvICLTTYhSodAKLfvWgqmADAm)) sys.exit(0) bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl = kELxtlFQarZwsCcVdpHHCgDyYTSEeUWT() vGJEoZkcLPlcLzvtnAYvjdThCbVgYHSx = WcITwKqxWwGGboRFRdIfgIfIzbIrqKUe() if len(sys.argv) > 1 and len(sys.argv) <= 14: pass else: print("[-] Incorrect REqGysXhkGjocOcsRNbVsTmlWMnWgdba of arguments\n") bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.HlvxeMOHszbvuGeuEjkIuFOocZadxhXb() sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().input: if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output: if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code: if re.match(r"^python$", bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code): if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().mixerlevel: if re.match(r"^lower$|^medium$|^high$", bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().mixerlevel): if not bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().padding and not bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().replace \ and not bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().rcommentaries and not bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().rprint: print("\n[-] Need at least one argument [-r --replace] or [-p --padding] or [-rc --rcommentaries] or [-rp --rprint]") sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) else: print("[-] Incorrect level of mixerlevel, [lower - medium - high] only supported\n") sys.exit(smuFJnbFkNisnWmjWCYNQvKJNklSNvel) else: print("[-] Mixerlevel [-m --mixerlevel] argument missing\n") sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) else: print("[-] '{0}' Incorrect code argument, [python] only supported\n".format(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().Code)) sys.exit(smuFJnbFkNisnWmjWCYNQvKJNklSNvel) else: print("[-] Code [-c --code] argument missing\n") sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) else: print("[-] Output [-o --output] argument missing\n") sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) else: print("[-] Input [-oxJhggBjWmPmRJXLBjMEpPcaEMoNmLbg --input] argument missing\n") sys.exit(mjAzbNSKSWCWCpvXoHXtqXeXmyBTeOwP) for CznIVPOvIZYawZeTxsCdYKWrjFtwFIQt in GnACbkhJDtksYGKoMDHgKOXdoHEkPSRU.split("\n"): time.sleep(0.05) print(CznIVPOvIZYawZeTxsCdYKWrjFtwFIQt) print("\n\n*********************** [ PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ and setup environment ] ************************\n") zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn = PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ() if (zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn.tEJwyHuhdMNRuyAzdQmiobZdtiwSaYjw(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().input, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().verbose) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("\n[+] PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ input argument '{0}' -> Successful".format(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().input)) else: print("[-] PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ input '{0}' failed\n".format(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().input)) sys.exit(qwJFYtbHGyUdRAerlmSAuNwlkXOOgtlz) if (zmmdqpVvnvRKhLwIKMKndVklNNJVHcBn.qREZraLISiUbPzYZZdgaFuwblkfElVKt(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().input, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().verbose) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("\n[+] PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ and setup output argument environment '{0}' -> Successful".format(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output)) else: print("[-] PoLNsFGdmFkjiLIIUBlBzFkIIyFmKrHZ output '{0}' failed\n".format(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output)) sys.exit(qwJFYtbHGyUdRAerlmSAuNwlkXOOgtlz) print("\n\n************************** [ Obfuscation Rcommentaries ] **************************\n") if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().rcommentaries: tCYVyfjWtAqsHceUYwlDDIsPROHaciXL = ZCrPDbxSSuPVcqZjkkcyZEUFJaXegPGs() if (tCYVyfjWtAqsHceUYwlDDIsPROHaciXL.XWnAliWekqMHqUWUwlqEHPlieJakvZHH(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("[+] Obfuscation Rcommentaries -> Successful") else: print("\n[-] Obfuscation Rcommentaries -> Failed") else: print("[!] Obfuscation Rcommentaries no asked !") print("\n\n***************************** [ Obfuscation Replace ] *****************************\n") if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().replace: gYgVzBIhPJVkgCWQuOioPxAWwhhXNrRS = hHLojxSdEtYxIkmvimrxUaSDEunVCFix() if (gYgVzBIhPJVkgCWQuOioPxAWwhhXNrRS.RCuuTlIFfFxkyNxAqjcHDLowxFHfGEyj(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().mixerlevel, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().verbose) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("[+] Obfuscation Replace -> Successful") else: print("\n[-] Obfuscation Replace -> Failed") else: print("[!] Obfuscation Replace no asked !") print("\n\n***************************** [ Obfuscation eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ ] *****************************\n") if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().padding: GQsOAKGGEgcGWPYtMNWdCUBvQSJLdCHG = eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ() if (GQsOAKGGEgcGWPYtMNWdCUBvQSJLdCHG.RpsWTGGuYBHbfRrDVOInuHRtWzBMLwrg(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().mixerlevel) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("[+] Obfuscation eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ -> Successful") else: print("\n[-] Obfuscation eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ -> Failed") else: print("[!] Obfuscation eZhHVgGpxzWiAfmyibaLqkQDKWztXfdZ no asked !") print("\n\n****************************** [ Obfuscation Rprint ] *****************************\n") if bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().rprint: if (tCYVyfjWtAqsHceUYwlDDIsPROHaciXL.cViujpNVjgNqGaZXcayMZHXlVanwzYVC(bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().code, bYYHucfGzSfHlOqCNlbPvpYJrqWflfUl.JlcHOOrzvAlBCzxwBlEDgkEQnqeVIllF().output) == QjDNQunkZJADUzlzbvvNbclhjnhqgaRU): print("[+] Obfuscation Rprint -> Successful\n") else: print("\n[-] Obfuscation Rprint -> Failed\n") else: print("[!] Obfuscation Rprint no asked !\n")