VBAProject密码清除 for EXCEL2003

下载了多个工具都是浮云 ,只有这个好用

文章转载于网络

在空白excel文档vba里面插入模块,运行此模块

Option Explicit

Const LANG_ENGLISH As Integer = 9

Type CommandLineInfo

Name As String

Value As String

StartPos As Long

End Type

Sub main()

Dim fName As String

fName = Application.GetOpenFilename("Excel文件(xls ; xla),*.xls;*.xla", , "选择要破解的EXCEL2003包含VBA密码的文件")

If fName = "False" Then Exit Sub

Dim fNewName As String

fNewName = MoveProtect(fName)

If Len(fNewName) Then

If MsgBox("转换完成,另存为:" & vbLf & fNewName & vbLf & "要打开吗?", vbQuestion + vbYesNo, "完成") = vbYes Then Workbooks.Open fNewName

Else

MsgBox "未发现VBAProject有密码特征字符串", vbInformation, "提示"

End If

End Sub

Private Function MoveProtect(fName As String) As String

Dim myExcelFileData As String

Dim myCommandLinesInfo() As CommandLineInfo

myExcelFileData = GetFileData(fName)

If SearchSpecificCommandInfo(myExcelFileData, myCommandLinesInfo) Then

MoveProtect = Write2File(Left(fName, Len(fName) - 4) & "_覆盖VBA密码.xls", CoverData(myExcelFileData, myCommandLinesInfo))

End If

End Function

Private Function GetFileData(fName As String) As String

Dim DAT() As Byte

ReDim DAT(1 To FileLen(fName))

Open fName For Binary As #1

Get #1, , DAT

Close

GetFileData = StrConv(DAT, vbUnicode, LANG_ENGLISH)

End Function

Private Function SearchSpecificCommandInfo(Content As String, myCommandLinesInfo() As CommandLineInfo) As Boolean

Dim i As Long

Dim objRegEx As Object, m As Object

Dim m0 As String, m0StartPos As Long

Set objRegEx = CreateObject("VBScript.RegExp")

objRegEx.IgnoreCase = True

objRegEx.Pattern = CreateSearchCommandPattern()

Set m = objRegEx.Execute(Content)

If m.Count Then

m0 = m(0).Value

m0StartPos = m(0).firstindex + 1

ReDim myCommandLinesInfo(1 To 4)

For i = 1 To 4

With myCommandLinesInfo(i)

.Value = m(0).submatches(i - 1)

.StartPos = m0StartPos + InStr(1, m0, .Value) - 1

End With

Next

End If

Set m = Nothing

Set objRegEx = Nothing

SearchSpecificCommandInfo = m0StartPos > 0

End Function

Private Function CreateSearchCommandPattern() As String

Dim p(1 To 4) As String

Dim myPattern As String

Dim i As Integer

p(1) = "ID=""{00000000-0000-0000-0000-000000000000}"""

p(2) = "CMG"

p(3) = "DPB"

p(4) = "GC"

For i = 1 To 4

myPattern = myPattern & "(" & p(i) & IIf(i > 1, "=""[a-z0-9]+""", "") & ")" & vbCrLf & "[\s\S]*?"

Next

CreateSearchCommandPattern = myPattern & "[Host Extender Info]"

End Function

Private Function CoverData(Content As String, myCommandLinesInfo() As CommandLineInfo) As Byte()

Dim i As Long

Dim s As String

s = Content

For i = LBound(myCommandLinesInfo) To UBound(myCommandLinesInfo)

With myCommandLinesInfo(i)

Mid(s, .StartPos, Len(.Value)) = CreateFillContent(Len(.Value))

End With

Next

CoverData = StrConv(s, vbFromUnicode, LANG_ENGLISH)

End Function

Private Function CreateFillContent(ContentLen As Long) As String

CreateFillContent = Replace(Space(ContentLen \ 2), " ", vbCrLf) & IIf(ContentLen Mod 2, Chr(32), "")

End Function

Private Function Write2File(fName As String, DAT() As Byte) As String

If Dir(fName) <> "" Then Kill fName

Open fName For Binary As #1

Put #1, , DAT

Close

Write2File = fName

End Function

