├── requirements.txt ├── README.md └── main.py /requirements.txt: -------------------------------------------------------------------------------- 1 | rstr 2 | datetime 3 | colorama 4 | pystyle 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🔑 Avast-Key-Generator 2 | > Avast License Key Generator with Special Regex Pattern. 3 | 4 | ## ✨ Causion 5 | - ***_We tried the generated Keys from this tool, It's worked perfectly. That's why We're saying Special Regex Pattern._*** 6 | 7 | ## ⚠️ DISCLAIMER 8 | **This github repo is for EDUCATIONAL PURPOSES ONLY. I am NOT under any responsibility if a problem occurs.** 9 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import os, subprocess 2 | from datetime import datetime 3 | from rstr import xeger 4 | from pystyle import Colors, Colorate 5 | from colorama import Fore, init 6 | 7 | init(autoreset=True) 8 | 9 | class AvastKeyGenerator: 10 | def __init__(self): 11 | self.key_pattern = ( 12 | r"MCT[79RBYN2GKZ][XK37BM4FP8Y]-[DZCXBY9NMKJ][NKZBQXR9M27P][HP8DMJRF6XB24][3826MX9K7]" 13 | r"[BD3FKH2GX8Q7]-[73K28GRN6QJ][6HMG3Y82WCK][HCWFKJ7432D9][D9YXRGPHJK2][6ZT4FNBWQHXD2G]" 14 | r"-[Y89G2Z3M7FQ][427P8ZNQ93X6][JE7KVDUWGQTZYC][KGUD6HFR98Y][NEP4UDBSVXQ]" 15 | ) 16 | self.file_name = "keysAvast.txt" 17 | self.setup_console() 18 | 19 | def setup_console(self): 20 | if os.name == "nt": 21 | os.system('title "| Avast Key Generator | Creator: cleinkelvinn |"') 22 | self.clear_console() 23 | 24 | @staticmethod 25 | def clear_console(): 26 | os.system("cls" if os.name == "nt" else "clear") 27 | 28 | @staticmethod 29 | def display_banner(): 30 | banner = """ 31 | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 32 | ░░░░░░░░░░▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄░░░░░░░░░ 33 | ░░░░░░░░▄▀░░░░░░░░░░░░▄░░░░░░░▀▄░░░░░░░ 34 | ░░░░░░░░█░░▄░░░░▄░░░░░░░░░░░░░░█░░░░░░░ 35 | ░░░░░░░░█░░░░░░░░░░░░▄█▄▄░░▄░░░█░▄▄▄░░░ 36 | ░▄▄▄▄▄░░█░░░░░░▀░░░░▀█░░▀▄░░░░░█▀▀░██░░ 37 | ░██▄▀██▄█░░░▄░░░░░░░██░░░░▀▀▀▀▀░░░░██░░ 38 | ░░▀██▄▀██░░░░░░░░▀░██▀░░░░░░░░░░░░░▀██░ 39 | ░░░░▀████░▀░░░░▄░░░██░░░▄█░░░░▄░▄█░░██░ 40 | ░░░░░░░▀█░░░░▄░░░░░██░░░░▄░░░▄░░▄░░░██░ 41 | ░░░░░░░▄█▄░░░░░░░░░░░▀▄░░▀▀▀▀▀▀▀▀░░▄▀░░ 42 | ░░░░░░█▀▀█████████▀▀▀▀████████████▀░░░░ 43 | ░░░░░░████▀░░███▀░░░░░░▀███░░▀██▀░░░░░░ 44 | ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░""" 45 | print(Colorate.Horizontal(Colors.purple_to_red, banner, 1)) 46 | 47 | @staticmethod 48 | def get_key_count(): 49 | now = datetime.now().strftime("[%d/%m/%Y %H:%M:%S]") 50 | while True: 51 | try: 52 | count = int(input(f"\n {Fore.LIGHTRED_EX}{now}{Fore.YELLOW} > " 53 | + Colorate.Diagonal(Colors.rainbow, 54 | "Enter Key Amount: ", 2))) 55 | return count 56 | except ValueError: 57 | print(Fore.RED + "\n 🔮 Please Select a Number!") 58 | 59 | def generate_keys(self, count): 60 | with open(self.file_name, "a") as file: 61 | for _ in range(count): 62 | key = xeger(self.key_pattern) 63 | file.write(key + "\n") 64 | return self.file_name 65 | 66 | def notify_completion(self): 67 | now = datetime.now().strftime("[%d/%m/%Y %H:%M:%S]") 68 | print(f"\n {Fore.LIGHTRED_EX}{now}{Fore.YELLOW} > " 69 | + Colorate.Diagonal(Colors.rainbow, "Keys Has Been Created!", 4)) 70 | 71 | def open_file(self): 72 | now = datetime.now().strftime("[%d/%m/%Y %H:%M:%S]") 73 | while True: 74 | qi = input(f"\n {Fore.LIGHTRED_EX}{now}{Fore.YELLOW} > " 75 | + Colorate.Diagonal(Colors.rainbow, "Do you want to open saved key file?: (y/n) ", 4)).lower() 76 | if qi in ["y", "n"]: 77 | break 78 | print(Fore.RED + "\n 🔮 Please enter 'y' or 'n'!") 79 | 80 | if qi == "y": 81 | if os.path.exists(self.file_name): 82 | try: 83 | if os.name == "nt": 84 | os.startfile(self.file_name) 85 | else: 86 | subprocess.call(('xdg-open', self.file_name)) 87 | except Exception as e: 88 | print(Fore.RED + f"\n 🔮 Error opening file: {e}") 89 | else: 90 | print(Fore.RED + "\n 🔮 File does not exist!") 91 | else: 92 | exit() 93 | 94 | def main(): 95 | generator = AvastKeyGenerator() 96 | generator.display_banner() 97 | count = generator.get_key_count() 98 | generator.generate_keys(count) 99 | generator.notify_completion() 100 | generator.open_file() 101 | 102 | if __name__ == "__main__": 103 | main() 104 | 105 | # Updated June 29, 2024 at 3:00 PM ~ Made By CleinKelvinn 106 | --------------------------------------------------------------------------------