ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH云课堂-专业的职场技能充电站 Excel转在线管理系统,怎么做看这里 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 高效办公必会的Office实战技巧 免费下载Excel行业应用视频
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 137302|回复: 367

[分享] 〔原创〕[10-7-21更新破解原理]巧用VBA破除锁定密码!excel2003的一个小BUG。

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-11-28 09:06 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:保护和加密编程
原理我就不多说了,看得懂的可以自己看下,大致就是微软技术员犯下的一个小失误。
因为是原创,转载的时候保留作者,谢谢。
作者:冰麟轻武 发布论坛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运行宏 如果看不见,就在位置的地方选择“所有打开的工作簿”
的原因了!!

ewr.jpg


=====================================分割线风格线分隔线凤哥线=================================================
然后为大家放出找个BUG的真正奥秘所在

005.jpg

看这张图,这个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 编辑 ]

评分

参与人数 3鲜花 +6 技术 +1 收起 理由
qisile + 1 优秀作品
liucqa + 1 值得肯定
leroy + 5 送花~~

查看全部评分

TA的精华主题

TA的得分主题

发表于 2009-11-28 09:19 | 显示全部楼层
果然。谢谢分享。不过home里禁止讨论破解的,呵呵

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-11-28 09:26 | 显示全部楼层
是这样吗? 我不知道哈 我看看版规。。这个是一个程序员犯下的小错误
如果版主看见了有异议就删了吧 呵呵~无意之作

TA的精华主题

TA的得分主题

发表于 2009-11-28 10:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-11-28 10:16 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-1-2 16:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-1-2 18:03 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-1-2 18:52 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-1-11 21:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2010-1-11 22:21 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,每天学会一个新技能

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2019-7-17 11:19 , Processed in 0.123470 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

沪公网安备 31011702000001号 沪ICP备11019229号

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:徐怀玉律师 李志群律师

快速回复 返回顶部 返回列表