标签: lzma

逆向工程:如何识别未知的压缩方法?

我和一群试图逆向工程并修改蓝光播放器的模组.我们陷入困境,因为固件代码似乎被压缩了,解压缩代码无处可寻.据推测,解压缩由硬件处理.

我的问题是,只有压缩输出,我们如何确定使用什么类型的压缩算法?我们设法找到一个重复的字符串,可能编码重复数据.

压缩的0x00字节以0x00 0x15开头,然后是重复序列(F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D)并在结束时变化.

http://hej456.com/forum/viewtopic.php?t=832

我们的文档和工作都在上面的主题中.固件二进制文件位于上面的线程中.

compression reverse-engineering lzh lzma lzo

6
推荐指数
1
解决办法
2437
查看次数

如何在Flash Player 11中启用LZMA压缩?

如在Flash Player 11的发行说明中所述,开发人员添加了LZMA压缩支持.

问题是如何才能实现这种支持?也许有一个mxmlc选项?还是更多步骤?

简单地-swf-version=13在sdk中设置和切换playerglobal.swc并不适合我.

apache-flex flash lzma

6
推荐指数
1
解决办法
2879
查看次数

在标准ZIP中使用哪种算法?

有google搜索,wikied和阅读ZIP的RFC,但找不到有关ZIP中使用的确切算法的任何信息.

我找到了有关ZIP == TAR + GZIP的信息

但是,我对此信息感到困惑.

因为我记得GZIP使用LZW算法,而TAR使用LZMA,我无法想象ZIP == TAR + GZIP(LZMA + LZW - ???)

那么你可以帮助找到ZIP的算法,我想实现它.

zip gzip tar lzma lzw

6
推荐指数
2
解决办法
9702
查看次数

Python 2.7:使用“ lzma”模块以XZ格式压缩数据

我正在使用Python 2.7.6中的lzma模块进行实验,以查看是否可以为将来的项目使用XZ格式创建压缩文件。我在实验期间使用的代码是:

import lzma as xz

in_file = open('/home/ki2ne/Desktop/song.wav', 'rb')
input_data = in_file.read()

compressed_data = xz.compress(input_data)
out_file = open('/home/ki2ne/Desktop/song.wav.xz', 'wb')
in_file.close()
out_file.close()
Run Code Online (Sandbox Code Playgroud)

与使用普通xz时相比,我注意到生成的文件中有两个不同的校验和(MD5和SHA256)(尽管我可以用两种方法解压缩-两个文件的解压缩版本的校验和都相同)。这会是个问题吗?

更新:我找到了一个修复程序,方法是通过peterjc的Git存储库(从此处链接)安装backport(来自Python 3.3 ),现在它显示的校验和相同。不确定是否有帮助,但是我确保未安装存储库中的LZMA Python模块,以避免可能的名称冲突。

这是我的测试代码以确认这一点:

# I have created two identical text files with some random phrases

from subprocess import call
from hashlib import sha256
from backports import lzma as xz

f2 = open("test2.txt" , 'rb')
f2_buf = buffer(f2.read())
call(["xz", "test1.txt"])

f2_xzbuf = buffer(xz.compress(f2_buf))
f1 = open("test1.txt.xz", 'rb')
f1_xzbuf = buffer(f1.read())

f1.close(); f2.close()

f1sum …
Run Code Online (Sandbox Code Playgroud)

python checksum lzma xz

6
推荐指数
1
解决办法
1万
查看次数

有没有LZMA的纯PHP实现

所以我正在构建一个网络应用程序来解压缩 LZMA 压缩的 CSV 文件,然后让用户编辑它,保存时它将被重新压缩。

我有使用 7-Zip LZMA SDK 在 C# 中压缩/解压缩的代码,但根据我的托管计划,我无法使用 exec() 来调用 exe。

有没有我可以使用的 LZMA 纯 php 实现?或者如果没有,有什么办法可以将 C# 代码转换为 php 代码吗?

php shared-hosting lzma

6
推荐指数
0
解决办法
785
查看次数

Python LZMA:压缩数据在到达流结束标记之前结束

我正在使用内置的 lzma python 来解码压缩的数据块。根据数据块,我得到以下异常:

Compressed data ended before the end-of-stream marker was reached
Run Code Online (Sandbox Code Playgroud)

数据未损坏。用其他工具可以正确解压,所以肯定是库的bug。还有其他人遇到同样的问题:

不幸的是,似乎还没有人找到解决方案。至少,它可以在 Python 3.5 上运行。

我怎么解决这个问题?有什么解决办法吗?

python lzma python-3.x

6
推荐指数
1
解决办法
5088
查看次数

解压缩并阅读Dukascopy .bi5刻度文件

我需要打开一个.bi5文件并阅读内容以简短地讲述一个长篇故事.问题:我有成千上万的.bi5文件包含我需要解压缩和处理的时间序列数据(读取,转储到pandas中).

我最终专门为lzma库安装了Python 3(我通常使用2.7),因为我使用lzmaPython 2.7 的后端程序来编译恶梦,所以我承认并使用Python 3运行,但没有成功.问题太多,无法透露,没有人读长问题!

我已经包含了其中一个.bi5文件,如果有人能够将它变成Pandas Dataframe并告诉我他们是如何做到的,那将是理想的.

ps fie只有几kb,它会在一秒内下载.首先十分感谢.

(文件) http://www.filedropper.com/13hticks

python csv binary lzma pandas

6
推荐指数
1
解决办法
2625
查看次数

在python中逐行迭代一个大的.xz文件

我有一个很大的 .xz 文件(几 GB)。它充满了纯文本。我想处理文本以创建自定义数据集。我想一行一行地阅读它,因为它太大了。有人知道怎么做吗?

我已经尝试过 如何在内存中打开和读取 LZMA 文件,但它不起作用。

编辑:我收到此错误“ascii”编解码器无法解码位置 0 中的字节 0xfd:序号不在范围内(128)

for line in uncompressed:从链接就行

EDIT2:我的代码(使用 python 3.5)

with open(filename) as compressed:
with lzma.LZMAFile(compressed) as uncompressed:
    for line in uncompressed:
        print(line)
Run Code Online (Sandbox Code Playgroud)

python lzma xz

6
推荐指数
1
解决办法
2147
查看次数

从 .yml 文件创建环境时出现问题,引发错误“CondaEnvException: Pip failed”

我正在尝试基于 .yml 文件创建一个环境,文件名是env.yml. 我在终端上运行以下代码片段:

conda env create -f env.yml
Run Code Online (Sandbox Code Playgroud)

然后 anaconda 开始安装 .yml 文件中列出的所有包,直到它安装到使用 pip 安装的包。它引发以下错误:

Ran pip subprocess with arguments:
['/Users/danielribeiro/opt/anaconda3/envs/lz_env/bin/python', '-m', 'pip', 'install', '-U', '-r', '/Users/danielribeiro/opt/Python/condaenv.80zhk806.requirements.txt']
Pip subprocess output:
Collecting backports-lzma==0.0.13 (from -r /Users/danielribeiro/opt/Python/condaenv.80zhk806.requirements.txt (line 1))

Pip subprocess error:
  Could not find a version that satisfies the requirement backports-lzma==0.0.13 (from -r /Users/danielribeiro/opt/Python/condaenv.80zhk806.requirements.txt (line 1)) (from versions: )
No matching distribution found for backports-lzma==0.0.13 (from -r /Users/danielribeiro/opt/Python/condaenv.80zhk806.requirements.txt (line 1))


CondaEnvException: Pip failed
Run Code Online (Sandbox Code Playgroud)

我不确定为什么没有安装包 backport-lzma==0.0.13。我也尝试手动安装它

python lzma python-2.7 python-3.x

6
推荐指数
1
解决办法
7159
查看次数

C++ Boost 和 Lzma 解压缩

我正在尝试使用解压缩 .7z(或 .xz 或 .lzma)文件

  • Linux 平台上的 boost 库 1.67.0

使用以下代码:

    vector<T> readFromCompressedFile(string input_file_path, string output_file_path)
    {
    namespace io = boost::iostreams;

    stringstream strstream;

    ifstream file(input_file_path.c_str(), ios_base::in | ios_base::binary);
    ofstream out(output_file_path, ios_base::out | ios_base::binary);

    boost::iostreams::filtering_istream in;
    in.push(io::lzma_decompressor());
    in.push(file);

    io::copy(in, out);

    cout<<strstream.str()<<endl;
Run Code Online (Sandbox Code Playgroud)

代码可以编译,但我收到复制方法引发的运行时异常(lzma_error)

warning: GDB: Failed to set controlling terminal: Operation not permitted
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::iostreams::lzma_error> >'
  what():  lzma error: iostream error
Run Code Online (Sandbox Code Playgroud)

我尝试使用filtering_streambuf过滤器,但没有成功,该过滤器的代码块与gzip示例的代码非常相似

https://www.boost.org/doc/libs/1_67_0/libs/iostreams/doc/classes/gzip.html#examples

不过,我可以使用 gzip 和上述代码来解压缩使用 gzip 压缩的文件。看来这个问题仅限于LZMA算法。

有人有同样的问题吗?有任何想法吗?

谢谢

c++ compression boost lzma

5
推荐指数
2
解决办法
2904
查看次数