VBAProject密码清除 for EXCEL2003相关推荐

  1. win电脑主板设置的Bios密码清除方法

    bios保存着计算机最重要的基本输入输出的程序.开机后自检程序和系统自启动程序,它可从CMOS中读写系统设置的具体信息由于我们一般很少需求进入BIOS设置,因此久而久之,很多朋友容易忘记Bios密码, ...

  2. pe系统清除服务器密码吗,雨林木风pe系统登录密码清除工具使用教程?

    雨林木风pe系统登录密码清除工具使用教程? 部分用户会在自己的电脑上设置开机登录密码,但是有时会突然忘记登录密码是多少了,那么这时候该怎么来解决?今天雨林木风小编就使用"登录密码清除&quo ...

  3. Word密码清除在哪里设置?

    要清除Microsoft Word密码,可以使用Microsoft Word自带的"安全"功能来处理. Word历史记录清除: 打开Word程序,点击"文件", ...

  4. win7 系统密码清除

    随着Win7的系统的普及,最近经常也有客户提着笔记本,让我们技术帮他们清除赢得7系统密码. 以前的清除工具对这款微软号称史上最安全的系统全部失效,为了方便于客户,也便于自己对系统安全的了解,花了几个晚 ...

  5. 台式计算机更改bios密码,清除DELL Optiplex等系列台式机BIOS密码

    DELL原装台式机清除BIOS密码不是很简单,光下COMS电池是不行的,本文用于提供DELL Optiplex 系列机器 BIOS 密码清除的相关信息 具体清除BIOS密码过程如下: Dell 电脑上 ...

  6. tinkpad BIOS 超级密码 清除

    关于tinkpad BIOS 超级密码 清除 首先感谢james-lx[发布文章] (https://blog.csdn.net/ot512csdn/article/details/72571674) ...

  7. EXCEL VBAProject密码破解 工作表密码破解

    1.修改.xlsm后缀为.zip 2.使用压缩软件打开,进入xl目录找到vbaProject.bin文件,解压出来 3.使用Hex软件打开vbaProject.bin文件,查找DPB替换成DPx,保存 ...

  8. Gateway NV47H18C BIOS 密码清除

    网易博客停运了 给之前的文章搬个家 两年前手贱设了BIOS密码,结果忘记了,网上广为流传的扣电池,刷BIOS都不管用,这都只适用老主板,密码和BIOS是独立存放的,所以刷BIOS无效.重要的是这个本本 ...

  9. 思科交换机密码清除方法记录

    注:这篇博客没有什么新内容,类似的网上有很多,只是对自己的实验记录. 我们使用cisco交换机的时候,或多或少的会遇到要清除交换机配置的情况,一般如果我们可以进入特权模式(#),可以直接删除配置,如果 ...

  10. 畅捷通T+密码清除后,空密码无法登录账套解决办法

    由于T+高版本设置了默认密码规则导致清除密码工具清除空密码无法显示登录账套 系统库和账套库中eap_user,找到账套主管,把password字段修改为(密码是abc.1234) +QtbwGjupS ...

最新文章

  1. RequestResponse总结
  2. js使用ajax发送post json,javascript-如何用ajaxpost复杂json数据
  3. DELPHI下的SOCK编程(转)
  4. (转载)JDOM/XPATH编程指南
  5. 电脑微信扫一扫在哪_13个微信隐藏技巧,至少有10个你不知道
  6. 如何在 Linux 中挂载 ISO 文件
  7. 关于深度探索C++对象模型笔记
  8. 【图像去噪】基于matlab鲁棒PCA图像去噪【含Matlab源码 463期】
  9. 2022JAVA面试题附答案(长期更新)
  10. wps怎么导入access_WPS Access 2013_access 2013下载-下载之家
  11. JavaScript通过百度OCR实现图像文字识别及常见错误解释
  12. jedis pool的问题
  13. 大牛C++编程开发学习建议50条http://blog.csdn.net/gggg_ggg/article/details/44015409
  14. 深聊性能测试,从入门到放弃之:如何对IO进行性能调优
  15. 架构的原则、范式及治理
  16. scratch学习-基础-认识scratch
  17. 怎么批量下载哗哩哗哩B站主页视频
  18. 什么是数字化和数字化转型?
  19. Python中的GPS轨迹聚类
  20. 斑马无线打印服务器,斑马打印机网络中文打印实例(亲测可用)

热门文章

  1. latex 表格居中
  2. linux终端vim配色方案,Vim自定义配色方案图文并茂
  3. 关于图片或者文件在数据库的存储方式归纳
  4. FOI2022 夏令营基础班 day1题解
  5. java后端社招面试经历
  6. 微信 openid 变吗?
  7. 卡诺图化简 之 和之积形式 与 积之和形式
  8. 敏感词高效检测从浅到深
  9. 【论文解读 KDD 2018 | PME】PME: Projected Metric Embedding on Heterogeneous Networks for Link Prediction
  10. 合抱之木,生于毫末; 九层之台,起于垒土。