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

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

2008-11-1 17:27
134048
收藏
免费 7
支持
分享
最新回复 (257)
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
126
对于WORD文档,有打开、修改、保护和VBA这四种密码,现在已经解决了打开的密码,其它三种密码方式是不是也是类似的啊?
2008-12-9 23:10
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
127
彩虹链的资料可以从网上搜集一些,其实主要文献是以前给你说过的那篇论文(后来有一些变种之类的,但也没多少实际用处吧),再加上朱双磊的源程序,我认为足够你研究了。
2008-12-9 23:35
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
128
具体的我并没有针对彩虹链做什么研究,就不能提供详细帮助了。

至于WORD文档的打开、修改、保护和VBA这四种密码,我觉得它主要的安全性在于打开密码的保护,其他比如修改、保护之类的口令,网上有资料说可以立即去除的,谈不上什么安全性。你可以google一下。
2008-12-9 23:38
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
129
朱双磊的源程序??这个有下载链接吗?好好研究。
2008-12-9 23:47
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
130
朱双磊的源程序我告诉过你,在你发的前一个帖子中找吧。
2008-12-9 23:56
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
131
哦。原来写RainbowCrack的牛人就叫朱双磊啊。
2008-12-10 00:11
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
132
崇拜,学习拉先.
忙完这阵子,开始学习加密算法.
2008-12-10 11:54
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
133
永中office 老版本 2004 加上补丁三  好像可以直接打开加密的 微软word, excel 等文件。
2008-12-11 11:11
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
134
那么强大啊?不用输入密码就能够打开?
2008-12-11 12:12
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
135
jeffcjh,在做EXCEL解密时还有几个问题:
1、Excel是不是只有一段密文;
2、这段密文是不是从0x200开始;
3、这段密文首部多少个字节不要xor乱数呢?
2008-12-11 15:53
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
136
Excel的情况据我所知如下:
1、Excel只有一段密文,从文件偏移0x200开始;
2、Excel文件是以记录格式存储的,每个记录包括3个字段:记录类型(占2字节)、记录长度(占2字节)和记录体(其长度由“记录长度”字段来确定),故解密时必须按照记录格式来解析文件数据,对于记录类型和记录长度两个字段不xor乱数,仅对记录体解密;
3、我以某个具体实例说明如下(从密报文件偏移0x200开始的部分数据):
00000200: 09 08 10 00 00 06 05 00 EC 15 CD 07 C9 C0 00 00
00000210: 06 03 00 00 2F 00 36 00 01 00 01 00 01 00 C1 05
00000220: 42 C2 E4 19 72 D5 41 96 14 F7 81 53 E7 80 E4 CE
00000230: F8 64 57 E1 EA 5A 73 12 D2 BB A0 A4 A9 94 AC EE
00000240: B7 DE 09 DD 2B 76 CB B9 90 61 48 FE 5D E2 E1 00
00000250: 02 00 B0 04 C1 00 02 00 38 69 E2 00 00 00 5C 00
00000260: 70 00 4A AC 28 30 0A D9 30 25 5D 9F 11 11 5D 03
00000270: EA C7 F1 CF A7 9D 27 DB 11 CF 47 2A C6 9F FB 0A

(具体记录的含义微软已经在其官方网站上公布了Excel文件格式,你可以搜索看看。)
你可以按照我说的3字段记录格式对上面的数据进行分析(你的Excel文件应该也差不多的)。

其中从0x214偏移开始的记录(即2F 00)是加密信息记录,36 00 01 00 01 00 01 00 后面的48字节的性质和作用与Word中第2段密数据“01000100”开始的48字节相同,就无需多说了。

由于其中某些记录的记录体是没有加密的,所以就不用解密,可见Excel解密时麻烦一些。但道理知晓后就是编程问题了。
2008-12-11 18:39
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
137
如果ftiger所说是确实的,那可以说是一个很大的新闻了,但我更觉得像有些人所说的WinRar口令可以用某个软件直接去除一样,其实是假的。

