Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [C] Estrarre RAR criptato da password con funzioni in C

    Salve ragazzi,
    ho un problema: sto scrivendo un programma in C per poter scoprire la password che ho smarrito di un mio vecchio archivio .rar.
    Premesso che l'algoritmo che scansioni password per password, carattere per carattere, l'ho già scritto e funziona, vorrei sapere se qualcuno ha mai avuto a che fare con il formato RAR.
    Ho trovato un sito: http://www.winrar.it/prelievo.php#programmatori dal quale nella sezione Sorgenti/librerie per i programmatori alla voce DLL, 32 e 64 bit, con funzioni di elenco ed estrazione per archivi in formato RAR. Con esempi per molti linguaggi - vers. 5.01 ho prelevato del materiale che mi spiega in Inglese come utilizzare l'estrazione di file .rar ma nulla sulla verifica di password dell'archivio.
    Se qualcuno ha del materiale migliore (possibilmente in ita) oppure trova nel link che ho citato qualcosa che possa fare al caso mio, può aiutarmi??

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Insomma, in poche parole vuoi craccare il rar ...

    Se la password è abbastanza complessa, rischi di impiegare un bel po' dei tuoi anni ...

    Comunque, se non mi sbaglio, la password la puoi passare all'eseguibile sulla linea di comando
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Sì, è possibile estrarre il contenuto passando la password da linea di comando col codice
    codice:
     system("start winrar e [...] ");
    però da quello che sto notando diventa veramente lento perché chiede ogni volta di estrarre un file e il più delle volte non riesce ad estrarlo per la password errata perciò appare il messaggio d'errore...
    L'unico modo per fare qualcosa di efficiente è leggersi quel datasheet che ho postato sopra e cercare di capire qualcosa.
    Comunque una lista di comandi con spiegazioni in italiano la metto qua sotto per chiunque fosse interessato:

    codice:
    RAR 4.20        Copyright (c) 1993-2012 Alexander Roshal     9 Giu 2012
                   Traduzione in italiano (c) Andrea Baitelli
    Registrato a: XXXXX
    
    Sintassi: RAR <comando> -<opzione_1> -<opzione_N> <archivio> <file...>
                  <@lista_file...> <percorso_dove_estrarre\>
    
    <Comandi>
      a             Aggiungi file all'archivio
      c             Aggiungi il commento all'archivio
      cf            Aggiungi i commenti ai file
      ch            Modifica alcune caratteristiche dell'archivio
      cw            Scrivi il commento dell'archivio in un file
      d             Elimina file dall'archivio
      e             Estrai tutti i file dell'archivio nella cartella corrente
      f             Aggiorna i file dell'archivio
      i[par]=<fras> Trova una frase in uno o più archivi
      k             Blocca l'archivio da modifiche seguenti
      l[t,b]        Lista contenuto dell'archivio [formato: T=tecnico, B=solo nome]
      m[f]          Muovi file e/o cartelle nell'archivio [solo i file]
      p             Stampa il/i file (verso stdout, solitamente la stampante)
      r             Ripara l'archivio da eventuali danneggiamenti
      rc            Ricostruisci i volumi mancanti
      rn            Rinomina i file presenti nell'archivio
      rr[N]         Aggiungi i dati per facilitare un eventuale recupero seguente
      rv[N]         Crea i volumi di ripristino
      s[nome|-]     Converti l'archivio in auto-estraente
      t             Verifica i file archiviati
      u             Aggiorna e aggiungi file all'archivio
      v[t,b]        Lista contenuto dell'archivio estesa [T=tecnico, B=solo nome]
      x             Estrai i file dell'archivio comprendenti il percorso archiv.
    
    <Opzioni>
      -             Interrompi la scansione delle opzioni
      @[+]          Disabilita [abilita] l'impiego di file di tipo lista_file
      ac            Cancella l'attributo "Modificato" dopo compressione o estraz.
      ad            Appende il nome dell'archivio al percorso di destinazione
      ag[formato]   Genera il nome dell'archivio utilizzando la data corrente
      ai            Ignora gli attributi dei file archiviati
      ao            Aggiungi solo i file con l'attributo "Modificato" attivo
      ap<percorso>  Imposta il percorso all'interno dell'archivio
      as            Sincronizza il contenuto dell'archivio con l'origine
      av            Inserisce i dati per la verifica dell'autenticazione (regist.)
      av-           Disabilita il controllo dei dati di autenticazione
      c-            Disabilita la visualizzazione del commento
      cfg-          Disabilita la lettura della configurazione predefinita
      cl            Converti i nomi di file e cartelle in minuscolo
      cu            Converti i nomi di file e cartelle in maiuscolo
      df            Elimina i file dopo essere stati archiviati
      dh            Apre i file già in uso da altri programmi
      dr            Elimina i file e li pone nel Cestino di Windows
      ds            Non ordina i file da inserire in un archivio solido
      dw            Pulisci lo spazio file dopo l'archiviazione
      e[+]<attrib>  Non archiviare/archiviare file con uno specifico attributo
      ed            Non aggiungere le cartelle se sono vuote
      en            Non aggiunge l'indicazione di 'fine archivio'
      ep            Escludi i percorsi originali dai nomi dei file e cartelle
      ep1           Escludi la cartella base dai nomi dei file e cartelle
      ep2           Archivia il percorso completo
      ep3           Archivia il percorso, completo della lettera del disco
      f             Aggiorna i file dell'archivio
      hp[par.chiav] Crittografa sia i dati che l'intestazione dell'archivio
      id[c,d,p,q]   Disabilita la visualizzazione di alcuni o tutti (q) i messaggi
      ieml[i1[,i2]] Invia l'archivio via email ad uno o più indirizzi
      ierr          Invia i messaggi al dispositivo "StdErr"
      ilog[nome]    Tieni traccia degli errori in un file (solo vers. registrata)
      inul          Disabilita la visualizzazione di tutti i messaggi
      ioff          Spegne il PC al termine dell'operazione che va ad iniziare
      isnd          Abilita i suoni
      k             Blocca l'archivio da modifiche seguenti
      kb            Estrai anche i file danneggiati
      log[f][=nome] Scrive i nomi dei file processati in un file di tracciato
      m<0..5>       Livello di compressione (0-memorizza...3-predefin...5-massimo)
      mc<par>       Abilita i parametri di compressione avanzati
      md<dimens.>   Dimens. dizionario compres.:64,128,256,512,1024,2048,4096 o A-G
      ms[est;est]   Specifica le estensioni dei file da inserire senza compressione
      mt<processi>  Imposta il numero dei processi (threads)
      n<file>       Include solo i file specificati
      n@            Acquisisci i file da includere da tastiera (o StdIn)
      n@<lista>     Includi i file specificati in una lista a file
      o[+|-]        Imposta modalità di sovrascrittura [NonChied.|NonSovvr.|Chiedi]
      oc            Imposta l'attributo 'Compresso' di NTFS, se presente
      or            Rinomina i file estratti automaticamente
      os            Salva gli attributi estesi di un file sotto NTFS
      ow            Salva/ripristina i dati di "proprietario" e di "gruppo"
      p[par.chiave] Imposta la parola chiave
      p-            Non chiedere la parola chiave
      r             Considera anche le sottocartelle
      r-            Disabilita la ricorsività delle sotto-cartelle
      r0            Considera le sottocartelle solo per nomi con caratteri jolly
      ri<P>[:<S>]   Priorità esec.(0-predef.,1-min..15-mas) e tempo d'attesa (msec)
      rr[N]         Aggiungi i dati per facilitare un eventuale recupero seguente
      rv[N]         Crea i volumi di ripristino
      s[<N>,v[-],e] Crea archivio in formato solido(N file,di/indipendenti,estens.)
      s-            Disabilita l'archiviazione in formato solido
      sc<car>[<og>] Specifica il set di caratteri e a quali oggetti applicarli
      sfx[nome]     Crea un archivio auto-estraente [nome modulo]
      si[nome]      Preleva i dati d'archiviare da 'stdin',eventualmente in [nome]
      sl<dimens.>   Processa i file con dimensione minore a quella indicata
      sm<dimens.>   Processa i file con dimensione maggiore a quella indicata
      t             Verifica i file dopo l'archiviazione
      ta<data>      Considera file modificati dopo la <data>,formato AAAAMMGGOOMMSS
      tb<data>      Considera file modificati prima di <data>,form. AAAAMMGGOOMMSS
      tk            Tieni come orario quello dell'archivio originale
      tl            Orario dell'archivio come quell'ultimo file
      tn<tempo>     Considera i file più recenti del <tempo> specificato
      to<tempo>     Considera i file più vecchi del <tempo> specificato
      ts<m,c,a>[N]  Salva/ripristina orari file:Modifica,Creazione,Accesso[precis.]
      u             Aggiorna e aggiungi file dell'archivio
      v             Crea un archivio a più volumi autodeterminando la dimensione
      v<dimen>[k,b] Crea un archivio a più volumi con dimensione= *1000 [*1024, *1]
      vd            Cancella il contenuto del disco prima di creare il volume
      ver[n]        Controllo per la versione dei file
      vn            Usa il vecchio schema dei nomi per i volumi
      vp            Introduce una pausa prima di ogni volume seguente
      w<percorso>   Definisci la cartella di lavoro per i file temporanei
      x<file>       Escludi i file di seguito specificati
      x@            Acquisisci i file da escludere da tastiera (o StdIn)
      x@<lista>     Escludi i file specificati in una lista a file
      y             Assumi la risposta 'Si' a tutte le domande
      z[<file>]     Legge il commento dell'archivio da file

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Più che altro, dovresti scaricare e studiare l'uso della DLL (in fondo alla pagina, UnRar.dll) che consente al programmatore di gestire il rar.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Ok grazie, adesso provvedo

  6. #6
    Interessante discussione. Per estrarre un .rar con una password di questo tipo "dgJGH768/(/&%}{[ĸłł²ø" con un pc normale con una buona cpu multicore quanto tempo ci vuole?
    Più pratica in futuro...

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Troppo tempo ... lascia perdere.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Lo so ma almeno ci provo... sto progettando questo programmino per vedere se
    1.Riesco a risolvere questo problema;
    2.Posso finalmente smetterla di scaricare inutili programmi fake che promettono di cercare la password e invece sono solo virus.
    Per ora la ricerca la faccio su 62 caratteri (26 lettere minuscole,26 maiuscole e 10 numeri) poi magari la si può estendere su quei caratteri strani...

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Con 62 caratteri e 8 caratteri per password avresti 62^8 combinazioni, provandone anche 100 al secondo avresti bisogno di circa 69000 anni ! (SE&O)

    E ovviamente è illegale ... ma ho chiuso un occhio (tutti e due) dato che è assurdo provarci con un brute force.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    oregon chiudendo il 3° occhio e senza andare oltre, esistono dei programmi che consentono di leggere archivi rar protetti da password?
    Più pratica in futuro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.