楼主 chrisfang |
Q:不用编程的方式如何快速移除工作表密码? A:在Excel2007和Excel2010版本中,由于使用了Open XML的文件格式,对于密码破解来说又有了新途径。。 假定Excel工作簿test.xlsx的sheet1中包含工作表密码,可以按以下步骤操作解除密码: 1,将test.xlsx重命名为test.zip(注意要在系统中设置可显示其扩展名后再进行重命名)形成zip压缩文档,将此压缩文档解压形成一个名为test的文件夹。 2,在此文件夹的\xl\worksheets路径下,找到sheet1.xml文件(如果是其他工作表设置了密码,则找到对应的其他xml文件),用写字板打开此xml文件。 3,在xml文档中找到<sheetProtection password=........ /> ,将此段内容删除后保存,保存的文件格式仍为xml文件。 4,重新将test整个文件夹压缩打包成test.zip文件(记得删除原有的test.zip文件),然后再将扩展名改为xlsx,形成excel工作簿文档。此时其中的sheet1工作表中已经解除了密码保护。 |
2楼 apolloh |
如果要设置密码,那么建议将文件保存为.xlsb二进制格式,这样就无法以xml文件的方式查看数据了。 |
3楼 chrisfang |
哈哈,拿到xlsb文档的人再另存为xlsx又可以了。 |
4楼 apolloh |
加密了,不让打开,看他另存 |
5楼 chrisfang |
送上xlsb的bin文件破解方法,刚刚下午研究了一下二进制文件的一点收获,测试得不是十分充分。 与顶楼的方法相似,还是将xlsb扩展名改为zip然后解压,生成的文件夹\xl\worksheets路径下有sheet1.bin文件(其他工作表则对应其他bin文件),用二进制编辑工具打开这个bin文件(例如使用UltraEdit),使用16进制查看,找到98 01 24 03的字节位置,将其后一直到8A 01 00区间之内的数字都改为0。然后再找到97 04 42的字节位置,将其后的三个字节改为00 00 00。 如下图所示,将红框线内的所有数字都改为0。 保存此修改后的bin文件后再打包还原为xlsb文档,Excel再次打开此xlsb文档时会提示“发现不可读取的内容,是否恢复。”,单击“是”即可打开,此时的工作表已经没有了保护,但在保护菜单上仍会显示“撤销工作表保护”的命令,再点击一下就OK了。 |
6楼 apolloh |
用文本比较工具吗? |
7楼 chrisfang |
UltraEdit,自带对比功能 |
8楼 yfan17 |
哈哈,拿到xlsb文档的人再另存为xlsx又可以了。》难道是传说中的“道高一尺,魔高一丈”么。 |
9楼 水星钓鱼 |
高手啊。收藏。学习了。 |
10楼 wsdxlxc |
学习!高手指导啊 |
11楼 3x3eyes |
这……太狠了,不过我很高兴 |
12楼 laoyebin |
方版这招真狠啊,厉害 |
13楼 liyh67 |
不知对2003版的是否也有用 |
14楼 agui7219 |
高手 高手 |
15楼 lgh978 |
2003版的是否也有用 |
16楼 kevinchengcw |
如果是用RC4之类方法加密的可以吗,我也试一下,这个不错 |
17楼 elainezhou |
解压文件以后是这个没有xl文件夹怎么办QQ截图未命名.jpg |
18楼 lrlxxqxa |
谢谢分享。 选择Excel的那一刻,就该意识到任何密码都只是防下外行。 |
19楼 痕少 |
我的问题和17楼的一样的。 |
20楼 qinhuan66 |
好好学习天天向上 |
21楼 acca |
学习了,谢谢分享 |
22楼 windimi007 |
这个不错,先收藏了,以备不时之需!o(∩_∩)o 哈哈! |
23楼 hl_irnt |
实在是高啊 |
24楼 qinhuan66 |
好好学习天天同上 |
25楼 zeldalyc |
厉害,回头试试 |
26楼 bensonlei |
如果工作簿, 怎样处理? |