硬核解决全志Melis系统只有LZMA解压缩的问题[工具自制]
-
如题,
-
端侧仅提供一系列(13年前纯酿的)LZMA解压缩方法:
衍生的问题有: -
在端侧以外的缺乏工具对一些资源文件进行压缩, 无法很好地利用端侧现有解压API;
-
Melis里的一些已执行LZMA压缩的资源文件无法在端侧以外解压缩, 导致一些系统逻辑不好理解吃透.
解决
了解到LZMA其实系7z里用到的算法, 具体就不展开讨论; 以Melis引用的头文件作为线索, 遂在github找到分离的库源码:LzmaLib
经过数天魔改代码与验证, 实锤了上述库可用; 于是, 我把缺失的压缩打包方法以及解压方法整合成了在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工具一起服用.
(解压出了开机画面资源图stalogo1.bin)
工具代码整理后开源, 祝Melis开源之火不灭.工具
-
-
此回复已被删除! -
发现melis里的解压缩过程的解析压缩参数方法里跟lzma官方不一致;
实际留了5个参数字节只用了前4个....这样会导致某些较大的压缩包解压缩错误
线索:
坑点:
-
工具代码已开源:
LzmaLib-aw-melis
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号