|
原理我就不多说了,看得懂的可以自己看下,大致就是微软技术员犯下的一个小失误。
因为是原创,转载的时候保留作者,谢谢。
作者:冰麟轻武 发布论坛club.excelhome.net 论坛ID:jy02305022
网上破除锁定密码的VBA也有,不过代码很长,而且过程很慢
我做的这个是我一次写vba的时候无意中发现的,发现了2,3年了
今天来分享一下
步骤如下,
1,打开一个有锁定密码的excel
2,点击文件,新建一个空白工作簿
3,点击新打开excel的工具-》宏-》录制宏,然后马上结束,这样就等到一个空的宏
4,点击alt+f11,打开宏编辑器,找到刚才的新宏,然后写如代码
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:= _
False, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFiltering:=True, AllowUsingPivotTables:=True
ActiveSheet.Unprotect
5,ok返回有锁定的表格,点击alt+f8运行宏 如果看不见,就在位置的地方选择“所有打开的工作簿”
PS:破解的时候最多有可能弹出3次要求输入密码的地方,都点取消。1秒不到再试试,是不是没有密码了?
适用于excel2003 ,2007我没有安装 不知道时候可以用,家里有安装的人帮我测试一下 谢谢
事隔近一年,还是没有人发现我要新建一个工作簿的真正原因,
原因就是有写表可能会设置禁止修改VBA,或者VBA加密,这样你在原表的基础上是不可能录制宏的
你新建一个表 然后录完了 另一个表也可以用!!
也就是最后
5,ok返回有锁定的表格,点击alt+f8运行宏 如果看不见,就在位置的地方选择“所有打开的工作簿”
的原因了!!
=====================================分割线风格线分隔线凤哥线=================================================
然后为大家放出找个BUG的真正奥秘所在
看这张图,这个BUG主要就是出在"保护工作表"页面的最后2个"编辑对象"和"编辑方案"
当假设我以上图设置加密的时候
我只要使用VBA在对表进行一个"无密码加密",也就是密码为空加密,这样解密的时候就不需要密码了
不过这样大部分时候在使用VBA的时候会弹出要求输入密码
但是有一种情况例外
那就是当最后最后2项的选择和"有密码加密"一样的时候,这时使用"VBA无密码加密"表,不需要密码验证
说的简单一点就是 原来加密的时候选择的是
编辑对象和编辑方案,那么现在进行无密码加密的时候 也要选择编辑对象和编辑方案
原来只选了编辑对象,没有选择编辑方案,那么现在也只要选择编辑对象,不能选择编辑方案
因为我们不可能知道他的加密是怎么选择的,只有尝试所有的方案,包括
1.全选编辑对象和编辑方案
2.只选编辑对象
3.只选编辑方案
4.都不选
这就是为什么要尝试4次,有可能弹出3次要求输入密码的原因,只要选择和原来的不一样 就会要求输入密码,这时只要取消
VBA就会自动尝试下一个方案了
在最早之前,我的一次偶然发现中,我以为是要和有密码加密的所有选择完全一样,才可以不用密码再次加密
原来打算写了一个遍历所有组合的VBA,但在之后的多次尝试后,吧目标缩小到最后2个设置
只要这2个设置一样,其他不一样也可以进行无密码的再次加密,也就是忽略原有密码
代码一共5句 前4句分别尝试使用4种方案重新以无密码模式加密表,最后一句就是以无密码模式解锁表
真相终于大白于天下,这如果不是后门,就是一个大马哈的程序员遗留下的BUG
[ 本帖最后由 jy02305022 于 2010-7-21 23:50 编辑 ] |
评分
-
4
查看全部评分
-
|