CRC32碰撞工具
i-info / / CTF | tools / 阅读量 47
CRC32碰撞用于绕过压缩包密码获取内部文本信息。内部文件必须为小文件(<10B)

一、无脑for枚举法

实测,大于4B的文件python运算效率极低。。 语言:python2

#coding:utf-8
import zipfile
import string
import binascii

def CrackCrc(crc):
    for i in dic :
        for j in dic:
            for p in dic:
                for q in dic:
                    for m in dic:
                        for n in dic:
                        #文件大小为6B的6重循环
                            s=i+j+p+q+m+n
                            if crc == (binascii.crc32(s) & 0xffffffff):
                                print s     
                                #return

def CrackZip(): 
    for I in range(2,3):
        file = 'crc.zip'
        f = zipfile.ZipFile(file, 'r')
        GetCrc = f.getinfo('crc/ad71bf43131c4b3fa27066a3b408f843/'+str(I)+'.txt')
        crc = GetCrc.CRC
        #以上3行为获取压缩包CRC32值的步骤
        CrackCrc(crc)

dic = string.digits+string.ascii_letters+"+="
CrackZip()

二、GitHub上的开源CRC32工具

GitHub: theonlypwner/crc32 语言:Python3 使用方法: python3 crc32.py reverse <CRC32数值(前面加上0x)>
支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章