用户登录
用户注册

分享至

word vba工程破解 word vba工程

  • 作者: 赞我JJ长5CM461
  • 来源: 51数据库
  • 2020-04-14

word vba工程破解

Excel 请问如何破解VBA工程不可查看

BA代码作为知识产权的重要内容,越来越受到高度重视。

但VBA工程的保护相对而言是比较脆弱的。

我这儿有一份文件,是通过加密技术将VBA工程锁定为不可查看,全“程”含一个标准模块和三个过程约75行代码,作为测试文档,求破解。

VBA工程保护密码为"shourou".如果您对此感兴趣,欢迎破解!注意:应能完整破解该工程,即还原该VBA工程,而非仅仅读取或者查看到其中的过程名称或者模块名称。

代码还是能dump出来的 Module: ----------------------------------- mdlVBA ----------------------------------- Attribute VB_Name = "mdlVBA" Option Explicit ''''显式变量声明 Option Private Module ''''外部工程禁用 Public Const gstrUSER_MSG_TITLE As String = "ExcelHome.Net" Private Function FieldsExists(intWsIndex As Integer, Optional blnDisplayAlerts As Boolean = True) As Boolean''''功能:检查指定工作表的字段名称与内置字段名称是否匹配''''参数:intWsIndex:=工作表索引;blnDisplayAlerts:=不匹配时是否弹出警告对话框 Dim Ws As Excel.Worksheet Dim astrFieldNames() As String Dim vntHeader As Variant Dim I As Integer Dim intColumnSize As Integer On Error GoTo ErrorHandler Select Case intWsIndex Case 1 Set Ws = Sheet1 intColumnSize = 10 ''''字段数量 ReDim astrFieldNames(1 To intColumnSize) astrFieldNames(1) = "OfficeID" astrFieldNames(2) = "OfficeName" astrFieldNames(3) = "Region" astrFieldNames(4) = "Province" astrFieldNames(5) = "City" astrFieldNames(6) = "Address" astrFieldNames(7) = "StartData" astrFieldNames(8) = "ExpiryData" astrFieldNames(9) = "OfficeArea" astrFieldNames(10) = "Reviser" End Select vntHeader = Ws.Cells(1, 1).Resize(1, intColumnSize).Value ''''标题行 For I = 1 To intColumnSize If Not StrComp(vntHeader(1, I), astrFieldNames(I), vbTextCompare) = 0 Then Exit For Next If I > intColumnSize Then FieldsExists = True Else If blnDisplayAlerts = True Then MsgBox Ws.Name & Chr$(34) & vntHeader(1, I) & Chr$(34) & "与标准字段名" & Chr$(34) & astrFieldNames(I) & Chr$(34) & "不匹配。

", vbExclamation, gstrUSER_MSG_TITLE End If End If On Error GoTo 0 Exit Function ErrorHandler:If ExcelHomeErrorHandler("Private Function FieldsExists") = True Then Resume Next End Function Public Function FileExists(strFileName As String) As Boolean''''功能:判断文件或者文件夹是否存在''''参数:strFileName:=待考查的文件或者文件夹的完整路径 FileExists = (Len(Dir(strFileName, vbDirectory)) > 0) End Function Public Function ExcelHomeErrorHandler(strProcName As String) As Boolean''''功能:错误处理程序''''参数:strProcName:=出错的过程名称 Dim strErrMessage As String strErrMessage = "程序运行在" & Chr$(34) & strProcName & Chr$(34) & "过程时发生错误。

" & vbCrLf & _"错误时间:" & Now & vbCrLf & _"错误代号:" & Err.Number & vbCrLf & _"错误原因:" & Err.Description Err.Clear ''''清除错误 If MsgBox(strErrMessage & vbCrLf & "是否继续?", vbExclamation + vbYesNo, gstrUSER_MSG_TITLE) = vbYes Then ExcelHomeErrorHandler = True Else With Application.StatusBar = False ''''清空状态栏.DisplayAlerts = True ''''恢复警告对话框.EnableEvents = True ''''恢复事件.ScreenUpdating = True ''''恢复屏幕更新 End With ExcelHomeErrorHandler = False End If End Function

