Excel 문서에서 비밀번호 제거


11

내부 지원을 제공하고 있으며 사용자 중 한 명이 실수로 Excel 파일에 암호를 입력했을 때 사용자가 문서에 액세스 할 수 있는지 확인하기 위해 적절한 검사를 수행했으며 이제는 Excel 문서에서 암호를 제거하기위한 권장 사항.

그 가치에 대해 암호는 Excel이 열리면 Excel에서 데이터를 볼 수 있기 전에 나타납니다.


음, 당신은 다소 박제입니다. 복잡한 암호화 작업을 수행하지 않으려면 ... (. xls 에서이 작업을 수행하는 프로그램을 알지 못합니다). Excel 에서이 작업을 수행하는 일반적인 자동 방법은 없습니다. 처음에는 암호를 가진 점을 막을 수 있습니다 ... 유일한 희망은 그러한 파일에 대한 특별한 암호 해독 프로그램이 될 것입니다 (어려울 수는 없습니다) 찾기). 아마도 구글 decrypt xls이나 비슷한 것입니다.
Samuel Jaeschke가

Excel .xlsx 파일은 실제로 zip 파일 일뿐입니다. 압축을 풀고 다음과 같은 지침을 따르십시오. 전체 파일이 암호로 보호되어 있다면 작동하는지 확실하지 않습니다. nileshkumar83.blogspot.com/2012/05/…
Joop

1
@SamuelJaeschke stackoverflow.com/a/27508116/5757159 의 후크 방법 은 매번 작동합니다. 균열이 필요하지 않습니다.
ThunderFrame

답변:


11

Elcomsoft는 Advanced Office Password Recovery 라는 매우 유용한 프로그램을 만들었습니다.이 프로그램은 내가 사용한 것보다 더 잘 할 수 있습니다.

시도하기 전에 복구하려는 데이터에 가치를 두는 것이 좋습니다. 때로는 사용자가 문서를 처음부터 다시 만들도록하는 것이 더 저렴합니다 (그리고 가치있는 교훈을 가르치는 ;-)). AOPR은 무료가 아니며 암호는 때로는 시간이 오래 걸릴 수있는 무차별 대입 (가능한 모든 문자 조합 시도)으로 만 해결 될 수 있습니다.


Elmcomsoft의 프로그램은 훌륭합니다. 과거에 비밀번호없이 보낸 Excel 파일을 여는 데 성공했습니다. 괜찮은 단어 목록을 얻고 먼저 시도하십시오 (Cain과 Abel에 포함 된 것은 멋진 3MB입니다). 그것이 실패하면, 무차별 대입 시도를 해보십시오. 그러나 암호가 강력하다면 절대 들어 가지 않습니다.
Dentrasi

이 사이트에서 상업용 소프트웨어를 추천하는 팬은 아니지만이 경우에는 최고의 선택입니다. 추천합니다. +1.
agtoever

1

이 같은의가 엑셀 비밀 번호 리무버 XLA 추가 기능에, 당신이 후 무엇입니까?

편집 : 생각할 수도 있고 아닐 수도 있습니다-보호 된 워크 시트 / 통합 문서에서 암호를 제거하는 데 사용됩니다.


이 도구를 사용하여 윤리적으로 해결할 수 있는지 여부
joe

1

암호가 무엇인지 알고 있다면 계속해서 Excel 문서를여십시오. 그런 다음 파일> 다른 이름으로 저장을 클릭하십시오. 저장 버튼의 왼쪽에는 도구라고 표시된 작은 드롭 다운 메뉴가 있습니다. 해당 항목을 클릭 한 다음 일반 옵션을 클릭하십시오. 암호 항목을 삭제하고 확인을 클릭하십시오. 문서를 저장하십시오.

암호가 무엇인지 모르면 VBA를 사용하여 찾을 수 있습니다. 추측해야 할 경우 사용자가 매우 강력한 암호를 사용하지 않았기 때문에 무차별 강제 유형 방법을 사용하여 찾을 수 있습니다. 아래 코드는 거칠지 만 일부 사용자 문서에서 약하고 분실 된 암호를 찾는 데 도움이되었습니다. 1에서 z까지의 ASCII 문자로 모든 길이의 비밀번호를 확인합니다. 직접 실행 창에서 호출하고 몇 분 정도 기다리십시오.

? 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

암호를 잊어 버렸음을 암시하므로 첫 번째 단락은 관련이 없습니다. 알 수없는 암호를 제거하는 VBA 루틴을 찾으면 알려주십시오.하지만 불가능하다고 생각합니다.
Scott

1
OP를 다시 읽은 후에는 암호를 잃어버린 것이 확실하지 않다고 강력하게 주장하므로 첫 번째 단락을 유지합니다. 암호를 알 수없는 경우 몇 분 이상 암호를 찾는 데 사용할 수있는 VBA 코드로 답변을 업데이트했습니다.
Bobort

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.