2024年1月5日发(作者:)

一、 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打开文件,查找ID=......, 或到文件尾查看,找到即可;改其中的任意一位,存盘就可达到目的,注

意:留有备份文件

十二、

十三、 二、EXCEL宏保护密码破解-VBA工程密码破解

十四、 在办公中我们常看到许多用宏VBA编写的EXCEL表格,而这些表格就如同一个数据库,我们可以选取或查询很多的数据,一般的这些数据是存放在一个隐藏的工作表中的,那么要如何显示这个隐藏的工作表呢我们可以打开宏编辑器ALT+F11,再安CTRL+R打开专案,这时弹出窗会有所有的这个EXCEL的工用表,这时你就可以看看那些是被隐藏的了,很多时候打开是需要密码的,用以下方法解密后,再将解密后文件打开,依同样方法在工作表标签中右键>>检视程式码>>复制以下代码>>按F8执行

十五、 Private Sub CommandButton1_Click

十六、 Worksheets"这里为你要显示的工作表名称".Visible = True

十七、 End Sub

十八、 关于破解EXCEL VBA工程密码的方法,以下代码非常有效,首先建一新EXCEL文件,在工作表标签处右点>>检视程式码>>复制以下代码>>按F8执行 在弹出窗中选你要你破解工程密码的EXCEL文件 >>再按F5执行即可.

十九、 Private Sub VBAPassword

二十、 '你要解保护的Excel文件路径

二十一、 Filename = "Excel文件.xls & .xla & .xlt,.xls;.xla;.xlt", , "VBA破解"

二十二、 If DirFilename = "" Then

二十三、 MsgBox "没找到相关文件,清重新设置;"

二十四、 Exit Sub

二十五、 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 LOF1

三十三、 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 Sub

四十、 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, "提示"

五十七、 End If

五十八、

五十九、

六十、

六十一、

六十二、

六十三、

六十四、

六十五、

"

六十六、

六十七、

六十八、

六十九、

Close 1

End Sub

如果上面代码不能运行或出错,请用以下代码重试.

Private Sub VBAPassword

'你要解保护的Excel文件路径

Filename = "Excel文件.xls & .xla & .xlt,.xls;.xla;.xlt", , "VBAIf DirFilename = "" Then

MsgBox "没找到相关文件,清重新设置;"

Exit Sub

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 LOF1

七十七、 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 Sub

八十四、 End If

八十五、

八十六、 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, "提示"

百一、 Close 1

百二、 End Sub

第二步:再点击“宏”→“查看宏”,选择“宏名”下的“PasswordBreaker”并点击“编辑”,打开“Microsoft Visual Basic”编辑器,用如下内容替换右侧窗口中的所有代码:

Sub PasswordBreaker

Dim i As Integer, j As Integer, k As Integer

Dim l As Integer, m As Integer, n As Integer

Dim i1 As Integer, i2 As Integer, i3 As Integer

Dim i4 As Integer, i5 As Integer, i6 As Integer

On Error Resume Next

For 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 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

Chri & Chrj & Chrk & _

Chrl & Chrm & Chri1 & Chri2 & Chri3 & _

Chri4 & Chri5 & Chri6 & Chrn

If = False Then

MsgBox "One usable password is " & Chri & Chrj & _

Chrk & Chrl & Chrm & Chri1 & Chri2 & _

Chri3 & Chri4 & Chri5 & Chri6 & Chrn

Range"a1".FormulaR1C1 = Chri & Chrj & _

Chrk & Chrl & Chrm & Chri1 & Chri2 & _

Chri3 & Chri4 & Chri5 & Chri6 & Chrn

Exit Sub

End If

Next: Next: Next: Next: Next: Next

Next: Next: Next: Next: Next: Next

End Sub