您尚未登录。

楼主 #1 2018-03-27 14:02:37

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.

在 buildroot的.config 手动开启

BR2_PACKAGE_P7ZIP=y

他会自动下载 p7zip_16.02_src_all.tar.bz2 编译, 但是默认生成的 p7r 并不能解密带密码的文件,

现在正在着手解决这个问题。

参考链接: 本来打算用buildroot里面的7zip命令7zr来解压缩加密文件, 结果发现并不支持密码

7zr handles password-less archives in the 7z,  LZMA2,  and  XZ  formats  only.
说人话就是:
7zr仅处理7z,LZMA2和XZ格式的无密码归档文件。





离线

楼主 #2 2018-03-27 14:20:10

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

重新下载 p7zip_16.02_src_all.tar.bz2 解压缩,
执行

make CC=arm-linux-gcc CXX=arm-linux-g++

发现编译出来的文件是 bin/7za 大小 1027208, 1M多,

捂脸.jpg

现在确认这个 7za 是支持 密码的,
但是能不能精简这个 胖子7za 呢?





离线

楼主 #3 2018-03-27 14:40:01

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

7z, 7za, 7zr 三个之间的区别:

7z uses plugins (7z.so and Codecs/Rar.so) to handle archives.
  7za is a stand-alone executable (7za handles less archive formats than 7z).
  7zr is a light stand-alone executable that supports only 7z/LZMA/BCJ/BCJ2.

7z依赖7z.so, rar.so, 相当于一个壳,通过调用其他7z, rar 插件编解码文件.
7za 是单独运行可执行文件, 所以不能解rar
7zr 是一个更精简的程序





离线

楼主 #4 2018-11-13 09:34:40

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

本来打算把 p7zip_16.02_src_all.tar.bz2 与 µGUI 整合到一个项目了,完成解压任务, 在µGUI窗口显示进度条, 结果发现这个项目接口太复杂了, 根本不知道如何入手.





离线

楼主 #5 2018-11-13 09:51:28

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

还好发现了这个: https://github.com/rikyoz/bit7z

把 7z 的接口再次封装了一下.


依赖 7z1805
https://nchc.dl.sourceforge.net/project/sevenzip/7-Zip/18.05/7z1805-src.7z





离线

楼主 #6 2018-11-13 09:57:25

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。





离线

楼主 #7 2018-11-13 11:43:00

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

2018-11-13_114137.png

这个接口非常明了





离线

楼主 #8 2018-11-13 11:55:37

晕哥
管理员
所在地: 微信 whycan_cn
注册时间: 2017-09-06
已发帖子: 9,251
积分: 9197

Re: 发现buildroot开启7zip,编译出来的7zr可能是精简版,并不支持密码解密.现在正在着手解决这个问题。

我改过的代码下载: bit7z_test_20181113.7z

工程文件是这个: bit7z_extract.pro

以下工作已完成:
7z源码 解压到 lib\7zSDK 目录,

7z可执行文件 7z.dll 拷贝到 bin\x86 目录





离线

页脚

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

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