zoukankan      html  css  js  c++  java
  • Excel 工作表,单元格破解密码宏

      1'1、 打开要破解的EXCEL文件|
      2
      3'2、 工具---宏----录制新宏---输入名字如:aa -----关闭
      4
      5'3、 工具---宏----停止录制(这样得到一个空宏)
      6
      7'4、 工具---宏----宏,选aa,点 编辑 按钮
      8
      9'5、 删除窗口中的所有字符(只有几个),替换为下面解压后文件中内容
     10
     11'Excel密码破解.rar
     12
     13'6、关闭编辑窗口
     14
     15'7、工具---宏-----宏,选AllInternalPasswords,运行,确定两次,等2分钟,再确定.OK,没有密码了!
     16
     17
     18
     19
     20
     21
     22Option Explicit 
     23
     24Public Sub AllInternalPasswords() 
     25' Breaks worksheet and workbook structure passwords. Bob McCormick 
     26' probably originator of base code algorithm modified for coverage 
     27' of workbook structure / windows passwords and for multiple passwords 
     28' 
     29' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1) 
     30' Modified 2003-Apr-04 by JEM: All msgs to constants, and 
     31' eliminate one Exit Sub (Version 1.1.1) 
     32' Reveals hashed passwords NOT original passwords 
     33Const DBLSPACE As String = vbNewLine & vbNewLine 
     34Const AUTHORS As String = DBLSPACE & vbNewLine & _ 
     35"Adapted from Bob McCormick base code by" & _ 
     36"Norman Harker and JE McGimpsey" 
     37Const HEADER As String = "AllInternalPasswords User Message" 
     38Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04" 
     39Const REPBACK As String = DBLSPACE & "Please report failure " & _ 
     40"to the microsoft.public.excel.programming newsgroup." 
     41Const ALLCLEAR As String = DBLSPACE & "The workbook should " & _ 
     42"now be free of all password protection, so make sure you:" & _ 
     43DBLSPACE & "SAVE IT NOW!" & DBLSPACE & "and also" & _ 
     44DBLSPACE & "BACKUP!, BACKUP!!, BACKUP!!!" & _ 
     45DBLSPACE & "Also, remember that the password was " & _ 
     46"put there for a reason. Don't stuff up crucial formulas " & _ 
     47"or data." & DBLSPACE & "Access and use of some data " & _ 
     48"may be an offense. If in doubt, don't." 
     49Const MSGNOPWORDS1 As String = "There were no passwords on " & _ 
     50"sheets, or workbook structure or windows." & AUTHORS & VERSION 
     51Const MSGNOPWORDS2 As String = "There was no protection to " & _ 
     52"workbook structure or windows." & DBLSPACE & _ 
     53"Proceeding to unprotect sheets." & AUTHORS & VERSION 
     54Const MSGTAKETIME As String = "After pressing OK button this " & _ 
     55"will take some time." & DBLSPACE & "Amount of time " & _ 
     56"depends on how many different passwords, the " & _ 
     57"passwords, and your computer's specification." & DBLSPACE & _ 
     58"Just be patient! Make me a coffee!" & AUTHORS & VERSION 
     59Const MSGPWORDFOUND1 As String = "You had a Worksheet " & _ 
     60"Structure or Windows Password set." & DBLSPACE & _ 
     61"The password found was: " & DBLSPACE & "$$" & DBLSPACE & _ 
     62"Note it down for potential future use in other workbooks by " & _ 
     63"the same person who set this password." & DBLSPACE & _ 
     64"Now to check and clear other passwords." & AUTHORS & VERSION 
     65Const MSGPWORDFOUND2 As String = "You had a Worksheet " & _ 
     66"password set." & DBLSPACE & "The password found was: " & _ 
     67DBLSPACE & "$$" & DBLSPACE & "Note it down for potential " & _ 
     68"future use in other workbooks by same person who " & _ 
     69"set this password." & DBLSPACE & "Now to check and clear " & _ 
     70"other passwords." & AUTHORS & VERSION 
     71Const MSGONLYONE As String = "Only structure / windows " & _ 
     72"protected with the password that was just found." & _ 
     73ALLCLEAR & AUTHORS & VERSION & REPBACK 
     74Dim w1 As Worksheet, w2 As Worksheet 
     75Dim i As Integer, j As Integer, k As Integer, l As Integer 
     76Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer 
     77Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer 
     78Dim PWord1 As String 
     79Dim ShTag As Boolean, WinTag As Boolean 
     80
     81Application.ScreenUpdating = False 
     82With ActiveWorkbook 
     83WinTag = .ProtectStructure Or .ProtectWindows 
     84End With 
     85ShTag = False 
     86For Each w1 In Worksheets 
     87ShTag = ShTag Or w1.ProtectContents 
     88Next w1 
     89If Not ShTag And Not WinTag Then 
     90MsgBox MSGNOPWORDS1, vbInformation, HEADER 
     91Exit Sub 
     92End If 
     93MsgBox MSGTAKETIME, vbInformation, HEADER 
     94If Not WinTag Then 
     95MsgBox MSGNOPWORDS2, vbInformation, HEADER 
     96Else 
     97On Error Resume Next 
     98Do 'dummy do loop 
     99For i = 65 To 66For j = 65 To 66For k = 65 To 66 
    100For l = 65 To 66For m = 65 To 66For i1 = 65 To 66 
    101For i2 = 65 To 66For i3 = 65 To 66For i4 = 65 To 66 
    102For i5 = 65 To 66For i6 = 65 To 66For n = 32 To 126 
    103With ActiveWorkbook 
    104.Unprotect Chr(i) & Chr(j) & Chr(k) & _ 
    105Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _ 
    106Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
    107If .ProtectStructure = False And _ 
    108.ProtectWindows = False Then 
    109PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ 
    110Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ 
    111Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
    112MsgBox Application.Substitute(MSGPWORDFOUND1, _ 
    113"$$", PWord1), vbInformation, HEADER 
    114Exit Do 'Bypass all fornexts 
    115End If 
    116End With 
    117NextNextNextNextNextNext 
    118NextNextNextNextNextNext 
    119Loop Until True 
    120On Error GoTo 0 
    121End If 
    122If WinTag And Not ShTag Then 
    123MsgBox MSGONLYONE, vbInformation, HEADER 
    124Exit Sub 
    125End If 
    126On Error Resume Next 
    127For Each w1 In Worksheets 
    128'Attempt clearance with PWord1 
    129w1.Unprotect PWord1 
    130Next w1 
    131On Error GoTo 0 
    132ShTag = False 
    133For Each w1 In Worksheets 
    134'Checks for all clear ShTag triggered to 1 if not. 
    135ShTag = ShTag Or w1.ProtectContents 
    136Next w1 
    137If ShTag Then 
    138For Each w1 In Worksheets 
    139With w1 
    140If .ProtectContents Then 
    141On Error Resume Next 
    142Do 'Dummy do loop 
    143For i = 65 To 66For j = 65 To 66For k = 65 To 66 
    144For l = 65 To 66For m = 65 To 66For i1 = 65 To 66 
    145For i2 = 65 To 66For i3 = 65 To 66For i4 = 65 To 66 
    146For i5 = 65 To 66For i6 = 65 To 66For n = 32 To 126 
    147.Unprotect Chr(i) & Chr(j) & Chr(k) & _ 
    148Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ 
    149Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
    150If Not .ProtectContents Then 
    151PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _ 
    152Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ 
    153Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) 
    154MsgBox Application.Substitute(MSGPWORDFOUND2, _ 
    155"$$", PWord1), vbInformation, HEADER 
    156'leverage finding Pword by trying on other sheets 
    157For Each w2 In Worksheets 
    158w2.Unprotect PWord1 
    159Next w2 
    160Exit Do 'Bypass all fornexts 
    161End If 
    162NextNextNextNextNextNext 
    163NextNextNextNextNextNext 
    164Loop Until True 
    165On Error GoTo 0 
    166End If 
    167End With 
    168Next w1 
    169End If 
    170MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER 
    171End Sub
  • 相关阅读:
    页面反向映射之文件页面
    页面反向映射之匿名页面
    cp so文件导致进程SIGBUS或者SEGV原因分析
    由systemtap直接修改内核代码段想到的
    epoll的内核实现
    从一些现象看printf的缓冲机制
    Linux由浅入深学习 (转)
    每天一个Linux命令 (转)
    Redis与数据库同步问题
    PHP使用文件流下载文件方法(附:解决下载文件内容乱码问题)
  • 原文地址:https://www.cnblogs.com/geovindu/p/1602917.html
Copyright © 2011-2022 走看看