你好,我一直在尝试使用lzma压缩来提取以下音频文件(wav)
使用unxz、xzcat、lzma、unlzma、lzcat和其他东西,但它不是被检测为有效,就是解压缩后返回一个0kb文件。
https://drive.google.com/file/d/1KImPQsDOqOYY3DoY_ZuAZA4yP2wNbeH8/view?usp=sharing
你有什么主意怎么做吗?
发布于 2022-10-07 19:09:45
在文件上运行binwalk
显示LZMA部件从偏移量32开始:
$ binwalk sound.wav.lzma
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
32 0x20 LZMA compressed data, properties: 0x5D, dictionary size: 33554432 bytes, uncompressed size: 700476 bytes
因此,让我们跳过前32个字节并在其上运行unlzma -d
:
$ dd if=sound.wav.lzma bs=1 skip=32 | unlzma -d > sound.wav
unlzma: (stdin): Compressed data is corrupt
$ wc -c sound.wav
700476 sound.wav
我们可以看到LZMA数据已经损坏,但我们仍然能够提取与binwalk
报告的相同大小的数据。
生成的sound.wav
文件是一个有效的wav文件3秒wav文件,可以听到没有任何问题。
因此,即使您的文件是奇怪的,并可能已损坏,我们能够从它提取一个有效的wav文件。你一开始是怎么拿到那份文件的?
https://stackoverflow.com/questions/73966878
复制相似问题