如何破解vba工程密码

如果要查看别人的有密码保护的VBA代码,可使用此程序。

使用方法:新建Excel工作簿, 打开VBA编辑器,新建一模块 ,复制以下代码。

然后运行MoveProtect程序。

运行过程中会出现提示,以指示要破解的文件路径和名称。

被破解的文件一定是关闭状态的。

Sub MoveProtect()Dim FileName As StringFileName = Application.GetOpenFilename_("Excel文件(*.xls & *.xla),*.xls;*.xla", , "VBA破解")If FileName = CStr(False) ThenExit SubElseVBAPassword FileName, False ' 引用下面的自定义函数End IfEnd Sub Private Function VBAPassword(FileName As String, Optional Protect As Boolean = False)If Dir(FileName) = "" ThenExit FunctionElseFileCopy FileName, FileName & ".bak"End IfDim GetData As String * 5Open FileName For Binary As #1Dim CMGs As LongDim DPBo As LongFor i = 1 To LOF(1)Get #1, i, GetDataIf GetData = "CMG=""" Then CMGs = iIf GetData = "[Host" Then DPBo = i - 2: Exit ForNext If CMGs = 0 ThenMsgBox "请先对VBA编码设置一个保护密码...", 32, "提示"Exit FunctionEnd If If Protect = False ThenDim St As String * 2Dim s20 As String * 1 '取得一个0D0A十六进制字串Get #1, CMGs - 2, St '取得一个20十六制字串Get #1, DPBo + 16, s20 '替换加密部份机码For i = CMGs To DPBo Step 2Put #1, i, StNext '加入不配对符号If (DPBo - CMGs) Mod 2 0 ThenPut #1, DPBo + 1, s20End IfMsgBox "文件解密成功......", 32, "提示"ElseDim MMs As String * 5MMs = "DPB="""Put #1, CMGs, MMsMsgBox "对文件特殊加密成功......", 32, "提示"End IfClose #1End Function 所谓破解只是清除VBA密码,并不是真正的破解。

如何破解excel2013vba工程密码

问题: 我想打印在wod文档中所有包含了某个人姓名的页 我粗略编了一个宏: Su Maco1() ' ' Maco1 Maco ' 宏在 2004-10-14 由 ill 录制 Dim i As Intege Selection.Find.CleaFomatting With Selection.Find .Text = "婷 '要查找的姓名 .Replacement.Text = "" .Fowad = Tue .Wap = wdFindContinue .Fomat = False .MatchCase = False .MatchWholeWod = False .MatchByte = Tue .MatchWildcads = False .MatchSoundsLike = False .MatchAllWodFoms = False End With Do While Selection.Find.Execute ActiveDocument.PintOut Range:=wdPintCuentPage '若找到姓名,则打印当前页 Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:=1, Name:="" '下翻一页 Loop End Su

如何破解excel2010中用vba做的工程密码

Word 20071、Word选项→加载项→管理【com加载项】,转到→把“稿纸向导、书法加载项、office special symbol input add-in”三项取消→确定即可。

2、工具→宏->安全性→可靠发行商,将下方的选择框中的钩清空,再将宏安全性改为最高。

3、可能是初次安装Office时共享里的VBA没安装,可以重新再安装一下VBA和信任证书。

4、Word选项→加载项→转到→把里面的5项内容都删除,然后确定→Word选项→信任中心→信任中心设置→选择 “启用所有宏”和“信任对 VBA 工程对象模型的访问”→确定,最后重新启动Word2007即可。

Word 2003打开word,不打开任何文档,进入菜单:工具→选项→安全性→宏安全性→安全级(或:工具→宏→安全性),选择“非常高”;可靠发行商里的“颁发对象”都删除,复选框也都不选,确定。

如果设定后不能关闭word,从进程中关闭再开启就没有了。

...

转载请注明出处51数据库 » word vba工程破解

软件
前端设计
程序设计
Java相关