EXCEL VBA 工程破解
ex-vba迄今为止最简单的excel工作表密码解除方法
ex-vba迄今为止最简单的excel工作表密码解除方法
『动画解读』
对于设置了工作表密码的工作簿,打开后,具体操作步骤如下:
Step-01:通过菜单【开发工具】-【Visual Basic】进入VBA 编辑界面
Step-02:在VBA编辑窗口的【立即窗口】中逐步执行以下代码(输完一句回车后再输入另一句并回车其中sheet1为需要破解密码的工作表的名称)sheet1.Protect AllowFiltering:=truesheet1.unProtect
逐步执行这两行代码后,工作表的密码将被解除!!!
如果打开VBA编辑窗口时没有立即窗口,可以通过菜单【视图】-【立即窗口】调出来,如下图所示:
『扩展应用』如果需要批量解除的,可以自行加入循环控制语句,写成一个过程。
代码参考如下(将代码复制放在ThisWorkbook下,然后运行):Sub clsWkShtPwd() Dim sht As Worksheet For Each sht In Worksheets
sht.Protect AllowFiltering:=True sht.unprotect NextEnd Sub
在此再次感谢大神们的分享!同时,一门技术是好是坏,全凭个人掌握,用于益处是为好……。
VBA 中的工作表保护和解锁方法
VBA 中的工作表保护和解锁方法VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,它被广泛应用于微软的Office系列软件中,尤其是在Excel 中。
在Excel中,通过使用VBA,我们可以实现许多自动化任务,从简单的数据处理到复杂的报表生成。
然而,在使用VBA编写宏时,我们可能会遇到需要对工作表进行保护和解锁的需求。
工作表保护可以防止用户不小心或故意地更改或删除数据,而解锁工作表可以使得特定的操作可以进行。
本文将介绍在VBA中如何实现工作表的保护和解锁,以满足不同的需求。
1. 工作表保护工作表保护是指对Excel工作表中的单元格、图表和对象进行保护,以防止用户对其进行修改。
在VBA中,我们可以通过以下代码来保护工作表:```Worksheets("Sheet1").Protect Password:="password"```上述代码将保护名为"Sheet1"的工作表,并设置一个密码进行保护。
如果你不想设置密码,可以删除"Password:="部分。
值得注意的是,如果不设置密码,任何人都可以取消工作表保护。
另外,还可以通过以下代码更改工作表的保护选项:```Worksheets("Sheet1").Protect DrawingObjects:=True,Contents:=True, Scenarios:=True```上述代码将保护工作表并允许用户对图表、对象和内容进行修改和编辑。
你可以根据自己的需求更改这些选项。
2. 工作表解锁有时,我们需要在保护的工作表上执行特定的操作,如插入行、删除单元格等。
在这种情况下,我们需要先解锁工作表,再执行相关的操作。
以下是解锁工作表的代码:```Worksheets("Sheet1").Unprotect Password:="password"```上述代码将解锁名为"Sheet1"的工作表,使用的密码与之前设置的密码相同。
如何利用VBA实现Excel数据加密与解密
如何利用VBA实现Excel数据加密与解密在Excel中,数据加密与解密是非常重要的功能,可以保护敏感数据的安全性。
VBA(Visual Basic for Applications)是一种编程语言,可以在Excel中编写宏来实现各种功能。
利用VBA编写代码可以实现Excel数据的加密与解密操作,本文将介绍如何利用VBA实现Excel数据的加密与解密。
首先,我们需要创建一个新的Excel工作簿,并通过VBA 编辑器添加一个新的模块。
在模块中编写以下代码:```VBAPrivate Sub EncryptData(ByVal rng As Range, ByVal password As String)rng.Formula = "=ENCRYPT.DECRYPT(" & rng.Address & "," & """" & password & """" & ",TRUE)"End SubPrivate Sub DecryptData(ByVal rng As Range, ByVal password As String)rng.Formula = "=ENCRYPT.DECRYPT(" & rng.Address & "," & """" & password & """" & ",FALSE)"End Sub```上述代码中,`EncryptData`是加密数据的函数,接受两个参数:`rng`是要加密的数据范围,`password`是加密密码。
Excel“工程不可查看”及VBA工程密码破解。
一、Excel“工程不可查瞧”两种实现方法及破解关于Excel宏编程中,要用到一些技巧,如破解Excel宏加密。
今天我对一个Excel宏编程中进行日期限制进行了破解。
方法一(共用级锁定)1、先对excel档进行一般的vbaproject”工程密码保护。
2、打开要保护的档,选择∶工具--->保护--->保护并共用活页簿--->以追踪修订方式共用-->输入密码-->保存档。
完成後,当您打开“vbaproject”工程属性时,就将会提示∶“工程不可瞧!”方法二(推荐,破坏型锁定)用16进制编辑工具,如winhex、ultraedit-32(可到此下载)等,再历害点的人完全可以用debug命令来做、、、、、、用以上软体打开excel档,查找定位以下地方∶id="{00000000-0000-0000-00000}" 注∶实际显示不会全部为0 此时,您只要将其中的位元组随便修改一下即可。
保存再打开,就会发现大功告成!当然,在修改前最好做好您的文档备份。
至於恢复只要将改动过的地方还原即可(只要您记住了呵呵)。
破解方面,有网友说将CMG=,DPB=与GC=后的"="替换为"、"也可以的,我已测试过的确可以,这样更省事点。
用16进制编辑工具,如winhex、ultraedit-32打开X、xls文件,查找ID=、、、、、、, 或到文件尾查瞧,找到即可。
改其中的任意一位,存盘就可达到目的,注意:留有备份文件二、EXCEL宏保护密码破解-VBA工程密码破解在办公中我们常瞧到许多用宏(VBA)编写的EXCEL表格,而这些表格就如同一个数据库,我们可以选取或查询很多的数据,一般的这些数据就是存放在一个隐藏的工作表中的,那么要如何显示这个隐藏的工作表呢?我们可以打开宏编辑器(ALT+F11),再安CTRL+R打开专案,这时弹出窗会有所有的这个EXCEL的工用表,这时您就可以瞧瞧那些就是被隐藏的了,很多时候打开就是需要密码的,用以下方法解密后,再将解密后文件打开,依同样方法在工作表标签中右键>>检视程式码>>复制以下代码>>按F8执行Private Sub CommandButton1_Click()Worksheets("这里为您要显示的工作表名称")、Visible = TrueEnd Sub关于破解EXCEL VBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>检视程式码>>复制以下代码>>按F8执行在弹出窗中选您要您破解工程密码的EXCEL文件>>再按F5执行即可、Private Sub VBAPassword()'您要解保护的Excel文件路径= Application、GetOpen("Excel文件(*、xls & *、xla & *、xlt),*、xls;*、xla;*、xlt", , "VBA破解")If Dir() = "" ThenMsgBox "没找到相关文件,清重新设置。
如何解除excel的工作表中的保护
如何在不知道密码的情况下解除excel的工作表中的保护
2、使用VBA代码法
上述的方法如果多个工作表都有保护密码,要在多个表格里面搜索protect,处理起来还是比较麻烦,建议大家使用下面的VBA代码法,只需要一个复制粘贴即可搞定,多个工作表都可以同时去除
在开发工具,点击VBA,然后右键,插入一个模块
在模块里面输入代码,直接运行,就直接破解了
代码如下:
Sub 破解工作表密码() Dim a As Worksheet For Each a In Worksheets a.Protect AllowFiltering:=True a.Unprotect Next End Sub
1、Excel中添加开发工具
2、在开发工具,点击VBA,然后右键,插入一个模块。
破解vbaproject密码
破解vbaproject密码破解vbaproject密码1.打开带密码的Excel,视图---宏----录制宏---(保存到)“个人宏工作簿”---点“确认”。
2.查看宏----点“编辑”-----进入“Microsofe visual basic-PERSONAL.XLSB”页面;3.点“模块1“,弹出“模块1代码”----清除“模块1代码”里面的东西-----复制如下东西:Public Sub 工作表保护密码破解()Const DBLSPACE As String = vbNewLine & vbNewLineConst AUTHORS As String = DBLSPACE & vbNewLine & _"作者:冷风"Const HEADER As String = "工作表保护密码破解"Const VERSION As String = DBLSPACE & "版本Version 1.1.1"Const REPBACK As String = DBLSPACE & ""Const ZHENGLI As String = DBLSPACE & " hfhzi3—戊冥整理" Const ALLCLEAR As String = DBLSPACE & "该工作簿中的工作表密码保护已全部解除!!" & DBLSPACE & "请记得另保存" _& DBLSPACE & "注意:不要用在不当地方,要尊重他人的劳动成果!"Const MSGNOPWORDS1 As String = "该文件工作表中没有加密"Const MSGNOPWORDS2 As String = "该文件工作表中没有加密2"Const MSGTAKETIME As String = "解密需花费一定时间,请耐心等候!" & DBLSPACE & "按确定开始破解!"Const MSGPWORDFOUND1 As String = "密码重新组合为:" & DBLSPACE & "$$" & DBLSPACE & _"如果该文件工作表有不同密码,将搜索下一组密码并修改清除"Const MSGPWORDFOUND2 As String = "密码重新组合为:" &DBLSPACE & "$$" & DBLSPACE & _"如果该文件工作表有不同密码,将搜索下一组密码并解除"Const MSGONLYONE As String = "确保为唯一的?"Dim w1 As Worksheet, w2 As WorksheetDim i As Integer, j As Integer, k As Integer, l As IntegerDim m As Integer, n As Integer, i1 As Integer, i2 As IntegerDim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer Dim PWord1 As StringDim ShTag As Boolean, WinTag As BooleanApplication.ScreenUpdating = FalseWith ActiveWorkbookWinTag = .ProtectStructure Or .ProtectWindowsEnd WithShTag = FalseFor Each w1 In WorksheetsShTag = ShTag Or w1.ProtectContentsNext w1If Not ShTag And Not WinTag ThenMsgBox MSGNOPWORDS1, vbInformation, HEADERExit SubEnd IfMsgBox MSGTAKETIME, vbInformation, HEADERIf Not WinTag ThenElseOn Error Resume NextDo 'dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 T o 66: For m = 65 T o 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 With ActiveWorkbook.Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If .ProtectStructure = False And _.ProtectWindows = False ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND1, _ "$$", PWord1), vbInformation, HEADERExit Do 'Bypass all for...nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf WinTag And Not ShTag ThenMsgBox MSGONLYONE, vbInformation, HEADER Exit SubEnd IfOn Error Resume NextFor Each w1 In Worksheets'Attempt clearance with PWord1w1.Unprotect PWord1Next w1On Error GoTo 0ShTag = FalseFor Each w1 In Worksheets'Checks for all clear ShTag triggered to 1 if not.ShTag = ShTag Or w1.ProtectContentsNext w1If ShTag ThenFor Each w1 In WorksheetsWith w1If .ProtectContents ThenOn Error Resume NextDo 'Dummy do loopFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 .Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If Not .ProtectContents ThenPWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)MsgBox Application.Substitute(MSGPWORDFOUND2, _ "$$", PWord1), vbInformation, HEADER'leverage finding Pword by trying on other sheetsFor Each w2 In Worksheetsw2.Unprotect PWord1Next w2Exit Do 'Bypass all for...nextsEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfEnd WithNext w1End IfMsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK & ZHENGLI, vbInformation, HEADEREnd Sub4.点保存,然后关闭“BOOK1”5.点运行,就OK了。
关于Excel使用VBA 宏的密码破解方法和思路
对于那种试用的含有VBA宏的Excel 是最好破的。
这样的Excel 文件一般加载了dll文件,一打开就提示输入密码,然后还提示你只能使用多少次。
有次数限制当然不爽了,呵呵,所以必须破解。
首先用Advanced Office Password Recovery 打开文件,马上就会破解出通用密码,然后点击删除VBA密码,然后拷贝工作薄密码。
打开Excel 文件,撤销工作薄保护,粘贴你刚才复制的密码。
继续看每个表有保护没,有的话全部撤销。
每个工作表的密码在刚才的软件界面上都有。
然后打开VBA编辑器,提示输入密码,不管它,因为密码已经删除了,所以点击确定就可以进去了。
展开工程,删除里面用户保护的VBA代码,保存,关闭。
再打开Excel 时你就会发现已经不会提示输入任何密码了,破解完成。
对于不提供试用,只提供输入密码才能访问,而且一打开就全屏的提示输入密码。
这样的Excel 破解起来稍微要麻烦一点,不过还是能破。
具体方法有空了再写。
就按照刚刚破解的一个VBA加密的Excel 写一下破解思路,仅供参考。
打开Excel 只看到一个表,然后马上出现全屏运行的密码输入窗口。
看来该加密方式是利用的这个表写的VBA代码。
只有输入正确密码才能登陆,如果点取消,则Excel 就马上关闭了。
在全屏的界面按下ALT+F 调出菜单栏,一直按右键,到“工具”菜单,选择“保护”,继续选择“撤销工作薄保护”,然后输入上面用软件破解出来的工作薄保护密码,然后确定。
如果没有出现密码错误对话框,就说明密码正确了。
然后按CTRL+S保存,等保存完毕,再回到那个登陆窗口,点击取消。
此时你就会发现Excel 没有关闭,而是绕过用户密码登陆直接进入了,里面就是你想要看到的Excel 表。
此时不要关闭Excel ,不然待会又要求输入登陆密码。
进入“工具”-“宏”-“Visual Basic 编辑器”,双击VBAProjiect,会提示输入密码,因为在前面已经用软件删除了VBA密码,所以直接点确定就可以进入。
解除VBA工程密码
解除VBA工程密码(可恢复)(包括工程不可查看)●0、打开需要破解的文件1、运行破解2、双击需要破解的文件的工程3、如入无人之境4、取消工程密码保护的钩钩5、保存6、运行恢复即可恢复密码●如果工程不可查看---------请到--审阅---取消共享工作簿即可Option ExplicitPrivate Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" _(Destination As Long, Source As Long, ByVal Length As Long)Private Declare Function VirtualProtect Lib "kernel32" (lpAddress As Long, _ByVal dwSize As Long, ByVal flNewProtect As Long, lpflOldProtect As Long) As LongPrivate Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleName As String) As LongPrivate Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, _ByVal lpProcName As String) As LongPrivate Declare Function DialogBoxParam Lib "user32" Alias "DialogBoxParamA" (ByValhInstance As Long, _ByVal pTemplateName As Long, ByVal hWndParent As Long, _ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As IntegerDim HookBytes(0 To 5) As ByteDim OriginBytes(0 To 5) As ByteDim pFunc As LongDim Flag As BooleanPrivate Function GetPtr(ByVal Value As Long) As Long'获得函数的地址GetPtr = ValueEnd FunctionPublic Sub RecoverBytes() '若已经hook,则恢复原API 开头的6 字节,也就是恢复原来函数的功能If Flag Then MoveMemory ByVal pFunc, ByVal VarPtr(OriginBytes(0)), 6End SubPublic Function Hook() As BooleanDim TmpBytes(0 To 5) As ByteDim p As LongDim OriginProtect As LongHook = False'VBE6.dll 调用DialogBoxParamA 显示VB6INTL.dll 资源中的第4070 号对话框(就是输入密码的窗口) '若DialogBoxParamA 返回值非0,则VBE 会认为密码正确,所以我们要hook DialogBoxParamA函数pFunc = GetProcAddress(GetModuleHandleA("user32.dll"), "DialogBoxParamA")'标准api hook过程之一: 修改内存属性,使其可写If VirtualProtect(ByVal pFunc, 6, &H40, OriginProtect) <> 0 Then'标准api hook过程之二: 判断是否已经hook,看看API 的第一个字节是否为&H68, '若是则说明已经HookMoveMemory ByVal VarPtr(TmpBytes(0)), ByVal pFunc, 6If TmpBytes(0) <> &H68 Then'标准api hook过程之三: 保存原函数开头字节,这里是6 个字节,以备后面恢复MoveMemory ByVal VarPtr(OriginBytes(0)), ByVal pFunc, 6'用AddressOf 获取MyDialogBoxParam 的地址'因为语法不允许写成p = AddressOf MyDialogBoxParam这, 里我们写一个函数'GetPtr,作用仅仅是返回AddressOf MyDialogBoxParam的值,从而实现将'MyDialogBoxParam 的地址付给p 的目的p = GetPtr(AddressOf MyDialogBoxParam)'标准api hook过程之四: 组装API 入口的新代码'HookBytes 组成如下汇编'push MyDialogBoxParam的地址'ret '作用是跳转到MyDialogBoxParam 函数HookBytes(0) = &H68MoveMemory ByVal VarPtr(HookBytes(1)), ByVal VarPtr(p), 4HookBytes(5) = &HC3'标准api hook过程之五: 用HookBytes 的内容改写API 前6 个字节MoveMemory ByVal pFunc, ByVal VarPtr(HookBytes(0)), 6'设置hook 成功标志Flag = TrueHook = TrueEnd IfEnd IfEnd FunctionPrivate Function MyDialogBoxParam(ByVal hInstance As Long, _ByVal pTemplateName As Long, ByVal hWndParent As Long, _ByVal lpDialogFunc As Long, ByVal dwInitParam As Long) As IntegerIf pTemplateName = 4070 Then'有程序调用DialogBoxParamA 装入4070 号对话框,这里我们直接返回1,让'VBE 以为密码正确了MyDialogBoxParam = 1Else'有程序调用DialogBoxParamA,但装入的不是4070 号对话框,这里我们调用'RecoverBytes 函数恢复原来函数的功能,在进行原来的函数RecoverBytesMyDialogBoxParam = DialogBoxParam(hInstance, pTemplateName, _hWndParent, lpDialogFunc, dwInitParam) '原来的函数执行完毕,再次hook HookEnd IfEnd FunctionSub 破解()If Hook ThenMsgBox " 破解成功"End IfEnd SubSub 恢复() RecoverBytes MsgBox " 恢复成功" End Sub。
破解工作表保护密码的vba方法
破解工作表保护密码的vba方法一、概述工作表保护是Excel中一种常见的安全措施,可以防止他人对工作表进行修改。
然而,有时候我们自己忘记了保护密码,这就给我们的工作带来了一定的困扰。
今天我们将讨论一种破解工作表保护密码的vba方法,希望能够帮助到有需要的读者。
二、VBA简介VBA是Visual Basic for Applications的缩写,是一种用于宏编程的编程语言。
通过VBA,我们可以在Excel中编写自动化程序来完成一系列操作,包括破解工作表保护密码。
三、破解工作表保护密码的VBA方法1. 通过VBA删除保护密码我们需要打开需要破解保护密码的Excel文件,然后按下Alt + F11,进入VBA编辑器。
在VBA编辑器中,我们可以输入以下代码来删除保护密码:```Sub UnprotectSheet()Dim ws As WorksheetOn Error Resume NextFor Each ws In ThisWorkbook.Worksheetsws.Unprotect "YourPassword" '将"YourPassword"替换成实际的密码Next wsOn Error GoTo 0End Sub```在上面的代码中,我们通过循环遍历所有的工作表,并使用Unprotect方法来删除保护密码。
需要注意的是,代码中的“YourPassword”需要替换成实际的密码。
2. 通过VBA破解密码如果我们忘记了保护密码,我们也可以通过VBA来破解密码。
以下是一个简单的破解密码的VBA代码:```Sub CrackSheetPassword()Dim i As Integer, j As Integer, k As IntegerDim l As Integer, m As Integer, n As IntegerDim i1 As Integer, i2 As Integer, i3 As IntegerDim i4 As Integer, i5 As Integer, i6 As IntegerOn Error Resume NextFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 ActiveSheet.Unprotect Chr(i) Chr(j) Chr(k) _Chr(l) Chr(m) Chr(i1) Chr(i2) Chr(i3) _Chr(i4) Chr(i5) Chr(i6) Chr(n)If ActiveSheet.ProtectContents = False ThenMsgBox "One usable password is " Chr(i) Chr(j) _ Chr(k) Chr(l) Chr(m) Chr(i1) Chr(i2) _Chr(i3) Chr(i4) Chr(i5) Chr(i6) Chr(n)Exit SubEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextEnd Sub```这段代码通过嵌套循环的方式尝试穷举所有可能的密码组合,直到找到可以破解保护密码的组合为止。
VBA破解
一、加密方式方法一:加保护密码,可对不同的过程加不同的密码优:方便易行缺:VBA key几秒钟,就将你的密码替换掉方法二:1、用UltraEdit32软件打开你想保护VBA的excel文件2、点查找>查找,查找“ID="{” (不带两端引号),注意点选找ASCII字符,会找到形如ID="{143DB7BA-14E4-40FF-BBBF-5C6612F797BE}"3、将大括号中的数字或字母随便改一改,然后保存,不影响你软件的使用,但查看工程时会提示你“工程不能查看”优:破解的方法中需使用十六进制编辑工具,能防住不会使用该工具的人缺:加密不方便二、破解方式excel2000以前的密码和VBA密码非常容易破解,网上有很多直接可以找出密码明文的软件excel2000以前的密码和VBA密码非常容易破解,网上有很多直接可以找出密码明文的软件excel xp以后,微软改进了VBA保护密码的加密方式,原来的看VBA密码的软件找不到VBA的密码了,找出VBA保护密码成为了一个难题。
好像安全了一些,但不久,就出现了破解VBA保护密码的软件,它的思路并不是找出VBA保护密码,而是直接用随机四个字母替换了VBA保护密码,用这种程序(网上并不难找),一个VBA采用密码保护的excel文件不到2秒的时间,就可以让你看到VBA源码。
后来有人对access文件的格式进行了研究,找到了新的加密方法(同样可用于excel文件)。
利用UltraEdit32或其它十六进制编辑工具编辑带VBA的excel文件中的ID或DPB中的内容。
经过这样处理的VBA会出现,“工程不可查看”的状态。
同样,也发现把加密VBA后的excel文件中的ID、CMG、DPB以及GC串替换为空,就会清除VBA保护密码。
(已有同志将该过程做成了excel的加载宏,不用十六进制工具就可)可以说excel中的vba源码毫无安全性,网上也见了一些利用VBA开发的程序,注册方式也比较先进,但源码容易看到,写个注册程序或干脆改掉注册较验也就毫无作用。
ExcelVBA编程与数据加密如何利用VBA进行数据的加密和解密
ExcelVBA编程与数据加密如何利用VBA进行数据的加密和解密ExcelVBA编程与数据加密数据安全一直是各行各业都非常关注的一个议题,保护数据的隐私和保密性对于企业和个人都至关重要。
在Excel中,我们可以利用VBA编程的功能来进行数据的加密和解密,提高数据的安全性。
本文将介绍如何利用ExcelVBA编程来进行数据的加密和解密。
一、VBA加密数据在Excel中,我们可以使用VBA编程来对敏感数据进行加密,使其在未授权的情况下无法被读取或解密。
下面是一个示例代码,用于演示如何使用VBA加密数据:```vbaSub EncryptData()Dim dataRange As RangeDim cell As RangeDim encryptedValue As String' 选择需要加密的数据范围Set dataRange = Range("A1:A10")' 循环遍历每个单元格并加密数值For Each cell In dataRangeencryptedValue = Encrypt(cell.Value) ' 调用加密函数cell.Value = encryptedValue ' 将加密后的数值写入单元格Next cellEnd SubFunction Encrypt(data As String) As String' 自定义加密算法,此处仅为示例Dim encryptedData As StringDim i As Integer' 将字符串每个字符的ASCII码加1For i = 1 To Len(data)encryptedData = encryptedData & Chr(Asc(Mid(data, i, 1)) + 1)Next iEncrypt = encryptedDataEnd Function```在上述示例代码中,我们首先选择需要加密的数据范围,然后使用循环遍历每个单元格并调用加密函数进行加密操作。
excel解密
VBA宏代码破解法:1、第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”退出2、再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PasswordBreaker(图3),点击“确定”退出;3、第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:Sub PasswordBreaker()Dim i As Integer, j As Integer, k As IntegerDim l As Integer, m As Integer, n As IntegerDim i1 As Integer, i2 As Integer, i3 As IntegerDim i4 As Integer, i5 As Integer, i6 As IntegerOn Error Resume NextFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If ActiveSheet.ProtectContents = False ThenMsgBox "One usable password is " & Chr(i) & Chr(j) & _Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)ActiveWorkbook.Sheets(1).SelectRange("a1").FormulaR1C1 = Chr(i) & Chr(j) & _Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)Exit SubEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextEnd Sub4、第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了(图4)。
破解被保护的excel文件方法
破解被保护的excel文件方法破解被保护的excel文件方法(等待测试)Excel弹出“您试图更改的单元格或图表受保护,因而是只读的。
若要修改受保护单元格或图表,请先使用‘撤消工作表保护’命令(在‘审阅’选项卡的‘更改’组中)来取消保护。
可能会提示您输入密码。
”窗口,如图1。
出现这种情况,应该怎么解决呢?经过研究,找到了两种破解Excel工作表保护码的方法。
一、VBA宏代码破解法:第一步:打开该文件,先解除默认的“宏禁用”状态,方法是点击工具栏下的“选项”状态按钮,打开“Microsoft Office安全选项”窗口,选择其中的“启用此内容”,“确定”退出(图2);再切换到“视图”选项卡,点击“宏”→“录制宏”,出现“录制新宏”窗口,在“宏名”定义一个名称为:PasswordBreaker(图3),点击“确定”退出;第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:Sub PasswordBreaker()Dim i As Integer, j As Integer, k As IntegerDim l As Integer, m As Integer, n As IntegerDim i1 As Integer, i2 As Integer, i3 As IntegerDim i4 As Integer, i5 As Integer, i6 As IntegerOn Error Resume NextFor i = 65 To 66: For j = 65 To 66: For k = 65 To 66 For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66 For i2 = 65 T o 66: For i3 = 65 To 66: For i4 = 65 To 66 For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126 Chr(i) & Chr(j) & Chr(k) & _Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)If = False ThenMsgBox "One usable password is " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)(1).SelectRange("a1").FormulaR1C1 = Chr(i) & Chr(j) & _Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)Exit SubEnd IfNext: Next: Next: Next: Next: NextNext: Next: Next: Next: Next: NextEnd Sub第三步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“执行”,密码就现形了(图4)。
excel工作表保护破解
excel工作表保护破解Excel工作表保护破解。
在日常工作中,我们经常会使用Excel表格来存储和处理数据。
为了保护数据的安全性,我们经常会对Excel工作表进行保护。
但有时候我们会遇到需要修改或编辑被保护的工作表的情况,这就需要我们学会如何破解Excel工作表的保护。
破解Excel工作表保护并不是一件复杂的事情,下面我将向大家介绍几种常用的方法。
第一种方法是通过VBA代码来破解Excel工作表保护。
首先,我们需要按下Alt + F11组合键,打开VBA编辑器。
然后在新建的模块中输入以下代码:Sub UnprotectSheet()。
Dim ws As Worksheet。
For Each ws In ThisWorkbook.Worksheets。
ws.Unprotect Password:="yourpassword"Next ws。
End Sub。
在上面的代码中,yourpassword是你设置的工作表保护密码。
执行完上述代码后,所有工作表的保护都会被解除。
第二种方法是通过在线工具来破解Excel工作表保护。
有一些在线工具可以帮助我们破解Excel工作表的保护,例如LostMyPass、Password-Find等。
我们只需要上传被保护的Excel文件,这些工具就可以帮我们破解保护密码。
第三种方法是通过修改Excel文件的扩展名来破解Excel工作表保护。
我们可以将Excel文件的扩展名修改为.zip,然后解压缩这个压缩文件。
在解压缩后的文件夹中,我们可以找到xl目录,里面包含了workbook.xml和worksheets文件夹。
我们可以用记事本打开workbook.xml文件,找到<workbookProtection>节点,将其删除或者修改为<workbookProtection lockStructure="0" lockWindows="0"/>,然后保存文件。
VBA中的工作表保护与解除技巧
VBA中的工作表保护与解除技巧在Excel中,我们可以使用VBA(Visual Basic for Applications)来进行自动化操作和处理数据。
其中,工作表保护和解除是Excel中常用的功能之一。
通过保护工作表,我们可以防止他人对数据进行不必要的更改或误操作。
而解除工作表保护则能让我们对工作表进行修改和编辑。
本文将介绍一些VBA中的工作表保护和解除技巧,以帮助您更好地管理Excel工作表。
一、保护工作表保护工作表是一种防止他人对工作表进行修改或删除的有效方法。
在VBA中,我们可以使用Worksheet对象的Protect方法来保护工作表。
下面是一个示例代码,演示如何保护工作表并设置密码:```VBASub ProtectSheet()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets("Sheet1")ws.Protect Password:="password"End Sub```在上述代码中,我们首先使用ThisWorkbook对象的Worksheets属性来获取工作表对象,然后使用Protect方法保护工作表。
通过设置Password参数,我们可以为工作表设置密码,确保只有输入正确密码的用户才能解除工作表保护。
另外,我们还可以使用Protect方法的一些可选参数来对工作表保护进行更多的设置。
例如,可以设置AllowSorting、AllowInsertingRows、AllowDeletingRows等等参数来控制用户对工作表的操作权限。
二、解除工作表保护在某些情况下,我们需要对受保护的工作表进行编辑和修改。
为此,我们可以使用VBA的Unprotect方法来解除工作表保护。
下面是一个示例代码,演示如何解除工作表保护:```VBASub UnprotectSheet()Dim ws As WorksheetSet ws = ThisWorkbook.Worksheets("Sheet1")ws.Unprotect Password:="password"End Sub```与保护工作表类似,我们同样可以通过设置Password参数来输入正确的密码来解除工作表保护。
excel文件密码破解方法
excel文件密码破解方法
要破解Excel文件的密码,有几种方法可以尝试。
以下是一些常用的方法:
1. 使用密码破解软件,有一些专门的密码破解软件可以帮助你破解Excel文件密码。
这些软件通常使用暴力破解或字典攻击等方法来尝试破解密码。
你可以在互联网上找到一些可靠的密码破解软件,但请注意使用合法的目的。
2. 使用VBA宏,如果Excel文件中启用了VBA宏,你可以通过编写一段简单的VBA代码来破解密码。
这种方法需要一定的编程知识,但可以尝试使用一些已有的VBA代码来破解密码。
3. 使用在线密码破解服务,有一些在线服务可以帮助你破解Excel文件密码。
你只需上传文件并等待服务破解密码。
然而,这种方法可能不是很安全,因为你需要将文件上传到第三方服务器。
4. 使用备份文件,如果你有Excel文件的备份副本,并且这个副本没有密码保护,你可以打开备份文件并保存为没有密码保护的新文件。
这种方法适用于你只是丢失了密码的情况。
5. 密码提示,有时候,Excel文件的创建者会设置密码提示。
如果你记得密码提示的内容,你可以尝试使用密码提示来回忆密码。
需要注意的是,破解密码是一项敏感的行为,应该遵守法律和
道德规范。
在尝试破解密码之前,请确保你有合法的权限来打开该
文件,并且尊重他人的隐私。
使用与破解ExcelVBA密码
使⽤与破解ExcelVBA密码
最近在给朋友做⼀个⾃动计算的VAB,但奈何基础知识不怎么扎实,做着做着最后还是向度娘求助了
找了⼏个不错的Excel就进⾏研究了
这⾥记述⼀些知识,为了⽅便以后能够⽤到,也⽅便⼀些有需要的朋友。
现在Excel更新很快,都到2016版本了(⽬前我使⽤的版本),Excel功能也很强⼤,简单的数据分析什么的完全能够⽤上,不是统计专业的基本Excel完全够⽤(飘过、、、、、)
1.将需要破解的Excel另存为
2.使⽤⽂本编辑器(NotePad++)打开这个⽂件 ————勾选始终
3.查找—(Ctrl+F)修改“DPB”————改成DPx
4.重新打开exce⽂件
弹出错误———————不管它,除⾮......
进⼊开发者⼯具——Visual Basic (如果你连 Visual Basic 都不知道那么希望你点击右上⾓红X)
重新设置⼀个你的密码,然后重新打开Excel——在这之前你可能会被弹窗搞崩溃,但是慢慢的,你会成功的啦。
excel密码破解的三种方式——以备不时之需!(建议收藏)
excel密码破解的三种方式——以备不时之需!(建议收藏)现在的互联网信息时代,人们对信息安全比较敏感,也比较重视,确实,哪个人都不希望自己辛辛苦苦劳动得来的东西就这样被别人窃取了。
我们在日常的生活、工作中经常遇到Excel文件加密了,此时工作表就不能编辑修改,只能进行简单的复制操作,这时候我们最希望的就是能够将密码进行破解!excel工作表密码破解的方法大致有以下三种:1.VBA代码破解;2.将文件后缀名修改为RAR压缩文件后打开相关文件将加密代码删除;3.下载现成的插件。
在演示这三种解密方法之前,我们先对Excel文件进行加密,以便后面的操作演示:对身份证校验工作表进行加密提示输入密码才能修改,说明已经加密成功!下面依次演示如何使用这三种方法进行破解Excel文件的密码。
方法一:VBA代码破解右键单击身份证校验工作表,单击查看代码,如下图所示:然后粘贴以下VBA代码,在点击运行(F5),大功告成!Sub 密码破解()ActiveSheet.ProtectDrawingObjects:=True, CONTENTS:=True,AllowFiltering:=TrueActiveSheet.ProtectDrawingObjects:=False, CONTENTS:=True,AllowFiltering:=TrueActiveSheet.UnprotectEnd Sub其实代码还不止这个1.Sub RemoveShProtect()2.Dim i1 As Integer, i2 As Integer, i3As Integer3.Dim i4 As Integer, i5 As Integer, i6As Integer4.Dim i7 As Integer, i8 As Integer, i9As Integer5.Dim i10 As Integer, i11 As Integer,i12 As Integer6.Dim t As String7.On Error Resume Next8.If ActiveSheet.ProtectContents =False Then9.MsgBox '该工作表没有保护密码!'10.Exit Sub11.End If12.t = Timer13.For i1 = 65 To 66: For i2 = 65 To66: For i3 = 65 To 6614.For i4 = 65 To 66: For i5 = 65 To66: For i6 = 65 To 6615.For i7 = 65 To 66: For i8 = 65 To66: For i9 = 65 To 6616.For i10 = 65 To 66: For i11 = 65 To66: For i12 = 32 To 12617.ActiveSheet.Unprotect Chr(i1) &Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) _18.& Chr(i6) & Chr(i7) & Chr(i8) &Chr(i9) & Chr(i10) & Chr(i11) & Chr(i12)19.If ActiveSheet.ProtectContents =False Then20.MsgBox '解除工作表保护!用时' &Format(Timer - t, '0.00') & '秒'21.Exit Sub22.End If23.Next: Next: Next: Next: Next: Next24.Next: Next: Next: Next: Next: Next25.End Sub方法二:将文件后缀名修改为RAR压缩文件后打开相关文件将加密代码删除进行破解1、我们关闭工作簿,将此工作簿重命名修改文件后缀名为“rar”2、双击打开rar文件,找到'sheet1.xml',文件路径为“xl>>worksheets>>sheet1.xml”,因为身份证验证工作表是第一个工作表,所以选择sheet1.xml,要是第二个工作表加密就选择sheet2.xml,两个都加的话就两个文件都修改。
Ecel使用VBA破解工作表/工作簿密码 PPT
ressing OK button this " & _"will take some time." & DBLSPACE & "Amoun
t of time " & _"depends on how many different passwords, the " & _"pas
swords, and your computer's specification." & DBLSPACE & _"Just be pat
r, i4 As Integer, i5 As Integer, i6 As IntegerDim PWord1 As StringDim
ShTag As Boolean, WinTag As BooleanApplication.ScreenUpdating=FalseWit
h ActiveWorkbookWinTag=.ProtectStructure Or .ProtectWindowsEnd WithShT
tute(MSGPWORDFOUND1, _"$$", PWord1), vbInformation, HEADERExit Do 'Byp
ass all for...nextsEnd IfEnd WithNext: Next: Next: Next: Next: NextNex
t: Next: Next: Next: Next: NextLoop Until TrueOn Error GoTo 0End IfIf
_"Note it down for potential future use in other workbooks by " & _"t
VBA代码破解法
VBA代码破解法
1.打开要猜解的EXCEL文件。
2.按照下列步骤打开VBE并将VBA代码复制到代码窗口中。
3.将光标定位到代码窗口,按F5运行上述代码。
4.之后该代码会依次执行猜解工作簿保护密码、猜解工作表保护密码和将该EXCEL文件撤销工作表保护和工作簿保护的操作。
注意:该代码不提供密码的复制粘贴功能。
因此想记住密码必须手工抄写或者截图。
5.从核心代码可以看到,猜解出来的密码固定12个字符,前11个字符为大写字母A或者B,第12个字符为95个字符可输入字符之一。
2^11*95=194560种组合。
共有不到20万种组合。
每秒100万个,所以更是“秒”破。
猜解的核心代码:
For i = 65To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 =65 To 66
For i2 = 65 To 66: For i3 = 65 To 66:For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66:For n = 32 To 126
您可回复MMPJ获取相应软件和演示文件哦。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Project stream。
其表達式為:
命令符=串
...
[小節]
命令符=串
每行間用 &h0d﹑&h0a (回車﹑換行)分隔。所以﹐這就為我們簡單地破解提供了條件。
GC="1614BA74DA9C8F9D8F9D8F"
[Host Extender Info]
&H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000
[Workspace]
ThisWorkbook=0, 0, 0, 0, C
Document=ThisWorkbook/&H00000000
Document=Sheet1/&H00000000
Module=模塊1
Name="VBAProject"
HelpContextID="0"
VersionCompatible32="393222000"
CMG="DBD91940F044F044F044F044"
.......... .. Doc
2﹑其他方法本文不再提供。
注意事項﹕
1﹑Excel 中的Stream 采用laola 文件系統存放(請參考拙作<<Excel 二進制文件結構分析>>)﹐因而
stream 內容可能不連續存放。
節空余﹐用&h20(空格)覆蓋。
如﹕
00000000h: 49 44 3D 22 7B 38 37 45 45 42 38 30 39 2D 45 39 ; ID="{
87EEB809- E9
00000010h: 46 30 2D 31 31 44 36 2D 39 35 41 32 2D 30 30 38 ; F0-
Sheet1=0, 0, 0, 0, C
模塊1=22, 22, 155, 343, Z
當ID或DPB中的內容被更改時﹐就出現所謂的“工程不可視”狀態。
而破解的方法也就很簡單﹕
1﹑簡單覆蓋
將ID﹑CMG﹑DPB以及GC串(包括 命令符=串 )﹐覆蓋為&h0d﹑&h0a(注意﹕請成對使用)﹐如果出現單字
Sheet1=0, 0, 0, 0, C
模塊1=22, 22, 155, 343, Z
下例是同一個文件﹐增加了口令保護的project stream。請注意看 ID﹑CMG﹑DPB以及GC串。
'********************************************
'*** 帶有 VBA 的Excel﹐有口令保護 ***
Module=模塊1
HelpFile=""
NelpContextID="0"
VersionCompatible32="393222000"
CMG="B1B31D5B215B215F255F25"
DPB="6260CEBD62DA62DA9D2663DAB338442F98229B892DDBD831C3AC5373F78FF8D2FB2E1F1B3B"
'********************************************
ID="{00000000-0000-0000-0000-000000000000}"
Document=ThisWorkbook/&H00000000
Document=Sheet1/&H00000000
例如: project stream 按小文件塊方式存放時﹐每 64 字節(Laola Header偏移&h20定義)為一個
塊﹐相臨的塊在Excel文件中不連續存放。在采用簡單覆蓋方式時請注意不要覆蓋錯位置。
..................
00000010h: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ;
...................
00000020h: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 20 0D 0A 44 6F 63 ;
11D6- 95A2- 008
00000020h: 38 38 38 39 39 38 31 36 38 7D 22 0D 0A 44 6F 63 ;
888998168}".. Doc
替換為﹕
00000000h: 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A 0D 0A ;
破解工具雖然快﹐但并非萬能。但我的方法雖然慢但就是萬能
解除VBAProject 的口令保護
1﹑使用UltraEdit32或其它二進制編輯工具
2﹑你理解二進制﹑十進制﹑十六進制的概念
3﹑Excel 中的_VBA_Project_CUR storage(我們可以理解為一個目錄) 下的Project Stream(可以理解為一個
DPB="B6B474AD94536E546E546E"
GC="91935354545454AB"
[Host Extender Info]
&H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000
[Workspace]
ThisWorkbook=0, 0, 0, 0, C
'********************************************
'*** 帶有 VBA 的Excel﹐沒有口令保護 ***
'********************************************
ID="{87EEB809-E9F0-11D6-95A2-008888998168}"