能力值:
( LV3,RANK:20 )
2 楼
我用了一个rar的恢复软件把压缩包打开了,不过只有两个文件有5个字节的数据,其他文件都是空的,不知道是恢复软件的问题,还是本来就这样
虽然打开了,但是不知道怎么解密。。。
2.txt的内容是:1D F6 66 AD 48
5.txt的内容是:73 C6 24 D3 D3
能力值:
( LV2,RANK:10 )
3 楼
是哪个软件啊,网上没找到对应的
能力值:
( LV3,RANK:20 )
4 楼
楼主的分析思路比较清晰,不错。
能力值:
( LV2,RANK:10 )
5 楼
厉害啊,这就都行,以后压缩程序不能用RAR了
能力值:
( LV3,RANK:30 )
6 楼
想了一天,看来原来的想法是错了....其实很简单的,5个byte的文件,估计里面存的是flag,那么1.txt里就应该是ACTF{, 试了一下CRCcode,果然是这样的:
rarfile.RarFile('flag.rar').infolist()[0].CRC == binascii.crc32("ACTF{")
这样子剩下的就不难了,5个byte的可打印字符,直接穷举算CRCcode就行
能力值:
( LV3,RANK:30 )
7 楼
RAR Password Recovery Professional应该是可以搜到的,
比赛题目应该还可以在http://ctf.zjuisa.org/找到
能力值:
( LV3,RANK:20 )
8 楼
[QUOTE=rodent;1273678]想了一天,看来原来的想法是错了....其实很简单的,5个byte的文件,估计里面存的是flag,那么1.txt里就应该是ACTF{, 试了一下CRCcode,果然是这样的:
rarfile.RarFile('flag.rar').infolist()[0].CRC == binascii.crc3...[/QUOTE]
跪求大神写个详细一点的writeup嘛。。
能力值:
( LV3,RANK:30 )
9 楼
昨晚写了一个脚本,穷举测试crc32, 结果脚本里有个bug,只算出来5个,而且没有考虑crc32碰撞...仅作参考了
1. 5byte出现crc32碰撞的概率是很高的,最好全部穷举完,然后人工检查
2. rar文件里存储了未压缩之前文件的crc32值,虽然不能用来解密,但是对于很小的文件是可以解出有限的几个可能值
import rarfile
import binascii
import itertools
rar = rarfile.RarFile('flag.rar')
infos = rar.infolist()
printable_list = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-=_+~`{}[];:?/"
crc_list = [item.CRC for item in infos]
print crc_list
crc_list_ = crc_list[:]
r={}
for guess in itertools.permutations(printable_list, 5):
crc32 = binascii.crc32("".join(guess))
if crc32 in crc_list_:
r[crc32] = guess
print guess, crc32
crc_list_.remove(crc32)
if not crc_list_:
break
输出:
[542226284, 1421868561, 3391792350L, 261289599, 7004842, 736203297, 1813357175]
('n', 'f', '0', 'm', '4') 736203297
('A', 'C', 'T', 'F', '{') 542226284
('3', '4', 'k', '_', 'y') 261289599
('7', '1', '0', 'n', '}') 1813357175
('0', 'u', 'r', '_', '1') 7004842
能力值:
( LV3,RANK:30 )
10 楼
没有那么严重,rar加密算法目前没有公开的漏洞,之所以有破解工具,主要是弱密码问题(短密码,常用密码等等),如果你的电脑密码是1234,被入侵是很容易的
能力值:
( LV2,RANK:10 )
11 楼
MARK之,回去试试这款软件~ ~
能力值:
( LV5,RANK:70 )
12 楼
python跑出来效率怎么样
能力值:
( LV3,RANK:30 )
13 楼
5个可打印字节穷举出所有的crc32code,单线程,酷瑞i5
跑了12319秒,3个小时,code写的不是很好
import time
import rarfile
import binascii
rar = rarfile.RarFile('flag.rar')
infos = rar.infolist()
starttime = time.time()
printable_list = [chr(i) for i in range(32,127)]#""" abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-=~!@#$%^&*()_+][{}\|"':;/?.>,<"""
crc_list = [item.CRC for item in infos]
print crc_list
r={}
for t1 in printable_list:
for t2 in printable_list:
for t3 in printable_list:
for t4 in printable_list:
for t5 in printable_list:
guess=(t1,t2,t3,t4,t5)
crc32 = binascii.crc32("".join(guess))
crc32 &= 0xffffffff
if crc32 in crc_list:
if not crc32 in r:
r[crc32] = []
r[crc32].append(guess)
print guess, crc32
def print_result(guesses, determined = ""):
if len(guesses) < 1:
print determined
return
for guess in guesses[0]:
print_result(guesses[1:],determined+''.join(guess))
print_result([r[crc32] for crc32 in crc_list])
endtime = time.time()
print endtime-starttime
输出
[542226284, 1421868561, 3391792350L, 261289599, 7004842, 736203297, 1813357175] -0yB?ch3ck):1^x/{7^m,:.^%nf0m4+~loi -0yB?ch3ck):1^x/{7^m,:.^%nf0m4710n} -0yB?ch3ck):1^x/{7^m,:.^%r)ll +~loi -0yB?ch3ck):1^x/{7^m,:.^%r)ll 710n} -0yB?ch3ck):1^x/{7^m0ur_1nf0m4+~loi -0yB?ch3ck):1^x/{7^m0ur_1nf0m4710n} -0yB?ch3ck):1^x/{7^m0ur_1r)ll +~loi -0yB?ch3ck):1^x/{7^m0ur_1r)ll 710n} -0yB?ch3ck):1^x/{7^m}XO29nf0m4+~loi -0yB?ch3ck):1^x/{7^m}XO29nf0m4710n} -0yB?ch3ck):1^x/{7^m}XO29r)ll +~loi -0yB?ch3ck):1^x/{7^m}XO29r)ll 710n} -0yB?ch3ck):1^x34k_y,:.^%nf0m4+~loi -0yB?ch3ck):1^x34k_y,:.^%nf0m4710n} -0yB?ch3ck):1^x34k_y,:.^%r)ll +~loi -0yB?ch3ck):1^x34k_y,:.^%r)ll 710n} -0yB?ch3ck):1^x34k_y0ur_1nf0m4+~loi -0yB?ch3ck):1^x34k_y0ur_1nf0m4710n} -0yB?ch3ck):1^x34k_y0ur_1r)ll +~loi -0yB?ch3ck):1^x34k_y0ur_1r)ll 710n} -0yB?ch3ck):1^x34k_y}XO29nf0m4+~loi -0yB?ch3ck):1^x34k_y}XO29nf0m4710n} -0yB?ch3ck):1^x34k_y}XO29r)ll +~loi -0yB?ch3ck):1^x34k_y}XO29r)ll 710n} -0yB?ch3ck):1^x_GF[=,:.^%nf0m4+~loi -0yB?ch3ck):1^x_GF[=,:.^%nf0m4710n} -0yB?ch3ck):1^x_GF[=,:.^%r)ll +~loi -0yB?ch3ck):1^x_GF[=,:.^%r)ll 710n} -0yB?ch3ck):1^x_GF[=0ur_1nf0m4+~loi -0yB?ch3ck):1^x_GF[=0ur_1nf0m4710n} -0yB?ch3ck):1^x_GF[=0ur_1r)ll +~loi -0yB?ch3ck):1^x_GF[=0ur_1r)ll 710n} -0yB?ch3ck):1^x_GF[=}XO29nf0m4+~loi -0yB?ch3ck):1^x_GF[=}XO29nf0m4710n} -0yB?ch3ck):1^x_GF[=}XO29r)ll +~loi -0yB?ch3ck):1^x_GF[=}XO29r)ll 710n} -0yB?ch3ck5um_l/{7^m,:.^%nf0m4+~loi -0yB?ch3ck5um_l/{7^m,:.^%nf0m4710n} -0yB?ch3ck5um_l/{7^m,:.^%r)ll +~loi -0yB?ch3ck5um_l/{7^m,:.^%r)ll 710n} -0yB?ch3ck5um_l/{7^m0ur_1nf0m4+~loi -0yB?ch3ck5um_l/{7^m0ur_1nf0m4710n} -0yB?ch3ck5um_l/{7^m0ur_1r)ll +~loi -0yB?ch3ck5um_l/{7^m0ur_1r)ll 710n} -0yB?ch3ck5um_l/{7^m}XO29nf0m4+~loi -0yB?ch3ck5um_l/{7^m}XO29nf0m4710n} -0yB?ch3ck5um_l/{7^m}XO29r)ll +~loi -0yB?ch3ck5um_l/{7^m}XO29r)ll 710n} -0yB?ch3ck5um_l34k_y,:.^%nf0m4+~loi -0yB?ch3ck5um_l34k_y,:.^%nf0m4710n} -0yB?ch3ck5um_l34k_y,:.^%r)ll +~loi -0yB?ch3ck5um_l34k_y,:.^%r)ll 710n} -0yB?ch3ck5um_l34k_y0ur_1nf0m4+~loi -0yB?ch3ck5um_l34k_y0ur_1nf0m4710n} -0yB?ch3ck5um_l34k_y0ur_1r)ll +~loi -0yB?ch3ck5um_l34k_y0ur_1r)ll 710n} -0yB?ch3ck5um_l34k_y}XO29nf0m4+~loi -0yB?ch3ck5um_l34k_y}XO29nf0m4710n} -0yB?ch3ck5um_l34k_y}XO29r)ll +~loi -0yB?ch3ck5um_l34k_y}XO29r)ll 710n} -0yB?ch3ck5um_l_GF[=,:.^%nf0m4+~loi -0yB?ch3ck5um_l_GF[=,:.^%nf0m4710n} -0yB?ch3ck5um_l_GF[=,:.^%r)ll +~loi -0yB?ch3ck5um_l_GF[=,:.^%r)ll 710n} -0yB?ch3ck5um_l_GF[=0ur_1nf0m4+~loi -0yB?ch3ck5um_l_GF[=0ur_1nf0m4710n} -0yB?ch3ck5um_l_GF[=0ur_1r)ll +~loi -0yB?ch3ck5um_l_GF[=0ur_1r)ll 710n} -0yB?ch3ck5um_l_GF[=}XO29nf0m4+~loi -0yB?ch3ck5um_l_GF[=}XO29nf0m4710n} -0yB?ch3ck5um_l_GF[=}XO29r)ll +~loi -0yB?ch3ck5um_l_GF[=}XO29r)ll 710n} -0yB?ch3ckxXP2d/{7^m,:.^%nf0m4+~loi -0yB?ch3ckxXP2d/{7^m,:.^%nf0m4710n} -0yB?ch3ckxXP2d/{7^m,:.^%r)ll +~loi -0yB?ch3ckxXP2d/{7^m,:.^%r)ll 710n} -0yB?ch3ckxXP2d/{7^m0ur_1nf0m4+~loi -0yB?ch3ckxXP2d/{7^m0ur_1nf0m4710n} -0yB?ch3ckxXP2d/{7^m0ur_1r)ll +~loi -0yB?ch3ckxXP2d/{7^m0ur_1r)ll 710n} -0yB?ch3ckxXP2d/{7^m}XO29nf0m4+~loi -0yB?ch3ckxXP2d/{7^m}XO29nf0m4710n} -0yB?ch3ckxXP2d/{7^m}XO29r)ll +~loi -0yB?ch3ckxXP2d/{7^m}XO29r)ll 710n} -0yB?ch3ckxXP2d34k_y,:.^%nf0m4+~loi -0yB?ch3ckxXP2d34k_y,:.^%nf0m4710n} -0yB?ch3ckxXP2d34k_y,:.^%r)ll +~loi -0yB?ch3ckxXP2d34k_y,:.^%r)ll 710n} -0yB?ch3ckxXP2d34k_y0ur_1nf0m4+~loi -0yB?ch3ckxXP2d34k_y0ur_1nf0m4710n} -0yB?ch3ckxXP2d34k_y0ur_1r)ll +~loi -0yB?ch3ckxXP2d34k_y0ur_1r)ll 710n} -0yB?ch3ckxXP2d34k_y}XO29nf0m4+~loi -0yB?ch3ckxXP2d34k_y}XO29nf0m4710n} -0yB?ch3ckxXP2d34k_y}XO29r)ll +~loi -0yB?ch3ckxXP2d34k_y}XO29r)ll 710n} -0yB?ch3ckxXP2d_GF[=,:.^%nf0m4+~loi -0yB?ch3ckxXP2d_GF[=,:.^%nf0m4710n} -0yB?ch3ckxXP2d_GF[=,:.^%r)ll +~loi -0yB?ch3ckxXP2d_GF[=,:.^%r)ll 710n} -0yB?ch3ckxXP2d_GF[=0ur_1nf0m4+~loi -0yB?ch3ckxXP2d_GF[=0ur_1nf0m4710n} -0yB?ch3ckxXP2d_GF[=0ur_1r)ll +~loi -0yB?ch3ckxXP2d_GF[=0ur_1r)ll 710n} -0yB?ch3ckxXP2d_GF[=}XO29nf0m4+~loi -0yB?ch3ckxXP2d_GF[=}XO29nf0m4710n} -0yB?ch3ckxXP2d_GF[=}XO29r)ll +~loi -0yB?ch3ckxXP2d_GF[=}XO29r)ll 710n} ACTF{ch3ck):1^x/{7^m,:.^%nf0m4+~loi ACTF{ch3ck):1^x/{7^m,:.^%nf0m4710n} ACTF{ch3ck):1^x/{7^m,:.^%r)ll +~loi ACTF{ch3ck):1^x/{7^m,:.^%r)ll 710n} ACTF{ch3ck):1^x/{7^m0ur_1nf0m4+~loi ACTF{ch3ck):1^x/{7^m0ur_1nf0m4710n} ACTF{ch3ck):1^x/{7^m0ur_1r)ll +~loi ACTF{ch3ck):1^x/{7^m0ur_1r)ll 710n} ACTF{ch3ck):1^x/{7^m}XO29nf0m4+~loi ACTF{ch3ck):1^x/{7^m}XO29nf0m4710n} ACTF{ch3ck):1^x/{7^m}XO29r)ll +~loi ACTF{ch3ck):1^x/{7^m}XO29r)ll 710n} ACTF{ch3ck):1^x34k_y,:.^%nf0m4+~loi ACTF{ch3ck):1^x34k_y,:.^%nf0m4710n} ACTF{ch3ck):1^x34k_y,:.^%r)ll +~loi ACTF{ch3ck):1^x34k_y,:.^%r)ll 710n} ACTF{ch3ck):1^x34k_y0ur_1nf0m4+~loi ACTF{ch3ck):1^x34k_y0ur_1nf0m4710n} ACTF{ch3ck):1^x34k_y0ur_1r)ll +~loi ACTF{ch3ck):1^x34k_y0ur_1r)ll 710n} ACTF{ch3ck):1^x34k_y}XO29nf0m4+~loi ACTF{ch3ck):1^x34k_y}XO29nf0m4710n} ACTF{ch3ck):1^x34k_y}XO29r)ll +~loi ACTF{ch3ck):1^x34k_y}XO29r)ll 710n} ACTF{ch3ck):1^x_GF[=,:.^%nf0m4+~loi ACTF{ch3ck):1^x_GF[=,:.^%nf0m4710n} ACTF{ch3ck):1^x_GF[=,:.^%r)ll +~loi ACTF{ch3ck):1^x_GF[=,:.^%r)ll 710n} ACTF{ch3ck):1^x_GF[=0ur_1nf0m4+~loi ACTF{ch3ck):1^x_GF[=0ur_1nf0m4710n} ACTF{ch3ck):1^x_GF[=0ur_1r)ll +~loi ACTF{ch3ck):1^x_GF[=0ur_1r)ll 710n} ACTF{ch3ck):1^x_GF[=}XO29nf0m4+~loi ACTF{ch3ck):1^x_GF[=}XO29nf0m4710n} ACTF{ch3ck):1^x_GF[=}XO29r)ll +~loi ACTF{ch3ck):1^x_GF[=}XO29r)ll 710n} ACTF{ch3ck5um_l/{7^m,:.^%nf0m4+~loi ACTF{ch3ck5um_l/{7^m,:.^%nf0m4710n} ACTF{ch3ck5um_l/{7^m,:.^%r)ll +~loi ACTF{ch3ck5um_l/{7^m,:.^%r)ll 710n} ACTF{ch3ck5um_l/{7^m0ur_1nf0m4+~loi ACTF{ch3ck5um_l/{7^m0ur_1nf0m4710n} ACTF{ch3ck5um_l/{7^m0ur_1r)ll +~loi ACTF{ch3ck5um_l/{7^m0ur_1r)ll 710n} ACTF{ch3ck5um_l/{7^m}XO29nf0m4+~loi ACTF{ch3ck5um_l/{7^m}XO29nf0m4710n} ACTF{ch3ck5um_l/{7^m}XO29r)ll +~loi ACTF{ch3ck5um_l/{7^m}XO29r)ll 710n} ACTF{ch3ck5um_l34k_y,:.^%nf0m4+~loi ACTF{ch3ck5um_l34k_y,:.^%nf0m4710n} ACTF{ch3ck5um_l34k_y,:.^%r)ll +~loi ACTF{ch3ck5um_l34k_y,:.^%r)ll 710n} ACTF{ch3ck5um_l34k_y0ur_1nf0m4+~loi ACTF{ch3ck5um_l34k_y0ur_1nf0m4710n} ACTF{ch3ck5um_l34k_y0ur_1r)ll +~loi ACTF{ch3ck5um_l34k_y0ur_1r)ll 710n} ACTF{ch3ck5um_l34k_y}XO29nf0m4+~loi ACTF{ch3ck5um_l34k_y}XO29nf0m4710n} ACTF{ch3ck5um_l34k_y}XO29r)ll +~loi ACTF{ch3ck5um_l34k_y}XO29r)ll 710n} ACTF{ch3ck5um_l_GF[=,:.^%nf0m4+~loi ACTF{ch3ck5um_l_GF[=,:.^%nf0m4710n} ACTF{ch3ck5um_l_GF[=,:.^%r)ll +~loi ACTF{ch3ck5um_l_GF[=,:.^%r)ll 710n} ACTF{ch3ck5um_l_GF[=0ur_1nf0m4+~loi ACTF{ch3ck5um_l_GF[=0ur_1nf0m4710n} ACTF{ch3ck5um_l_GF[=0ur_1r)ll +~loi ACTF{ch3ck5um_l_GF[=0ur_1r)ll 710n} ACTF{ch3ck5um_l_GF[=}XO29nf0m4+~loi ACTF{ch3ck5um_l_GF[=}XO29nf0m4710n} ACTF{ch3ck5um_l_GF[=}XO29r)ll +~loi ACTF{ch3ck5um_l_GF[=}XO29r)ll 710n} ACTF{ch3ckxXP2d/{7^m,:.^%nf0m4+~loi ACTF{ch3ckxXP2d/{7^m,:.^%nf0m4710n} ACTF{ch3ckxXP2d/{7^m,:.^%r)ll +~loi ACTF{ch3ckxXP2d/{7^m,:.^%r)ll 710n} ACTF{ch3ckxXP2d/{7^m0ur_1nf0m4+~loi ACTF{ch3ckxXP2d/{7^m0ur_1nf0m4710n} ACTF{ch3ckxXP2d/{7^m0ur_1r)ll +~loi ACTF{ch3ckxXP2d/{7^m0ur_1r)ll 710n} ACTF{ch3ckxXP2d/{7^m}XO29nf0m4+~loi ACTF{ch3ckxXP2d/{7^m}XO29nf0m4710n} ACTF{ch3ckxXP2d/{7^m}XO29r)ll +~loi ACTF{ch3ckxXP2d/{7^m}XO29r)ll 710n} ACTF{ch3ckxXP2d34k_y,:.^%nf0m4+~loi ACTF{ch3ckxXP2d34k_y,:.^%nf0m4710n} ACTF{ch3ckxXP2d34k_y,:.^%r)ll +~loi ACTF{ch3ckxXP2d34k_y,:.^%r)ll 710n} ACTF{ch3ckxXP2d34k_y0ur_1nf0m4+~loi ACTF{ch3ckxXP2d34k_y0ur_1nf0m4710n} ACTF{ch3ckxXP2d34k_y0ur_1r)ll +~loi ACTF{ch3ckxXP2d34k_y0ur_1r)ll 710n} ACTF{ch3ckxXP2d34k_y}XO29nf0m4+~loi ACTF{ch3ckxXP2d34k_y}XO29nf0m4710n} ACTF{ch3ckxXP2d34k_y}XO29r)ll +~loi ACTF{ch3ckxXP2d34k_y}XO29r)ll 710n} ACTF{ch3ckxXP2d_GF[=,:.^%nf0m4+~loi ACTF{ch3ckxXP2d_GF[=,:.^%nf0m4710n} ACTF{ch3ckxXP2d_GF[=,:.^%r)ll +~loi ACTF{ch3ckxXP2d_GF[=,:.^%r)ll 710n} ACTF{ch3ckxXP2d_GF[=0ur_1nf0m4+~loi ACTF{ch3ckxXP2d_GF[=0ur_1nf0m4710n} ACTF{ch3ckxXP2d_GF[=0ur_1r)ll +~loi ACTF{ch3ckxXP2d_GF[=0ur_1r)ll 710n} ACTF{ch3ckxXP2d_GF[=}XO29nf0m4+~loi ACTF{ch3ckxXP2d_GF[=}XO29nf0m4710n} ACTF{ch3ckxXP2d_GF[=}XO29r)ll +~loi ACTF{ch3ckxXP2d_GF[=}XO29r)ll 710n} 12319.6670001
答案应该是ACTF{ch3ck5um_l34k_y0ur_1nf0m4710n} ->checksum leak your information.(1nf0m4710n?)
能力值:
( LV3,RANK:30 )
14 楼
刚找到http://www.2cto.com/Article/201404/292143.html,
难怪“writeup”.......
能力值:
( LV2,RANK:10 )
15 楼
为什么要&=0xffffffff?python这个binascii的crc32算法有问题还是?
能力值:
( LV5,RANK:70 )
16 楼
负数所以要取反
能力值:
( LV3,RANK:30 )
17 楼
binascii.crc32返回的是有符号整数,有可能是负数....而rarfile模块解析rar文件时提取出的crc是无符号数.....发现这个问题花了我大半天
能力值:
( LV2,RANK:10 )
18 楼
原来这个CRC是明文的CRC啊
能力值:
( LV3,RANK:20 )
19 楼
我这里有一个好压123软件的压缩程序 被设了密码 解不开了
而能解这个密码的软件 即你破文中提到的软件 现在也下载不到哇
能否上传一个原软件和注册机
还有,好些的术语不明白。什么是flag 什么是actf 你找到的那个actf的帖子里,更是梦话连篇。
能力值:
( LV3,RANK:20 )
20 楼
请问,你破解的是2.0版本的么?
能力值:
( LV3,RANK:20 )
21 楼
这个链接里的文章看得我头疼,好多的不懂,术语太多了。
writeup 什么意思?
能力值:
( LV3,RANK:20 )
22 楼
RAR Password Recovery Professional 的keycode是多少?