Excel Belgesinden parolayı kaldırma


11

Dahili destek sağlıyorum ve kullanıcılarımızdan biri yanlışlıkla bir excel dosyasına bir şifre koymayı başardı, kullanıcının belgeye erişebilmesi ve şimdi ne olduğunu bilmek istedim. Excel belgesinden şifre kaldırma önerisi.

Değeri ne olursa olsun, Excel açıldıktan sonra excel'de herhangi bir veri görmeden önce şifre görünür.


Um, biraz doldurulmuşsun. Karmaşık şifreleme işleri yapmak istemiyorsanız ... (.xls üzerinde bunu yapmak için herhangi bir programın farkında değilim). Excel'de bunu yapmanın normal, otomatik bir yolu yoktur - bu, ilk etapta bir parola sahibi olma noktasını yenebilir ... tek umudunuz bu tür dosyalar için özel bir şifre kırma programı olacaktır (ki bu zor olabilir) ) bulabilirsiniz. Belki Google decrypt xlsveya benzeri bir şey.
Samuel Jaeschke

excel .xlsx dosyası aslında sadece bir zip dosyasıdır. bu gibi talimatları açın ve uygulayın. geçmişte denedim eğer tüm dosya olsa şifre korumalı çalışır emin değilim. nileshkumar83.blogspot.com/2012/05/…
Joop

1
@SamuelJaeschke stackoverflow.com/a/27508116/5757159 adresindeki kanca yöntemi her seferinde çalışır. Çatlama gerektirmez.
ThunderFrame

Yanıtlar:


11

Elcomsoft , işi kullandığım her şeyden daha iyi yapabilen Advanced Office Password Recovery adlı oldukça kullanışlı bir program yapıyor.

Muhtemelen bunu denemeden önce kurtarmaya çalıştığınız verilere bir değer katmaya değer, bazen kullanıcının belgeyi sıfırdan yeniden oluşturmasına izin vermek daha ucuzdur (ve onlara değerli bir ders ;-) öğretir). AOPR ücretsiz değildir ve şifreler bazen sadece çok uzun zaman alabilen kaba kuvvetle (olası her harf kombinasyonunu denemekle) çözülebilir.


Elmcomsoft'un programları iyi, parola olmadan gönderildiğim bir Excel dosyasını açmak için geçmişte başarılı oldum. İyi bir kelime listesi alın ve ilk önce bunu deneyin (Cain ve Abel'da bulunanlar güzel bir 3MB'dir). Bu başarısız olursa, kaba kuvvet deneyin, ancak güçlü bir şifre ise asla
giremezsiniz

Bu sitede ticari yazılım tavsiye etmenin bir hayranı değilim, ancak bu durumda en iyi seçim. Önerilen. +1.
agtoever

1

Böyle bir şey var mı, Excel Password Remover XLA eklentisi, sonra ne var?

EDIT: Düşünmek, belki değil - bu korumalı çalışma sayfalarından / çalışma kitaplarından parolayı kaldırmak için kullanılır.


etik olarak bu aracı kullanarak çözebilir miyiz?
joe

1

Parolanın ne olduğunu biliyorsanız, devam edin ve Excel belgesini açın. Ardından Dosya> Farklı Kaydet'e tıklayın. Kaydet düğmesinin solunda, Araçlar etiketli küçük bir açılır menü bulunur. Buna tıklayın ve ardından Genel Seçenekler'e tıklayın. Oradaki şifre girişlerini silin ve Tamam'a tıklayın. Belgeyi kaydedin.

Parolanın ne olduğunu bilmiyorsanız bulmak için VBA'yı kullanabilirsiniz. Bir tahminde bulunmak zorunda kalsaydım, kullanıcınız muhtemelen süper güçlü bir şifre kullanmamıştı, bu yüzden bulmak için kaba kuvvet tipi yöntemini kullanabiliriz. Aşağıdaki kod kaba, ancak bazı kullanıcı belgelerimde zayıf, kayıp bir şifre bulmama yardımcı oldu. 1'den z'ye kadar ASCII karakterleri ile herhangi bir uzunlukta şifreleri kontrol eder. Hemen Pencereden çağırır ve birkaç dakika beklersiniz:

? GetPassword("D:\mywkbk.xlsx")

-

Public Function GetPassword(ByRef sFileName As String) As String
On Error Resume Next
    Dim pw As String
    pw = ""
    Do
        VBA.Err.Clear
        pw = GenerateNextPassword(pw)            
        Application.Workbooks.Open sFileName, False, True, , pw, pw
        VBA.DoEvents
    Loop While VBA.Err.Number = 5408
    GetPassword = pw
End Function

Public Function GenerateNextPassword(ByRef sCurrentPassword As String) As String
    Const MAX_CHAR = 122
    Const MIN_CHAR = 49

    Dim sCurrentPasswordMax As String
    Dim sNewPassword As String
    Dim i As Long

    sCurrentPasswordMax = String(Len(sCurrentPassword), Chr(MAX_CHAR))
    If sCurrentPassword = sCurrentPasswordMax Then
        'do an increment that changes the length
        sNewPassword = String(Len(sCurrentPassword) + 1, Chr(MIN_CHAR))
        Debug.Print Now(); ": "; sNewPassword
    ElseIf Asc(Right(sCurrentPassword, 1)) = MAX_CHAR Then
        'do an increment that changes multiple characters
        sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(MIN_CHAR)
        For i = Len(sCurrentPassword) - 1 To 1 Step -1
            sNewPassword = Left(sNewPassword, i - 1) & Chr(Asc(Mid(sNewPassword, i, 1)) + 1) & Mid(sNewPassword, i + 1)
            If Asc(Mid(sCurrentPassword, i, 1)) <> MAX_CHAR Then
                Exit For
            End If
        Next i
    Else
        'do an increment on the rightmost character
        sNewPassword = Left(sCurrentPassword, Len(sCurrentPassword) - 1) & Chr(Asc(Right(sCurrentPassword, 1)) + 1)
    End If

    GenerateNextPassword = sNewPassword
End Function

Parolanın kaybolduğu ve unutulduğu anlaşılmaktadır, bu nedenle ilk paragrafınız ilgisizdir. VBA rutininizi bilinmeyen bir şifreyi kaldırmak için bulursanız, lütfen bize bildirin, ancak bunun imkansız olduğundan şüpheleniyorum.
Scott

1
OP'yi tekrar okuduktan sonra, şifrenin kaybolduğunun açık olmadığını şiddetle iddia ediyorum, bu yüzden ilk paragrafı orada tutuyorum. Cevabı bilinmiyorsa, birkaç dakika veya daha uzun bir süre içinde şifreyi bulmak için kullanılabilecek bazı VBA koduyla yanıtı güncelledim.
Bobort

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.