«

»

Lug 13

Excel : rimuovere password protezione foglio

In Microsoft Excel è possibile impostare diverse password di protezione : sull’intero file in modo che sia leggibile / modificabile solo da chi conosce la password, oppure sui singoli fogli di lavoro contenuti nel file o sulla cartella di lavoro.

Non conoscere la password usata per la protezione di solito è bloccante e non vi permette di fare modifiche al file, se però il vostro file adotta solo la password di protezione sul foglio o sulla cartella di lavoro potete usare qualche piccolo trucchetto per cercare di aggirare questa protezione anche senza conoscere la password usata per bloccare il file.

 

Il blocco dei fogli di lavoro o della cartella di lavoro di solito è abbastanza evidente perchè quando tentate di modificare il contenuto o la struttura delle celle vedrete che l’operazione vi sarà impedita, in questi casi lo sblocco, conoscendo la password, si fa da :

Revisione -> Rimuovi Protezione foglio

Revisione -> Rimuovi Protezione cartella di lavoro

come descritto anche in questo doc di Microsoft :

https://support.office.com/it-it/article/bloccare-o-sbloccare-aree-specifiche-di-un-foglio-di-lavoro-protetto-75481b72-db8a-4267-8c43-042a5f2cd93a?ui=it-IT&rs=it-IT&ad=IT

 

Ma come dicevamo nel caso non conosciate la password usata per bloccare il foglio potete tentare questa procedura :

  • aprite il vostro file Excel che ha il foglio / fogli protetti
  • premete  ALT+F11  per aprire l’editor Vba di Excel
  • selezionate dal menù superiore  Inserisci -> Modulo
  • fate copia e incolla di tutto il testo qui sotto nella finestra del nuovo modulo che avete appena aperto :

Sub PasswordBreak()

Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer

On Error Resume Next

For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126

ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)

If ActiveSheet.ProtectContents = False Then
MsgBox “Password = ” & Chr(i) & Chr(j) & Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If

Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next

End Sub

  • premete  F5  o il bottone Esegui  (l’icona a forma di Play  |>  nel menù superiore) per fare eseguire il codice appena inserito nel modulo
  • dopo pochi istanti comparirà una finestra popup che contiene una password compatibile con quella che è stata usata per bloccare il foglio (qualcosa del tipo : AABAAAABAAAN), annotatevela se avete altri files dallo stesso autore, probabilmente ha usato sempre la stessa password e questa vi permetterà di sbloccare anche gli altri files protetti.
    Nota : la password di sblocco calcolata dalla macro NON è la password originale usata dall’autore del file Excel ma una password compatibile, cioè che ha lo stesso hash e riesce a sbloccare il foglio.
  • ora tornate pure al vostro file Excel che risulterà già sbloccato a livello di fogli, quindi non vi resta che salvarlo sbloccato per non avere più la password di protezione sul foglio, la macro che abbiamo usato potete anche cancellarla dall’editor Vba prima di salvare il file, non ci servirà più

 

Questa procedura funziona sempre con i files in formato XLS ma a volte fallisce quando si usa il nuovo formato di file XLSX , credo dipenda dalla versione di Office, nel caso la macro sopra non dia i risultati sperati provate quest’altra procedura che è leggermente più laboriosa ma funziona sempre :

  • rinominate il vostro file Excel da FILE.XLSX a FILE.ZIP (si ! i files che finiscono in X di Office sono degli zip !)
  • espandete il file ZIP appena rinominato in una cartella temporanea, esempio C:\TEMP\FILE\
  • se entrate nella cartella troverete una struttura simile a questa immagine con diverse sotto cartelle e files  :

 

 

 

 

 

  • entrate nella sotto cartella  xl\worksheets\   quindi nel nostro esempio :
    C:\TEMP\FILE\XL\WORKSHEETS\
    qui dovreste trovare tanti files SHEET#.XML quanti sono i fogli di lavoro contenuti all’interno del vostro file Excel, esempio : sheet1.xml, sheet2.xml, ecc….
  • aprite ogni file SHEET#.XML con un editor di testo qualsiasi (esempio : Blocco Note, Notepad++, PsPad, Textpad o simili)
  • cercate nel file la stringa
    <sheetProtection password
  • dovreste trovare qualcosa di simile a :
    <sheetProtection password=”CF7A”
  • cambiate la riga in modo che si legga come :
    <sheetProtection password=””
    in pratica dovete rimuovere tutte le lettere tra apici nel campo password lasciandolo vuoto, fate attenzione a NON modificare altri campi ,dati o caratteri presenti nel file !
  • salvate il file SHEET#.XML appena modificato e passate al successivo
  • quando avete terminato le modifiche su ogni file ricompattate tutti i files della cartella di lavoro in un unico file ZIP , il modo più sicuro per fare questa operazione è posizionarsi da esplora risorse all’interno della cartella di lavoro, nel nostro esempio C:\TEMP\FILE\  , selezionare tutti i files con CTRL-A e quindi premere il tasto destro del mouse e scegliere dal menù che compare INVIA A -> CARTELLA COMPRESSA come da immagine qui sotto :

 

 

 

 

 

 

 

 

  • ora rinominate il file ZIP appena creato (se avete usato la nostra procedura sopra si chiamerà _rels.zip) in FILE.XLSX
  • aprite il nuovo FILE.XLSX che si trova nella cartella di lavoro, quindi seguendo sempre il nostro esempio il file che si trova in C:\TEMP\FILE\FILE.XLSX
  • sbloccate i fogli di lavoro andando in :
    Revisione -> Rimuovi Protezione foglio
    non preoccupatevi, non vi verrà chiesta nessuna password, sarà solo necessario fare la procedura di rimozione protezione, salvate il file et voilà avrete il vostro file sprotetto e modificabile senza vincoli.

 

 

