Se me hace Bien que quieres hacer las cosas por tu cuenta y que bueno que tengas la iniciativa de hacer las cosas.
Habiendo dicho eso tu Codigo es muy ineficiente, Al igual que algunos que eh visto en Las respiestas de chatgpt. Quisiera ser mejor programador para explicarte la mejor manera de hacerlo. Pero a veces, y mas en Este tipp de casos es mejor no reinventar la rueda y tomar lo que ya existe. Dicho esto tu mejor opcion hasta donde yo se es usar una combinacion de crunch con John the ripper.
Crunch es muy rapido para generar diccionarios. En tu Caso especifico seria Algo como :
crunch 11 11 -t @@@@@@08574 -o crackrar.txt
Esto genera una lista de minimi 11 caracteres y maximo 11 caracteres terminando en 08754.
John the ripper es mejor por que no tienes que empezar un proceso Nuevo para cada intento. Esto es muy intensivo para los recursos y aumenta El tiempo exponencialmente con la mayor cantidad de claves a intentar. Con John puedes obtener un hash del archivo y crackear el hash sin tener que montar El programa de rar para cada intento. Para esto necesitas rar2john lo que se veria Algo como:
rar2john archivoencryptado.rar > hash
Esto genera El hash de tu archivo y lo Guarda en un archivo nombrado "hash" (o lo que tu quieres). Despues usa jtr para crackearlo:
john hash -w crackrar.txt
Y pues si es cierto tu formato deberias tener tu clave.
Si tienes mas informacion sobre tu clave seria mejor. Como por ejemplo.si sabes que no hay caracteres que se repiten 3 veces como "aaa" o "333" o sis sabes que clave no tiene caracteres especiales o mayusculas etc. Esto reduce Bastante El tamaño de tu diccionario y por ende El tiempo que tardas en crackear.
A mi me gusta jtr pero tambien puedes usar hascat (especialmente si tienes gpu). Me parece que Seria usar -m 12500 pero no se. Seria buscarlo en la documentacion. Espero que te ayude esto.