如果ftiger能够实际测试一下,我们极力欢迎,或者给出相关信息,我们看看。
2008-12-11 18:54
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
138
哦。按照您说的意思,您看看我分析的对不对:
1、0x200--0x213(这20个字节原封不动的复制到新文件中);
2、0x214--0x24D(这10+48个字节就按照类似word第2段的密数据的解密方式);
3、从0x24E开始就按照3字段记录格式进行解密(block从零开始,每解密一个记录就+1):
   0x24E--0x24F(E1 00)为记录类型;
   0x250--0x251(02 00)为记录长度(正好512字节);
   然后就对记录长度的字节进行解密。

是这样吗?

另:您能否给出微软官方网站公布的Excel文件格式的链接地址?我搜索了,没找到。。。
2008-12-11 18:56
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
139
你的分析之第3点 稍微有点问题,更正如下:
1、0x214--0x24D这些数据在解密保存的文件中直接丢掉;
2、从0x24E开始就按照3字段记录格式进行解密。block块号从零开始,每解密1024字节(可能包括多个记录,最后一个记录可能会被截断到下一个1024字节中去),block就要加1(而不是每解密一个记录就+1);
3、0x24E--0x24F(E1 00)为记录类型,0x250--0x251(02 00)为记录长度(表示0x0002字节,而不是0x0200 = 512字节,这里要用intel字节顺序);
2008-12-11 19:09
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
140
1、0x214--0x24D这些数据在解密保存的文件中直接丢掉;
    如果这58个字节的数据直接丢掉,那么解密后的文件比加密后的文件的字节数就少了58字节,而我对比过加密前和加密后的文件字节数是一样的。是不是在这段密数据解密之后添上58个0?

2、从0x24E开始就按照3字段记录格式进行解密。block块号从零开始,每解密1024字节(可能包括多个记录,最后一个记录可能会被截断到下一个1024字节中去),block就要加1(而不是每解密一个记录就+1);
  由于您之前说的“对于记录类型和记录长度两个字段不xor乱数,仅对记录体解密”,那么对于从0x24E--0x24F开始的3字段记录数据:
E1 00 02 00 B0 04 C1 00 02 00 38 69 E2 00 00 00 ......
这段数据中(第一个记录体的类型+长度)E1 00 02 00,(第二个记录体的类型+长度)C1 00 02 00 ,(第三个记录体的类型+长度)E2 00 00 00 不用解密,原封不动的复制到新文件中,而我对比了一下加密前的文件,是没有这几个数据,是不是您以前说过的,解密后的数据可能与加密前的数据有写区别的意思?
2008-12-11 19:28
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
141
1、密文中的加密记录(占58字节)是Excel软件自动添加的,在解密后不再需要,故须扔掉(否则Excel会认为你解密后的文件还是密报);
2、对,Excel对明文文件加密时会自动进行部分调整,所以解密时可以保留明文中原来没有的少量记录(如果丢掉,我猜可能也可以)
2008-12-11 19:35
0
雪    币: 204
活跃值: (38)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
142
强帖。。我是来学习的
2008-12-11 19:52
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
143
明白了,测试中。。。thanks!!!
2008-12-11 19:54
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
144
word、excel、PPT的文件格式,直接在google中可以搜到。
2008-12-11 20:03
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
145
解密后的EXCEL文档与加密前的EXCEL文档大部分都相同了,有一小部分不相同。我发email文件给您,能否帮我看看?谢谢了。
2008-12-12 20:21
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
146
我已将你发我的文件解密发回给你了,供参考。
2008-12-13 16:27
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
147
您发给我的文档是正确的。
我已经按照您说的方法去解密文档了,就是从00x39A2到00X4396这段字节都是有区别,其它的都没问题,是不是还有什么一些特殊的地方要处理啊?
2008-12-13 21:11
0
雪    币: 58
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
148
明文、密文和解密结果都有了,难道你不能自己做些分析看出点什么来吗?
我感觉你解密存在的问题可能是没有注意到某些特定记录是不能xor乱数的。至于到底哪些记录不需解密我也不清楚,只是根据明密对照觉得哪些不需要(大约只有很少的几种记录类型)就不解密了。除此无他耳。
2008-12-13 22:55
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
149
哦。我对照EXCEL文档格式,分析看看到底是哪种记录不需要解密。THANKS!!!
2008-12-13 22:59
0
雪    币: 215
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
150
jeffcjh,还有最后一个问题还未解决,能不能帮看一下?
2008-12-16 16:05
0
游客
登录 | 注册 方可回帖
返回
//