发现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格式的无密码归档文件。
离线
重新下载 p7zip_16.02_src_all.tar.bz2 解压缩,
执行
make CC=arm-linux-gcc CXX=arm-linux-g++
发现编译出来的文件是 bin/7za 大小 1027208, 1M多,
捂脸.jpg
现在确认这个 7za 是支持 密码的,
但是能不能精简这个 胖子7za 呢?
离线
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 是一个更精简的程序
离线
离线
还好发现了这个: https://github.com/rikyoz/bit7z
把 7z 的接口再次封装了一下.
根据项目文档,能在windows/VC 编译通过
我的电脑安装了VS2015:
http://download.microsoft.com/download/B/8/9/B898E46E-CBAE-4045-A8E2-2D33DD36F3C4/vs2015.pro_chs.iso
然后用QtCreator:
http://mirrors.ustc.edu.cn/qtproject/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-msvc2015_64-5.6.0.exe (cn, prio 100)
http://mirrors.geekpie.club/qtproject/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-msvc2015_64-5.6.0.exe (cn, prio 100)
http://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-msvc2015_64-5.6.0.exe (cn, prio 100)
http://mirror.bit.edu.cn/qtproject/archive/qt/5.6/5.6.0/qt-opensource-windows-x86-msvc2015_64-5.6.0.exe (cn, prio 100)
打开 bit7z.pro 编译成功:
离线
离线