首页
社区
课程
招聘
[讨论]对office加密文档的快速破译问题的研究
发表于: 2008-11-1 17:27 134048

[讨论]对office加密文档的快速破译问题的研究

2008-11-1 17:27
134048
收藏
免费 7
支持
分享
最新回复 (257)
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
226
85 00 0E 00 这个记录的记录体的大部分内容加了密,有几个字节没有加密。但是不影响解密文件的打开吧?
2009-1-13 23:24
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
227
哦。刚才按照你说的检查了一下,确实是一部分是没有加密了。明白了。。。有时候钻牛角尖了。继续下一种类型的解密。thanks。。。
2009-1-14 00:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
228
看了2位的讨论,研究的很透彻,ppt采用了与word和xls不同的加密方式,如果在知道密码的情况下,怎么去将密文解密成明文呢?
    MS-OFFCRYPTO.pdf里面2.3.5.2提到了ppt采用的默认加密方式,采用了cryptoapi,哈希函数是SHA-1,加密采用RC4
    H0 = H(salt, password);   //哈希password
      Hfinal = H(H0, block);     //生成密钥

这里的H函数采用了SHA-1,我不明白的是这里2个参数的哈希是不是做了HMAC,具体用cryptoapi怎么实现得到rc4需要的密钥的?
不知道可否解答下?万分感谢!!
2009-1-14 17:21
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
229
从OFFICE2007开始与之前的OFFCICE2003/xp/2000/97版本的加密完全不一样了。
你所说的应该是2007之前的版本,据我所知,没有使用HMAC这种标准的密码学方式,
变换函数H(salt, password)其实是将用户口令与128bit的随机数进行混合运算,其中使用了多次MD5而不是SHA-1,最终得到的散列值作为RC4流密码算法的密钥,对PPT文件数据进行加密。大致过程如此。
2009-1-14 21:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
230
我的版本是ppt是2003的,我知道word和excel默认加密方式是rc4+md5,但是ppt采用的默认方式就变成了microsoft base cryptographic provider 1.0,由EncryptionHeader.AlgIDHash域指定哈希方式,默认是0x0000 8004,是SHA-1,所以我想知道这种情况下,是怎么产生密钥的
2009-1-15 08:35
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
231
我还没有来得及看微软提供的文档,这些以前都是保密的,现在微软也作有限公开了,值得欢迎,免得我们非要反汇编分析。office套件的三个主要软件Word/Excel/PPT,对于可以选择密钥长度的情况,三者其实使用了同样的加密算法,产生密钥的方式与本贴讨论的有很大区别了,以致本贴讨论的快速破解方式不再奏效。具体细节暂无公开分析。
2009-1-16 00:14
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
232
从哪儿可以分析出word和excel的版本号?
2009-2-1 11:18
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
233
你是说从word文件和Excel文件中怎么看出版本号?你用UltraEdit等十六进制编辑软件打开word文件,在文件某个地方(一般在文件尾部)可以看到版本信息,是以Unicode编码方式显示的明文信息,没有加密。
2009-2-1 21:12
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
234
不是很懂》...
2009-2-2 08:12
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
235
好像excel没有。
word的所有解密方式都是一样的,但是excel就有很大区别,不同版本、甚至相同版本但是有无修改密码有无图片,解密方式都不一样。
2009-2-2 10:09
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
236
已找到版本区别了。
2009-2-11 15:55
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
237
对于EXCEL的二进制代码,里面有个类型:
85000E00代表着Excel的工作表(sheet),有多少个85000E00就有多少个sheet,在85000E00第一和第二个字节,我始终找不到规律。比如加密后的文档中
85 00 0E 00 FF 07 ,正确的解密结果有时候FF 07会有变化,有时候又不变。找不到一定的规律。

jeffcjh,这个怎样解决?
2009-2-12 18:25
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
238
这个细节问题没有研究过,我也不知道有什么具体思路,抱歉。
2009-2-12 20:47
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
239
看起来好象很有用,有空的时候来试一下
2009-2-13 12:52
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
240
找到规律了。谢谢。。。
2009-2-13 18:02
0
雪    币: 105
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
241
请问谁有http://www.team509.com/download/MS_Word_encrypt.pdf文中所提及到的/MSWord_encrypt_src.zip源码包?有的请M我,527750206@qq.com,谢谢了
2009-2-22 10:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
242
好文章 学习
2009-2-28 20:15
0
雪    币: 206
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
243
貌似要花很多時間,
2009-3-1 00:06
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
244
jeffcjh  你是个好人呀!早点认识你们就好了,你们说的类似的问题我都遇到过!
2009-3-22 21:00
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
245
rainbowf,你现在已经做完类似的功能了吗?
2009-3-23 15:49
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
246
xiaoxinxx  做完了,已经可以运行了,两张表。
2009-3-23 20:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
247
表不是有5TB吗,你们怎末存储的啊,有压缩吗
2009-3-24 10:48
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
248
有一段时间没来了,很高兴又多了几个朋友参与探讨。

根据本贴提出的破解原理,完全存储确实是需要5TB的,但可以使用一些技巧减少实际存储量。
直接压缩显然不行,因为文件中保存的实际上是一些类似于随机数的40bit数据,没有什么冗余度。我认为可以使用查分之类的技巧,具体方法可以参考楼主的前一个帖子,里面有详细设想。
2009-3-24 19:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
249
好好学习一下!
2009-3-24 23:38
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
250
对,我不是采用全表的办法,根本存储不起,造表的时间也太长了,我是采用改进的彩虹链的造表方法,一张表只用了xxG的存储空间,破译率可以达到95%以上,时效性很高。破一个最多2分钟。
2009-3-25 21:01
0
游客
登录 | 注册 方可回帖
返回
//