破解OfficeVBA密码的方法
2024-08-31 04:30:28
我自己找到一个office的VBA加密方法,然后再去找一个方法来破解密码,好像有点自相矛盾啊。
如果excel文件是xls或xlm格式(如果不是请转化成此种方法),则可使用以下代码:
- '移除VBA编码保护
- Sub MoveProtect()
- Dim FileName As String
- FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlsx & *.xlsm),*.xls;*.xla ;*.xlsx ; *.xlsm", , "VBA破解")
- If FileName = CStr(False) Then
- Exit Sub
- Else
- VBAPassword FileName, False
- End If
- End Sub
- '设置VBA编码保护
- Sub SetProtect()
- Dim FileName As String
- FileName = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlsx & *.xlsm),*.xls;*.xla ;*.xlsx ; *.xlsm", , "VBA破解")
- If FileName = CStr(False) Then
- Exit Sub
- Else
- VBAPassword FileName, True
- End If
- End Sub
- Private Function VBAPassword(FileName As String, Optional Protect As Boolean = False)
- If Dir(FileName) = "" Then
- Exit Function
- 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 Function
- End If
- If Protect = False Then
- 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, "提示"
- Else
- Dim MMs As String * 5
- MMs = "DPB="""
- Put #1, CMGs, MMs
- MsgBox "对文件特殊加密成功......", 32, "提示"
- End If
- Close #1
- End Function
最新文章
- html/css小练习2
- XML CDATA的作用
- 机器学习 —— 概率图模型(学习:CRF与MRF)
- WebApp之 apple-touch-icon
- iOS containsString与rangeOfString
- werkzeug源码阅读笔记(二) 上
- SqlHelp
- 开篇有益-解析微软微服务架构eShopOnContainers(一)
- JavaScript的DOM编程--07--节点的属性
- 如何理解opencv, python-opencv 和 libopencv?
- 使用python函数持续监控电脑cpu使用率、内存、c盘使用率等
- Itellj Idea使用技巧
- 转载:QT QTableView用法小结
- DP---(POJ1159 POJ1458 POJ1141)
- tensorflow 教程 文本分类 IMDB电影评论
- ffmpeg测试程序
- 百度Ueditor编辑器取消多图上传对话框中的图片搜索
- leetcode 188-maxProfit
- 在windows下远程访问linux服务器
- Delphi使用android的NDK是通过JNI接口,封装好了,不用自己写本地代码,直接调用
热门文章
- hdu 4452 Running Rabbits 模拟
- MYSQL-5.5.37-win32.msi 这个版本得程序包谁有吗 可以给我一下吗?
- SPOJ 3267. D-query (主席树,查询区间有多少个不相同的数)
- socket缓冲区以及阻塞模式
- mt7620 wireless驱动特性意外发现
- HDU 2604 Queuing 矩阵高速幂
- “System.InvalidOperationException”类型的未经处理的异常在 ESRI.ArcGIS.AxControls.dll 中发生
- envi几何校正
- 使用静态库的一些问题 -all_load
- ExtJS BorderLayout