我得到了压缩的数据,但我找不到压缩算法。数据是我知道布局的更大文件的一部分,所以我设法找出了一些东西。我知道的:
- 我没有加载数据的二进制可执行文件,我只有不再支持旧压缩算法的更新版本。我用很多方法折磨它,它只是不包含相应的代码
- 它被压缩了(100% 确定)
- 它可以自制,因为后来更换了(见下文)
- 到目前为止没有神奇的数字
- 这并不简单:
- deflate(错误的标题)
- lzma(错误的标题)
- gzip(错误的标题)
- Quantum(错误的标题)
- Microsoft CAB(错误的标题)
- Bzip2(错误的标题)
- 邮编(错误的标题)
- 包含数据的文件中给出了未压缩的大小,该文件布局完全相反,不包含任何线索
- 它可能已加密,但由于速度要求不太可能
- 如果它是加密的,它会在序列开头给定相同的数据输入时给出相同的输出(通过猜测位于附近的一些未压缩数据)
- 它是从 2001 年开始的,从那以后就被 deflate 取代了
- 其中一些数据只输出 ASCII 而没有其他内容(我从容器文件的布局中知道)并且每次的压缩率约为 0.30(compressedSize/uncompressedSize)
- 遗憾的是,我没有任何之前/之后的数据
编辑:十六进制有 32 个第一个字节:b9daed36cb64bedb61b9dd2cb72afd8ee565b0dd2ea00f0afda2c36eb25b0016
我制作了其中几个数据的直方图,它们都匹配特定的模式。显然 2 的幂正在发生一些事情,但我看不出是什么。
任何人都知道它可能是什么?我可以做些什么来收集更多信息?它看起来是基于 Lempel-Ziv 吗?如果是,我怎么能扭转它?