有个 AES-128-cbc 加密的文件,内有一个 key 文件,不知能否解出来?谢谢。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
sunnyzhi
V2EX    程序员

有个 AES-128-cbc 加密的文件,内有一个 key 文件,不知能否解出来?谢谢。

  •  
  •   sunnyzhi 2017-03-02 23:29:42 +08:00 10934 次点击
    这是一个创建于 3217 天前的主题,其中的信息可能已经有所发展或是发生改变。
    文件包的 VASR02032853.properties 文件内有一个 96 位 16 进制的 key ,这个 key 的文件信息是否足够解密这些切片文件呢?
    key 的内容如下:
    #keys
    #Thu Mar 02 22:12:41 GMT+08:00 2017

    25=C4ADEF542005E68022B4BD1827291177EA10CF028C15D6497CD4647728F33CD0191EEF9F6924AF0A4596ACA323A73E6F



    文件在这里: http://pan.baidu.com/s/1cw3P2Q

    因为之前解过的文件 AES-128-CBC 的 key 是 32 位的,有 key 和 iv 就可以使用 openssl 解出来,但遇上这个 96 位的 key 就不懂了。
    谢谢!
    16 条回复    2021-04-12 18:45:32 +08:00
    nilai
        1
    nilai  
       2017-03-03 09:37:50 +08:00
    AES-128 对应的 KEY 是 16 位
    AES-192 对应的 KEY 是 24 位
    AES-256 对应的 KEY 是 32 位

    CBC 模式下 是需要 IV 的
    ljysgpp
        2
    ljysgpp  
       2017-03-03 09:49:17 +08:00
    您好,可以请教您一个问题吗?我看到您在另一个帖子里说可以 hexdump 工具 dump 出 key ,是指查看这个 key 文件的十六进制的数值吗?
    zhujian198
        3
    zhujian198  
       2017-03-03 11:12:36 +08:00
    如果破解者有你的程序就比较容易了,即解密“ AES-128-cbc 加密的文件”的程序。只发这个“ AES-128-cbc 加密的文件” 文件是很难破解的。
    sunnyzhi
        4
    sunnyzhi  
    OP
       2017-03-03 11:35:09 +08:00
    @ljysgpp ,是的,通过 hexdump 查看 key 文件的 16 进制数值。(hexdump -v -e '16/1 "%02x"' key)


    @zhujian198 是的,我也在想是不是文件夹的信息不足够解密。可能有部份加密的信息是在客户端里。



    app 在这里: http://pan.baidu.com/s/1slyHfEP
    (安桌版本,需要脸书帐号登录)

    是一个音乐 app ,下载无损音乐后会在 content 的文件夹生成对应每只歌曲的文件夹。我目的是想把内容解密出来拷到其他播放器听。
    ljysgpp
        5
    ljysgpp  
       2017-03-03 16:31:38 +08:00
    @sunnyzhi 我看了您之前的 VAWM02024516-HD.key , hexdump 显示是一个 16 个字节的密钥,我下载下来用您说的方法测试是可以解密的。可是我现在手里有一个 m3u8 ,加密方式是 AES-128 ,下载的 key 用 hexdump 显示是一个 32 个字节的密钥,不知道是为什么了...
    sunnyzhi
        6
    sunnyzhi  
    OP
       2017-03-03 16:57:42 +08:00
    @ljysgpp
    你的 m3u8 里的 “#EXT-X-KEY ”这一行是不是显示"METHOD=AES-128"? 如果 key 是 32 位的有可能是"AES-256"加密的。
    ljysgpp
        7
    ljysgpp  
       2017-03-03 18:13:25 +08:00
    @sunnyzhi 是写的 AES-128 ,但是 key 是 32 位,所以感觉很奇怪
    sunnyzhi
        8
    sunnyzhi  
    OP
       2017-03-04 15:54:20 +08:00
    今天用 fiddler 抓包,发现了一个 32 位的 contentkey ,但仍是解不开。不知这个 content key 的作用。

    VASR02032852 的 contenkey
    ","contentKey":"06AC04970F0404443FFB9F3C41606338
    ocw
        9
    ocw  
       2017-03-09 22:35:24 +08:00
    @sunnyzhi 你好,我在你之前的回复看到你好像解析成功了,我解析的时候 openssl 总是显示 hex string is too long
    invalid hex iv value ,这是我的解析代码
    C:\OpenSSL-Win32\bin>openssl aes-128-cbc -d -in new_0.ts -out media_decryptd_0.ts
    -nosalt -iv 0x00000000000000000000000000000001 -K e8599247ff3327aced6402ddf78a577e ,
    能不能说下你 oepnssl 具体是怎么配置的,我用的是 openssl win32 ,官网还有个 openssl-1.1.0e ,是要用哪一个
    ocw
        10
    ocw  
       2017-03-09 22:36:46 +08:00
    另外你之前的那个音乐的其实直接用 potplayer 直接就能自动解析播放
    ocw
        11
    ocw  
       2017-03-09 22:53:48 +08:00
    huaderui
        12
    huaderui  
       2017-03-11 19:35:28 +08:00
    你解密视频的 ts 文件是怎么批量解密的。
    sunnyzhi
        13
    sunnyzhi  
    OP
       2017-03-14 22:31:36 +08:00   1
    @ocw, iv 值是 32 位的,开头两位“ 0X ”不要。
    openssl aes-128-cbc -d -in new_0.ts -out media_decryptd_0.ts
    -nosalt -iv 00000000000000000000000000000001 -K e8599247ff3327aced6402ddf78a577e


    近期比较忙,有空再折腾这个东西,不过我估计有些流媒体有 DRM 保护,基本是没办法解出来的。
    ocw
        14
    ocw  
       2017-03-16 00:20:36 +08:00
    我的 ok 了, moov 网页版你试试看,老方法成功破解
    Subdue
        15
    Subdue  
       2020-08-21 18:41:38 +08:00
    17 年的问题,20 年给个说法,aes-128-cbc 模式下要 16 位的 key 和 iv,这个 16 位指的是 16 位字节串,而不是 16 进制字符串,这个非常重要,一般 m3u8 有给 32 位的 16 进制字符串,通过 linux 命令 openssl -iv -K 参数可以直接指定 32 位的 16 进制字符串,不过 python,java 或者是其他的代码里面是不能直接指定 32 位的 16 进制字符串,所谓的 16 位 key 和 iv,恰恰是 32 位的 16 进制字符串的 16 位字节串表示,也就是 32 位 16 进制字符串==16 位字节串,网络有很多关于 m3u8 解密的文章,但是他们采取的做法都是把 32 位的 16 进制字符串直接截取前面一半作为 key 和 iv,我就想不懂,这怎么能解密 m3u8 视频,没有看到一篇文章是讲讲转换的事的,AES-128-cbc 对应的是 key 是 16 位的***字节串***,如果得到的 key 长度对不上,肯定是做了其他处理的
    iOSyongqian
        16
    iOSyongqian  
       2021-04-12 18:45:32 +08:00
    @Subdue 我最近就是在一个 AES-128 的 m3u 文件中得到一个 32 字节大小的 key 文件,但是 AES.py 源文件中有提示
    It must be 16 (*AES-128*), 24 (*AES-192*), or 32 (*AES-256*) bytes long.
    因此也觉得很诡异
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     916 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 22:04 PVG 06:04 LAX 14:04 JFK 17:04
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86