Begini cara membuka worksheet Excel yang dipassword


GARA-gara berkas excel (iya, MS excel!) kurikulum 2013 yang diprotek password sehingga penggunanya tidak bisa mengedit, akhirnya tahu juga bagaimana mengakalinya. Walau belum semuanya bisa dibuka.

Semuanya berawal dari permintaan untuk mengedit berkas program kurtilas yang dibuat di MS Excel (sekali lagi, iya, pake excel!). Berkas yang katanya dibeli dengan harga lumayan ini digunakan untuk membantu para guru yang sedang kebingungan dengan kurtilas yang tak jelas.

Meski sudah dibeli, ternyata beberapa bagian di worksheet tidak bisa dibuka karena diprotek dengan password. Sialnya, si penjual tak menyertakan passwordnya apa. Mungkin dia tak mau program eh berkas buatannya dikopas sama sekolah lain.

Untunglah ada google. Setelah cukup lama mencari kata kunci yang cocok, akhirnya ada beberapa situs yang menjelaskan cara membuka password. Cara pertama adalah dengan membuat sebuah berkas macro di berkas yang akan dibuka passwordnya. Sebelumnya buka dulu jendela macronya (tekan alt-F11).

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

Setelah kode itu disalin, balik lagi ke worsheet yang dipassword. Lalu jalankan macro tersebut. Biasanya, password yang ketemu akan disalin di kolom A1.

Sialnya, cara itu tak bisa diterapkan untuk berkas kurtilas. Entah apa masalahnya, karena waktu saya coba di berkas baru, ternyata berhasil. Padahal passwordnya cukup susah ditebak dan pakai karakter aneh.

Untunglah google masih baik hati. Ternyata ada cara lain yang bisa digunakan, meski cara ini cukup berisiko dan hanya berlaku di versi 2007 ke bawah. Dan untunglah, si bapak pembuat berkas kurtilas ternyata pakai MS Office 2007. yeaaay.

Caranya begini:

  1. Backup dulu berkasnya, untuk jaga-jaga. Siapa tahu cara ini malah membuat berkasnya rusak 😀
  2. Ubah ekstensi berkas excel, yang awalnya namaberkas.xlsx jadi namaberkas.zip
  3. Ekstrak berkas itu, atau buka dengan aplikasi kompresi, misal winrar, dan cari berkas sheet[nomor].xml. Berkasnya ada di direktori /xl/worksheets/. Cari worksheet mana yang dipassword, misalnya sheet1.xml.
  4. Buka berkas xml tersebut pakai notepad (saya biasanya pakai notepad++). Lalu cari tag ini: < sheetProtection blablabla />. Kalau ketemu, hapus saja, lalu simpan. Tapi hati-hati, tag yang lain jangan dihapus! Ini contohnya:
    < sheetProtection algorithmName="SHA-512" hashValue="kH0SGVOaIRRzHYqjryjorLUBovYo0QW5ljnyx3sIakwyTz3dkHTDOgV3PX4NFw5hNuxbaB/pdoKyMXGgGDsovg==" saltValue="iRHxBTGSlDVfIG147Bqwhg==" spinCount="100000" sheet="1" objects="1" scenarios="1"/>
  5. kalau berkas xml yang di-zip itu sudah berubah, tutup aplikasi winrar (atau 7-zip dll). Lalu ubah kembali ekstensinya jadi .xlsx
  6. Coba buka lagi berkasnya. Kalau tidak ada masalah, password tadi sudah hilang! Selamat

Kalau belum berhasil juga? Ya tidak selamat. Bisa jadi berkasnya dibuat pakai versi 2010. Atau anda sedang sial 😀

Sumber:
Ini


Ada komentar?

This site uses Akismet to reduce spam. Learn how your comment data is processed.