xlsx Dosyalarının Şifreleri Nasıl Kırılır?
Internette bu konu ile alakalı bir çok farklı makale ve video gördüm, lakin yaşadığım soruna hiç birisi deva olmadı.Sonunda kendi ürettiğim çözümü sizlerle paylaşmak istedim. Elimde şifreli bir Office 2016 Excel (.xlsx) dosyası vardı ve dosya şifreli olduğu için hücrelerde işlem yapamıyordum.
Gördüğünüz gibi excel dosyam şifreli
ve hiç bir şekilde hücreye müdahale etmeme izin vermiyor.Çözümü şu şekilde sağladım,
Excel dosyamı açtım,Farklı Kaydet’ten Dosyamı Excel 97-2003 Workbook.xls olarak yeniden farklı bir yere kaydediyorum
Tabi ki önüme bir uyarı penceresi düşüyor,Önemsemiyorum diyorum ve Continue diyerek devam ediyorum. (Bu işlemden sonra formüller ve macrolar devre dışı kalabilir veya dosya formatı hiç desteklenmeyebilir)
Kaydettiğim yeni dosyayı açıyorum ve Klavyeden Alt + F11 Tuşlarına basarak VB ekranını açıyorum. Bu ekran da Insert menüsünden Module sekmesini seçiyorum.
Altta verdiğim Kodları bu Modül sekmesine yapıştırıyorum ve F5 Tuşuna basıyorum.
Kısa bir süre sonra altta ki ekranla karşılaşırsanız işleminiz başarılı olmuş demektir.
Bundan sonra Save butonuna basıyorum ve pencereleri kapatıyorum.
Son aşama da,Çalışma kitabının şifrelerini kaldır diyerek kaldırıyoruz.
İşte sonuç, Artık excel dosyamıza yazıp çizebiliyoruz.Bu aşamadan sonra isterseniz farklı kaydetten dosyanızı yeniden Excel Workbook.xlsx formatına çevirebilirsiniz.
Not :
Eğer zaten Excel dosyanız .xls uzantılı ise (Office 2003-2007-2010) sadece kod kısmını kullanarak sorunu aşabilirsiniz,diğer işlemleri yapmanıza gerek yok. Bu işlemler .xlsx uzantılı (Office 2013-2016-2019) dosya kullananlar içindir.
Kullanacağınız Kod:
Sub Passwordbreaker()
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim il 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 il = 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(il) & 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(il) & 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