diff --git a/main.py b/main.py index 0aead75..00a695f 100644 --- a/main.py +++ b/main.py @@ -1,17 +1,43 @@ -import platform -if platform.system() != "Windows": - exit() import os +import platform import subprocess import glob +from typing import List + +def main() -> None: + if platform.system() != "Windows": + exit() + + diretorio_appdata = os.getenv('LOCALAPPDATA') + if diretorio_appdata is None: + return + + diretorios_discord = encontrar_diretorios_discord(diretorio_appdata) + encontrou = False + for diretorio_discord in diretorios_discord: + arquivos_js = encontrar_arquivos_js(diretorio_appdata, diretorio_discord) + for arquivo_js in arquivos_js: + if contem_token_mfa(arquivo_js): + print(f'[!] Possível coletor de tokens em {arquivo_js}, abrindo...') + subprocess.run(f"notepad.exe {arquivo_js}") + encontrou = True + if not encontrou: + print('[!] Nenhum arquivo suspeito foi encontrado.') + +def encontrar_diretorios_discord(diretorio_main: str) -> List[str]: + diretorios_discord = [] + for diretorio in os.listdir(diretorio_main): + if os.path.isdir(os.path.join(diretorio_main, diretorio)) and 'Discord' in diretorio: + diretorios_discord.append(diretorio) + return diretorios_discord + +def encontrar_arquivos_js(diretorio_appdata: str, diretorio_discord: str) -> List[str]: + return glob.glob(os.path.join(diretorio_appdata, diretorio_discord, '**', '*.js'), recursive=True) -appdata = os.getenv('LOCALAPPDATA') +def contem_token_mfa(arquivo_js: str) -> bool: + with open(arquivo_js, 'r') as f: + conteudo = f.read() + return 'mfa.' in conteudo -if appdata != None: - nooo = [f for f in os.listdir(appdata) if os.path.isdir(appdata + f'\{f}') and 'Discord' in f] - for lmao in nooo: - kk = glob.glob(appdata + f'\{lmao}\**\*.js', recursive=True) - for lol in kk: - if open(lol, "r").read().__contains__('mfa.'): - print(f'\n[!] possible token grabber in {lol}, opening...') - subprocess.run(f"notepad.exe {lol}") +if __name__ == '__main__': + main()