7-Zip

文件压缩程序

7-Zip是一個开放源码数据压缩程式,主要在Microsoft Windows作業系統Unix-like的作業系統(如LinuxFreeBSD)可以使用7-zip的移植版本p7zip。它提供命令行接口的程序与图形用户界面的程序,而且可以與檔案總管結合。7-Zip是自由軟體,由伊戈爾·帕夫洛夫英语Igor Pavlov (programmer)於1999年開始开发,並把主体在GNU LGPL下發佈;加密部份,使用高级加密标准(AES)的程式碼,使用BSD许可证發佈;解压RAR部分,使用RAR特定的许可协议。在2007年獲得SourceForge.net的社区票选为“最佳技术设计”及“最佳项目”两个奖项。

7-Zip
7-Zip在Windows 10運行的截圖
7-Zip在Windows 10運行的截圖
原作者伊戈爾·帕夫洛夫英语Igor Pavlov (programmer)
開發者伊戈爾·帕夫洛夫英语Igor Pavlov (programmer)
首次发布1999年7月18日​(25年前)​(1999-07-18
当前版本
  • 24.09(2024年11月29日;穩定版本)[1]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言C++
操作系统Microsoft Windows
Linux
MacOS
语言87种语言
类型數據壓縮
许可协议 編輯維基數據鏈接
网站7-zip.org 編輯維基數據鏈接

7z压缩格式

编辑

7-Zip预设的格式是其自行开发的7z格式,副檔名為.7z。7z格式包含多種演算法,最常使用的就是Bzip2以及作者伊戈尔·帕夫洛夫開發的LZMALZMA演算法比起其他常見的傳統壓縮演算法,如Zip、RAR來說相對較新,壓縮率也比較高。7z格式支持Unicode,且将其默认用于儲存檔案名稱,可以避免不同系统、语言环境间压缩解压乱码的问题。除7-Zip外,目前流行的壓縮程式也大多支持此格式,如WinRARPeazip等。[2]

其他支持的格式及運算方式

编辑

7-Zip支援眾多的壓縮/未壓縮的檔案格式,包含ZIPCABRARARJZgzipbzip2LLHAtarcpioRPM。從4.42版開始支援CD/DVD映像檔格式ISO,另外因為版權問題不再支援ACE。從7-Zip 9.14測試版開始,7-Zip可以開啟和解壓縮VHD

特性

编辑
  • 7-zip文件本身功能众多:
    • 256位AES加密
    • 多线程壓縮與解壓縮
    • LZMA(2)压缩强度远高于ZIP DEFLATE,速度和压缩强度稍高于RARv3。
    • 支持動態檔案大小壓縮(分卷压缩),應對備份至移動媒體如CDDVD十分有效
  • 支持FAR Manager插件
  • 支持79種語言(含英文、中文(簡體、繁体)、日文、韓文)
  • 相對於需付費的WinRARWinZip,提供更多文件类型解压支持,如exe段读取。
  • 7-Zip有能力建立自解壓縮檔(SFX)
    • WinRAR和基于7-Zip LZMA SDK的HaoZip都提供向导式自解压前端,而7-zip不支持。
  • 7-Zip有能力解壓縮錯誤檔名的壓縮檔,必要時,可以重新命名檔案
  • 7-Zip支持 Descript.ion风格的文件注释
  • 注意:设置所有用户的文件类型关联时,需要管理员权限(右键管理员权限打开)。

版本

编辑

從4.65版本之後,7-Zip採用了與Ubuntu等一些項目的相同做法。改為使用年份來增加版本號,第一個使用新版本號發行的版本為9.04 Beta。

2010年11月18日後,7-Zip版本號為9.20。

自2015年起,7-Zip再度使用年份作為主版本號。

分支

编辑

p7zip是移植到POSIX/Unix-like系统的7-Zip软件,可以压缩解压7z格式的文件。常用命令包括7z和7za,通过参数调整压缩解压设置。其支持的系统包括但不限于Linux内核的DebianFedoraGentoo Linux、AltLinux.org,非Linux内核的FreeBSDMac OS XiOS(越狱后可安装)、BeOSFreeDOSAmigaOS等。

但由于该项目從2016年以來已无继续维护达4~5年时间,因此2021年3月7-zip的原作者使用最新代码发行了官方的Linux版作为代替,提供了x64、x86、arm64、armhf四个硬件平台版本。[3]

安全问题

编辑

在7-Zip 16.03之前的版本中[4],自解压档案容易通过DLL劫持遭受任意代码执行攻击:如果UXTheme.dll与可执行文件位于同一文件夹中,它们会加载并运行该DLL[5][6][7]

18.05之前的7-Zip版本在从RAR档案提取文件的模块中包含一个任意代码执行漏洞 (CVE-2018-10115),该漏洞已于2018年4月30日修复[8]

23.0之前的版本还包含一个任意代码执行漏洞,已于2023年5月7日修复[9]。一年后,在 24.07之前的版本中发现了一个严重的远程代码执行漏洞(CVE-2024-11477),该漏洞于2024年11月20日修复[10]

24.09之前版本在处理带有MotW安全标记的压缩文件时,解压后的文件不会保留MotW标记,攻击者可绕过这个安全检查执行任意代码(CVE-2025-0411[11]。该漏洞已在2024年1月24日修复[12]

參見

编辑

參考資料

编辑
  1. ^ HISTORY of the 7-Zip. [2024年12月3日]. 
  2. ^ 存档副本. [2011-04-02]. (原始内容存档于2011-04-03). 
  3. ^ 7-Zip developer releases the first official Linux version. BleepingComputer. [2021-03-15]. (原始内容存档于2021-04-24) (美国英语). 
  4. ^ History of 7-zip changes. 7-Zip 20.02 alpha. 8 August 2020 [8 August 2020]. (原始内容存档于2025-01-26). 
  5. ^ Kanthak, Stefan. Executable installers are vulnerable^WEVIL (case 7): 7z*.exe allows remote code execution with escalation of privilege. SecLists.org. 8 December 2015 [2025-01-26]. (原始内容存档于2025-01-26). 
  6. ^ Kanthak, Stefan. Executable installers are vulnerable^WEVIL (case 14): Rapid7's ScanNowUPnP.exe allows arbitrary (remote) code execution. SecLists.org. 22 December 2015 [2025-01-26]. (原始内容存档于2025-01-26). 
  7. ^ Hart, Jon. ScanNow DLL Search Order Hijacking Vulnerability and Deprecation. Rapid7.com. 21 December 2015 [2025-01-26]. (原始内容存档于2017-08-28). 
  8. ^ A Vulnerability in 7-Zip Could Allow for Arbitrary Code Execution. cisecurity.org. 2018-05-01 [2025-01-26]. (原始内容存档于2021-08-01). 
  9. ^ 7-Zip 7Z File Parsing Integer Underflow Remote Code Execution Vulnerability. zerodayinitiative.com. 2022-08-23 [2025-01-26]. (原始内容存档于2025-01-26). 
  10. ^ 7-Zip RCE Vulnerability Let Attackers Execute Remote Code. GBHackers Security | #1 Globally Trusted Cyber Security News Platform. 25 November 2024 [26 November 2024]. (原始内容存档于2025-01-26). 
  11. ^ CVE-2025-0411 7-zip Mark-of-the-Web protection mechanism. vuldb.com. [2025-01-26]. 
  12. ^ 7-Zip Security Update Advisory (CVE-2025-0411). ASEC. 2025-01-23 [2025-01-26]. 

外部連結

编辑