La stessa procedura è applicabile anche quando è stata usata una protezione sulla cartella di lavoro in questo caso i passaggi da fare sono i seguenti :

  • rinominate il vostro file Excel da FILE.XLSX a FILE.ZIP
  • espandete il file ZIP appena rinominato in una cartella temporanea, esempio C:\TEMP\FILE\
  • se entrate nella cartella troverete una struttura simile a questa immagine con diverse sotto cartelle e files  :

 

 

 

 

 

  • entrate nella sotto cartella  xl   quindi nel nostro esempio :C:\TEMP\FILE\XL\
  • aprite il file WORKBOOK.XML con un editor di testo qualsiasi
  • cercate nel file la stringa
    <workbookProtection
  • dovreste trovare qualcosa di simile a :
    <workbookProtection workbookPassword=”CF7A”
  • cambiate la riga in modo che si legga come :
    <workbookProtection workbookPassword=””
    in pratica dovete rimuovere tutte le lettere tra apici nel campo password lasciandolo vuoto, fate attenzione a NON modificare altri campi ,dati o caratteri presenti nel file !
  • salvate il file WORKBOOK.XML
  • quando avete terminato ricompattate tutti i files della cartella di lavoro in un unico file ZIP , il modo più sicuro per fare questa operazione è posizionarsi da esplora risorse all’interno della cartella di lavoro, nel nostro esempio C:\TEMP\FILE\  , selezionare tutti i files con CTRL-A e quindi premere il tasto destro del mouse e scegliere dal menù che compare INVIA A -> CARTELLA COMPRESSA come da immagine qui sotto :

 

 

 

 

 

 

 

 

  • ora rinominate il file ZIP appena creato (se avete usato la nostra procedura sopra si chiamerà _rels.zip) in FILE.XLSX
  • aprite il nuovo FILE.XLSX che si trova nella cartella di lavoro, quindi da esempio il file che si trova in
    C:\TEMP\FILE\FILE.XLSX
  • sbloccate la cartella di lavoro andando in :
    Revisione -> Rimuovi Protezione cartella di lavoro
    non preoccupatevi, non vi verrà chiesta nessuna password, sarà solo necessario fare la procedura di rimozione protezione, salvate il file e siete a posto, avrete il vostro file sprotetto e modificabile senza nessun vincolo.

 

Spero che queste procedure possano essere utili in tutti quei casi di urgenza in cui è necessario modificare un file di Excel ma per qualsiasi motivo non sia più possibile recuperare la password di protezione foglio o cartella di lavoro.

 

21 commenti

