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.