Crack winrar password conociendo parte de la contraseña

(1/2) > >>

AngelFire:
Buenas. Lo que sucede es lo siguiente, tengo un winrar el cual le puse contraseña y solo recuerdo como termina. Como los caracteres olvidados son inferiores a 6, quisera saber como puedo hacer fuerza bruta manteniendo el final de la contraseña.
Ejemplo
Contraseña: xxxxxx08574

O sea los numeros finales se mantienen, exites ya algun software que permita eso o hay que irse a python.

Gracias por la lectura asi como por cualquier comentario de antemano.

Como se puede mejorar esta variante?

Código:

import os
Alphabets = "0123456789"
B = '050678844'
for a in range(0,10):
 for b in range(0,10):
  for c in range(0,10):
    for d in range(0,10):
        Brute = Alphabets[a] + Alphabets[b] + Alphabets[c] + Alphabets[d] + B
        os.popen("Rar.exe x -p" + Brute + " CI_XXXXXXXX78844.rar")
        print (str(Brute))
#   raw_input()
raw_input("Done !")

MCKSys Argentina:
Hola!

Cita de: AngelFire en  1 Junio 2023, 17:50 pm

Como se puede mejorar esta variante?


Una variante sin tener que usar range:

Código:

import os
Alphabets = "0123456789"
B = '050678844'
for a in Alphabets:
 for b in Alphabets:
  for c in Alphabets:
    for d in Alphabets:
        Brute = a + b + c + d + B
        os.popen("Rar.exe x -p" + Brute + " CI_XXXXXXXX78844.rar")
        print (str(Brute))
#   raw_input()
raw_input("Done !")

Saludos!

AngelFire:
En el siguiente codigo si se extiende algo como:

Código:

for a in Alphabets:
    for b in Alphabets:
        for c in Alphabets:
            for d in Alphabets:
                for e in Alphabets:
                    for f in Alphabets:
                        for g in Alphabets:
                            for h in Alphabets:
Terminan abriendose suficientes procesos como para colgar el ordenador. No veo como solucionarlo con os.close, alguna recomendación, para correr todo el proceso sin colgar el ordenador.

Gracias y saludos.

Danielㅤ:
Hola, en el código por lo que veo las variables a, b, c y d tienen todas el mismo valor ya que en cada for vuelve cada variable a empezar de cero el bucle por lo que todas terminan teniendo el mismo valor, de todas maneras hay mejores formas para lograr eso, siempre se recomienda aprovechar un bucle para usarlo con otras iteraciones.

Por otro lado se debería trabajar con threads (multi hilos) usando el método  join() para que el programa pueda trabajar por separado y no saturarse.


Saludos

AngelFire:
Chatgpt:
Para garantizar que el proceso unrar se complete correctamente antes de continuar con la siguiente iteración del bucle, puedes utilizar subprocess en lugar de os.popen(). La función subprocess.run() espera a que el proceso se complete antes de continuar con el código

Asi va ok, puden probar con un winrar que llamen test.rar y una contraseña de 3 digitos que terminen en 3 por ejemplo:

Código:

003
013
023
033
043
053
063
073
083
093
103
113
123
203
213
223
233
243
253
263
273
283
293
303
313
323
333
343
353
363
373
383
393
403
413
423
433
443
453
463
473
483
493
503
513
523
533
543
553
563
573
583
593
603
613
623
633
643
653
663
673
683
693
703
713
723
733
743
753
763
773
783
793
803
813
823
833
843
853
863
873
883
893
903
913
923
933
943
953
963
973
983
993

Código:

import subprocess
Alphabets = "0123456789"
B = '3'
for a in Alphabets:
 for b in Alphabets:
    Brute = a + b + B
    process = subprocess.run(["unrar.exe", "x", "-p" + Brute, "test.rar"])
    print (str(Brute))
    if process.returncode == 0:
        break

El tema es como seria para evitar todas las salidas fallidas de errores tipo:
Código:

UNRAR 6.21 x64 freeware      Copyright (c) 1993-2023 Alexander Roshal


Extracting from test.rar

Total errors: 1

Navegación

[0] Índice de Mensajes

[#] Página Siguiente