Pulihkan kata sandi perlindungan lembar di Excel

14

Saya memiliki buku kerja Excel.

Dua tahun sebelumnya saya menetapkan opsi perlindungan kata sandi untuk salah satu lembar. Sekarang saya lupa kata sandinya. Apakah ada cara untuk memulihkan kata sandi lembar Excel itu?

slhck
sumber

Jawaban:

17

Anda tidak dapat memulihkan kata sandi, tetapi Anda bisa tidak melindungi lembar (Hash yang digunakan untuk melindungi lembar cukup rentan terhadap tabrakan di versi excel lama, sehingga menghasilkan tabrakan cukup cepat di sini).

Ada skrip yang tersedia yang akan memaksa membuka lembar Anda dalam waktu yang sangat singkat.

Lihatlah di sini misalnya: http://www.theofficeexperts.com/VBASamples/Excel02.htm

Berikut kodenya:

Sub PasswordBreaker()
  'Author unknown but submitted by brettdj of www.experts-exchange.com

  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 "One usable password is " & Chr(i) & Chr(j) & _
          Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
          Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
   ActiveWorkbook.Sheets(1).Select
   Range("a1").FormulaR1C1 = 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
Johan - mengembalikan Monica
sumber
+1 kemungkinan solusi. Cara lain di sekitarnya..program aplikasi dengan Apache POI dan Digester. Lewati file dan salin tanpa menyentuh kata sandi. (Ya dalam beberapa hal itu mungkin)
user8885
2
+1 Bekerja seperti jimat dan menabrak dalam waktu kurang dari 10 detik.
Johan - mengembalikan Monica
Wow. Luar biasa bahwa tabrakan (hampir?) Pasti di bawah 194.560 percobaan. Saya sudah memiliki milik saya pada iterasi ke-3000. Itu sekitar 17 bit total entropi!
Jonallard
Adakah cara non-vba? Saya menggunakan OSX dan seluruh file terlindungi.
Jonny
Saya cukup yakin ini tidak akan berfungsi pada file Excel yang dilindungi dengan Excel 2013 dan yang lebih baru, karena peningkatan level enkripsi.
Ƭᴇcʜιᴇ007