您尚未登录。

楼主 # 2024-07-17 12:41:15

aldfaaa
会员
所在地: 广东佛山
注册时间: 2022-06-28
已发帖子: 6
积分: 126

硬核解决全志Melis系统只有LZMA解压缩的问题[工具自制]

(原作者转载:AWOL)
如题,
* 端侧仅提供一系列(13年前纯酿的)LZMA解压缩方法:
a

衍生的问题有:

  • 在端侧以外的缺乏工具对一些资源文件进行压缩, 无法很好地利用端侧现有解压API;

  • Melis里的一些已执行LZMA压缩的资源文件无法在端侧以外解压缩, 导致一些系统逻辑不好理解吃透.

解决

了解到LZMA其实系7z里用到的算法, 具体就不展开讨论; 以Melis引用的头文件作为线索, 遂在github找到分离的库源码:
LzmaLib

b

经过数天魔改代码与验证, 实锤了上述库可用;  于是, 我把缺失的压缩打包方法以及解压方法整合成了在win下可用的工具:

$ ./aw_lzma.exe
aw_lzma (method) (args)
1:convert png to yuyv. aw_lzma 1 xx.png => xx.yuyv
2:convert png to opa. aw_lzma 2 xx.png => xx.bgd
3:decompress bgd to fb_file_header and yuyv data.aw_lzma 3 xx.bgd => xx.bin
4:test compress and decompress.aw_lzma 4 xx.png
Author:YE 1004707812@qq.com

建议配合rawviewer和winhex工具一起服用.
c

(解压出了开机画面资源图stalogo1.bin)
工具代码整理后开源, 祝Melis开源之火不灭.

## 工具
aw_lzma_YE.zip

离线

楼主 #1 2024-07-17 12:50:45

aldfaaa
会员
所在地: 广东佛山
注册时间: 2022-06-28
已发帖子: 6
积分: 126

Re: 硬核解决全志Melis系统只有LZMA解压缩的问题[工具自制]

发现melis里的解压缩过程的解析压缩参数方法里跟lzma官方不一致;需要修改melis原始的解压缩方法
实际留了5个参数字节只用了前4个....这样会导致某些较大的压缩包解压时出现错误(返回1)
线索:
a
坑点:
b

离线

楼主 #2 2024-07-17 13:21:39

aldfaaa
会员
所在地: 广东佛山
注册时间: 2022-06-28
已发帖子: 6
积分: 126

Re: 硬核解决全志Melis系统只有LZMA解压缩的问题[工具自制]

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn