dawangyezi 最近的时间轴更新
dawangyezi

dawangyezi

V2EX 第 513180 号会员,加入于 2020-10-17 12:01:51 +08:00
今日活跃度排名 8528
dawangyezi 最近回复了
什么类型的项目
对公的写详细一点。个人拥有的项目只写最关键的一些提示信息,别让自己忘了当时为啥这么做就行了
windows 自带的有上传文件大小限制。你可以用第三方的比如 winscp 这种软件
我也 33 岁,没工作一年了。就是一直在找工作,但是面试了很多都没有下文。
感觉国内程序员这个路算是走到头了。
127 天前
回复了 floridaYY 创建的主题 深圳 外地人身份证过期几个月了必须回老家吗
在粤省事中申请一下换新就行。
政府合作的项目,可以用社保购买。可以买上
我是怎么发现可以修改 decompress_lzma 来达到目的的。
1. 首先我通过命令行工具 lzma 来压缩(命令为:lzma -z a)了一个普通的文本文件 a ,它会生成一个 a.lzma 文件。
2. 通过 xxd ( hexdump 工具)我发现 a.lzma 文件的结构非常简单,一个表头表示压缩算法信息,然后紧接着就是内容区域。表头刚好就是 unitypy 中指定的 0x5d 0x00 0x00 0x80 0x00 。我又打印了 descomporess_lzma 函数参数的数据长度,和标准 lzma 算法生成的数据长度吻合。这说明只要把 decompress_lzma 的入口参数写入文件就是一个标准的 lzma 文件
3. 我使用 lzma 工具 (命令为:lzma -d a.lzma) 可以正常解压测试数据导出的文件。这说明是 decompress_lzma 实现的有问题。
4. 我通过 python 标准库的标准 lzma.open 可以打开并解压第 2 步生成的文件。这再此验证 lzma 库没有问题,是使用上的问题。
5. 综上,我推断只要将 lzma.LZMADecompressor 的参数改为默认的自动,就可以正常解压数据。实验验证猜想正确。
将 unitypy 库中 CompressionHelper.py 中 decompress_lzma 函数修改为:
```python
def decompress_lzma(data: bytes) -> bytes:
return lzma.LZMADecompressor(format=lzma.FORMAT_AUTO).decompress(data)
```
针对你给出的资源,我发现只要让 lzma 去推断算法就好了
让 lzma 自己去推断,不要去指定算法。关于算法推断过程因为在 C 代码中,我没有去具体调试。
挺好玩儿
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1014 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 21:28 · PVG 05:28 · LAX 13:28 · JFK 16:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.