如何破解VBA项目?无法查看。

条码作为知识产权的重要内容,越来越受到重视。但是VBA工程的保护是相对脆弱的。

我这里有一份文件,它通过加密技术锁定了VBA项目。整个流程包含一个标准模块和三个流程,约75行代码,作为破解的测试文档。

VBA项目的保护密码是“手软”。

如果你对此感兴趣,欢迎破解!

注意:你应该能够完全破解项目,也就是还原VBA项目,而不是仅仅读取或者查看其中的进程名或者模块名。

代码仍然可以被转储

模块:- mdlVBA -

属性VB_Name = "mdlVBA "

选项显式''''显式变量声明

选项私有模块''''外部项目被禁用。

public Const gstrUSER _ MSG _ TITLE As String = " excel home。净”

私有函数字段(intWsIndex为整数,可选blnDisplayAlerts为布尔值= True)为布尔值

''函数:检查指定工作表的字段名是否与内置字段名匹配。

'''参数:intWsIndex:=工作表索引;Bldisplayallerts: =没有匹配时是否弹出警告对话框?

将Ws显示为Excel。工作表

Dim astrFieldNames()作为字符串

Dim vntHeader作为变体

将I标注为整数

Dim intColumnSize为整数

出错时转到错误处理程序

Select Case intWsIndex

案例1

Set Ws = Sheet1

IntColumnSize = 10 ' ' ' '字段数

ReDim astrFieldNames(1到intColumnSize)

astrFieldNames(1)= " office id "

astrFieldNames(2) = "OfficeName "

astrFieldNames(3) = "区域"

astrFieldNames(4) = "省"

astrFieldNames(5) = "城市"

astrFieldNames(6) = "地址"

astrFieldNames(7) = "StartData "

astrFieldNames(8) = "ExpiryData "

astrFieldNames(9) = "OfficeArea "

astrFieldNames(10) = "修订者"

结束选择

VNT标题= ws。单元格(1,1)。调整大小(1,intcolumnsize)。值''''标题行。

For I = 1到intColumnSize

如果不是StrComp(vntHeader(1,I),astrFieldNames(I),vbTextCompare) = 0,则退出

然后

如果我& gt那么intColumnSize

FieldsExists = True

其他

如果blnDisplayAlerts = True,则

MsgBox Ws。姓名和名称。Chr$(34)和ampvntHeader(1,I)和ampChr$(34)和amp和标准字段& ampChr$(34)和ampastrFieldNames(I)和ampChr$(34)和amp“不匹配。”,VB感叹号,gstrUSER_MSG_TITLE

如果…就会结束

如果…就会结束

出错时转到0

退出功能

错误处理程序:

如果ExcelHomeErrorHandler(" Private Function fields exists ")= True,则继续下一步

结束功能

公共函数FileExists(strFileName为字符串)为布尔值

“”功能:判断文件或文件夹是否存在。

''参数:strFileName:=要检查的文件或文件夹的完整路径。

file exists =(Len(Dir(strFileName,VB directory))& gt;0)

结束功能

布尔型公共函数ExcelHomeErrorHandler(str procname As String)

''功能:错误处理程序

''参数:strProcName:=出错进程的名称。

Dim strErrMessage作为字符串

StrErrMessage = "程序运行于" &;Chr$(34)和ampstrProcName & ampChr$(34)和amp"过程中出现错误。"& ampvbCrLf & amp;_

"错误时间:" &;现在& ampvbCrLf & amp;_

"错误代码:" &;呃。数量和数量。vbCrLf & amp;_

"错误原因:" &;呃。描述

呃。清除''''清除错误。

如果MsgBox(strErrMessage & amp;vbCrLf & amp;“要继续吗?”,VB感叹号+ vbYesNo,gstrUSER_MSG_TITLE) = vbYes Then

ExcelHomeErrorHandler = True

其他

应用程序

。StatusBar = False ' ' ' '清空状态栏。

。DisplayAlerts = True ' ' ' '恢复警告对话框。

。EnableEvents = True ' ' ' '恢复事件。

。ScreenUpdating = True ' ' ' '恢复屏幕更新。

以…结尾

ExcelHomeErrorHandler = False

如果…就会结束

结束功能