利用CRC32绕过RAR密码(适合于小文本文件)
原文标题:教你绕过rar密码
文章仅作rar密码破解的探讨,如有高见还望提出。
题目有点夸大其词,事实是我也没能想出一个更好的描述来总结这篇文章的内容,所以才写了这么一个标题。
问题背景:某bbs娱乐区发布49选1的彩票,规则很简单,每次由管理人员设置一个1~49的数字,放在txt文件中,然后再用rar加密,上传到帖子的附件中,然后由会员用论坛货币购买自己所选的号码,对应可以选多少注,每注多少钱等等。
问题思考:从rar的角度而言,网络上还是有很多暴力破解的软件的,但是如果你的密码强度够好,比如数字字母特殊符号一起再长达几十位,个人电脑几天不关机也破解不出来。所以这种方法最最不可取。当破解代码的代价远远大于破解到的目标的价值时,没有人会去这么做。
读者可以自己测试一下,一个字节的txt文本(也就是一个txt文本中只含有一个数字)
压缩前为大小为1,压缩后大小也为1,加密压缩后大小为16;
2字节的txt文本,压缩前大小为2,压缩后大小为2,加密压缩后大小为16。
如果文本使用utf-8编码的话对应文本会比ansi编码大3,加密压缩后依然为16。
转者:无BOT格式的UTF-8文本和ansi编码一样的,编码大3在于BOM头。
**矛盾出现:**rar的压缩文档中是提供一个CRC32的值,这个值是文档在压缩之前的CRC32值,相信很多人都知道:每个不同的文件都有唯一的一个CRC32值,就算是可能有重复的,那么在内容为1~49的这个小范围内的txt文本也不会有重复。为此,我用hash检测工具挨个测试,并列出了一个表。
txt文本中的内容 | CRC32的数值 |
---|---|
1 | 83DCEFB7 |
01 | CF412436 |
2 | 1AD5BE0D |
02 | 5648758C |
3 | 6DD28E9B |
03 | 214F451A |
4 | F3B61B38 |
04 | BF2BD0B9 |
5 | 84B12BAE |
05 | C82CE02F |
6 | 1DB87A14 |
06 | 5125B195 |
7 | 6ABF4A82 |
07 | 26228103 |
8 | FA005713 |
08 | B69D9C92 |
9 | 8D076785 |
09 | C19AAC04 |
10 | A15D25E1 |
11 | D65A1577 |
12 | 4F5344CD |
13 | 3854745B |
14 | A630E1F8 |
15 | D137D16E |
16 | 483E80D4 |
17 | 3F39B042 |
18 | AF86ADD3 |
19 | D8819D45 |
20 | 8A707622 |
21 | FD7746B4 |
22 | 647E170E |
23 | 13792798 |
24 | 8D1DB23B |
25 | FA1A82AD |
26 | 6313D317 |
27 | 1414E381 |
28 | 84ABFE10 |
29 | F3ACCE86 |
30 | 936B4763 |
31 | E46C77F5 |
32 | 7D65264F |
33 | 0A6216D9 |
34 | 9406837A |
35 | E301B3EC |
36 | 7A08E256 |
37 | 0D0FD2C0 |
38 | 9DB0CF51 |
39 | EAB7FFC7 |
40 | DC2AD1A4 |
41 | AB2DE132 |
42 | 3224B088 |
43 | 4523801E |
44 | DB4715BD |
45 | AC40252B |
46 | 35497491 |
47 | 424E4407 |
48 | D2F15996 |
49 | A5F66900 |
转者:研究表明,文件名与CRC32无关。压缩后大小和本文范畴貌似无关
很明显,没有重复的。(上面是ANSI编码的时候测试的,UTF-8的肯定和这个不一样。)
转者:UFT-8的BOM头影响。实际UTF-8与ANSI一致
解决问题:根据上面列出的表格,图片中CRC32为13792798的txt文本文档的内容为23。
反破解方法,在文本中加入其它任意文字即可。呵呵…