Vai al modulo dei commenti

  1. M

    quando cero la stringa <workbookProtection non trova niente.

    Uso office 2013

    1. mdede

      Si, confermo, sembra che da Office 2013 in poi il “trucco” del file XML non sia più funzionante, anche un altro nostro lettore (che ringrazio) che utilizza Office 365 mi conferma che anche con questa versione il trucco non funziona.
      Probabilmente Microsoft si è accorta del problema e ha cambiato il metodo di protezione.
      Saluti.

  2. nico

    nel caso del file XLS la subroutine mi restituisce semplicemente una form con scritto Falso. Nessuna password o formato hash. Se invece provo a salvarla come file xslx mi dice che è incompatibile, me lo salva lo stesso ma la procedura col file zip non funziona. Di sicuro hanno trovato un modo per bloccare anche queste due procedure. Di fatto non c’è nessun modo per recuperare la password

    1. mario

      Attenzione che le procedure sopra (come scritto all’inizio del post) funzionano SOLO per i casi di protezione del foglio o della cartella di lavoro di un file Excel e non per altri casi di protezione presenti nei files Excel.

      1. nicolas

        grazie per la precisazione. Conosci delle procedure di sblocco valide anche per altri tipi di protezione?

        1. mario

          Se la protezione è a livello di file che sappia io l’unica soluzione è forzare la password con un brute force attack, cioè con un software che tenti tutte le combinazioni possibili fino a quando indovina la password corretta, a seconda della lunghezza e della complessità della password usata (e delle risorse hardware a disposizione) ci possono volere anche giorni per il crack, ci sono diversi software a pagamento che hanno questa funzione, uno dei più famosi è quello della software house rossa Elcomsoft, ma cercando su internet ce ne sono molti altri.

  3. Fabrizio Dellinoci

    Errore di compilazione End If senza blocco If ?

  4. Fausto

    Buona sera.
    Ho trasformato il mio file da .xlsm a .xls ed ho rimosso la password in VBA e ha funzionato. Volevo chiedere se perdo delle informazioni nel file, dopo la rimozione della pw l’ho di nuovo salvato in formato .xlsm.
    Grazie per l’attenzione.
    Fausto

    1. mario

      Perfetto ! No, non dovrebbe perdere alcuna informazione, vedo che il suo file è in formato XLSM cioè nel formato nuovo di Office e che contiene macro, provi le macro che ci sono nel file (o comunque verifichi il funzionamento del file) ma secondo me lo troverà identico al precedente, solo senza password di protezione.

      1. Fausto

        Grazie per la dritta. Avevo solo 2 macro semplici che ho preferito eliminare e registrare di nuovo. Si tratta di un mio file che ha 4 fogli, che elaborano dati tra loro. Su il primo foglio avevo messo una pw che non ricordavo, per fortuna -grazie a voi- ho risolto.
        Mi piacerebbe utilizzare la soluzione con il file ZIP, ma in quei file xml, non vi è alcun riferimento alle password come invece spiegato da voi. Se avete, per favore, altre indicazioni al riguardo, io vi leggo volentieri.
        Ringrazio e invio cordiali saluti.
        F.

        1. mdede

          Strano perchè a me la procedura rinominando i files XLSX in ZIP e poi agendo direttamente sull’XML interno ha sempre funzionato……… se il file non contiene dati riservati me lo mandi se vuole che lo controllo.
          Saluti e grazie per gli apprezzamenti.

  5. federico

    Buonasera,

    io ho questo problema: una volta trasformato il file in ZIP ed entrato in xl\worksheets\ -SHEET#.XML non trovo la dicitura sheetProtection password. Come posso fare ?

    Grazie

  6. mdede

    Legga i commenti, nelle ultime versioni di Office Microsoft si è accorta del problema e ha rimosso la possibilità di agire con questo trucchetto.

  7. Roberto MORREALE

    Grazie per le utilissime e dettagliate informazioni. Confermo che il metodo di zippare il file xlsx ha funzionato con la mia versione di excel 2010. Grazie

  8. baiern

    Salve, a me capita una cosa strana.
    Uso excel 2003, ed ho una cartella su cui avevo inserito la password di accesso al file, ora non essendoci più questa necessità ho deciso di togliere la password, quindi ho cliccato su strumenti, Rimozione password, ho inserito la password che era memorizzata ed ho cliccato ok, ho quindi salvato il file, ma con mia sorpresa alla riapertura mi ha nuovamente richiesto la password, e sotto la voce strumenti appariva la voce “proteggi il foglio”, come se la protezione fosse stata rimossa.
    Ho ripetuto tutta l’operazione varie volte ma non riesco ad eliminare che mi richieda la password.
    Qualcuno può aiutarmi?

    1. mdede

      Per togliere la password deve risalvare il file togliendo la protezione che aveva inserito, il modo più veloce per farlo è fare :

      FILE -> SALVA CON NOME ->

      STRUMENTI -> OPZIONI_GENERALI

      qui lasci entrambi i campi PASSWORD DI LETTURA e PASSWORD DI SCRITTURA vuoti e salvi il file con un nuovo nome, chiuda Excel, riapra il file appena salvato e ora non dovrebbe più chiedere nessuna password per l’accesso.
      Saluti.

  9. Paolo

    Buongiorno,
    ho provato a seguire le strade sopra suggerite in un file XLSM ossia sia cercando di inserire il modulo e cercando di copiare il testo sopra, ma il pulsante non è attivo, sia rinominando il file in zip e e tutta il resto e cercando la stringa sheetProtection password=”CF7A” ma non ha trovato niente.

    Sto usando office 365

    dove sbaglio? avete qualche indicazione da darmi?

    Grazie

    1. mdede

      Legga i commenti, nelle ultime versioni di Office Microsoft si è accorta del problema e ha rimosso la possibilità di agire con questo trucchetto purtroppo.

      :-)

  10. domenico esposito

    Grande!!! Procedura .zip riuscita.
    Grazie
    Domenico

  11. Francesco

    Io ho usato la procedura sopra ma quando apro l’editor Vba non mi da la possibilità di inserire un modulo

  12. Luca Bersanetti

    Come eliminare la password dal telefono cellulare

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>