logo资料库

破解VBA密码.docx

第1页 / 共1页
资料共1页,全文预览结束
Private Sub VBAPassword() '你要解保護的 Excel 檔路徑 Filename =Application.GetOpenFilename("Excel 文件(*.xls & *.xla & *.xlt),*.xls;*.xla;*.xlt", , "VBA 破解") If Dir(Filename) = "" Then MsgBox "沒找到相關檔,清重新設置。" Exit Sub Else FileCopy Filename, Filename &".bak" '備份檔案。 End If Dim GetData As String * 5 Open Filename For Binary As #1 Dim CMGs As Long Dim DPBo As Long For i = 1 To LOF(1) Get #1, i, GetData If GetData = "CMG="""Then CMGs = i If GetData = "[Host" Then DPBo =i - 2: Exit For Next If CMGs = 0 Then MsgBox "請先對 VBA 編碼設置一個保護密碼...", 32,"提示" Exit Sub End If Dim St As String * 2 Dim s20 As String * 1 '取得一個 0D0A 十六進位字串 Get #1, CMGs - 2, St '取得一個 20 十六制字串 Get #1, DPBo + 16, s20 '替換加密部份機碼 For i = CMGs To DPBo Step 2 Put #1, i, St Next '加入不配對符號 If (DPBo - CMGs) Mod 2 <> 0 Then Put #1, DPBo + 1, s20 End If MsgBox "檔解密成功......", 32, "提示" Close #1 End Sub
分享到:
收藏