分辨压缩包的真加密与伪加密

前言

问题 :对于文件加密与否的判别,通常可以用010Editor打开压缩包,查看标记位(zip文件是从504B0102的50开始数到第9字节,RAR文件是从文件头开始数到第24个字节)。然而这种方法并不高效:一是该方法无法区分真加密与伪加密,因为无论真加密还是伪加密的标志位都不为0;二是由于加密方法的不同,标志位可能会发生改变,例如zip文件的第9字节可能改成第6字节。
方案:binwalk工具可解决上述问题,使用binwalk对压缩包进行提取,若该包为真加密则无法提取,若该包为伪加密则可绕过其加密位对包中内容进行提取

做法

1.使用binwalk对伪加密包进行提取

当前路径中存放着一个伪加密包HELLO_NoPwd.rar,使用binwalk对该包进行提取,命令行输出入下:

bash 复制代码
┌──(kali㉿kali)-[~/tmp]
└─$ binwalk -Me -C /home/kali/tmp/HELLO_NoPwd HELLO_NoPwd.rar


Scan Time:     2026-02-18 21:59:48
Target File:   /home/kali/tmp/HELLO_NoPwd.rar
MD5 Checksum:  2145f20ab7606fb870ff850e38a142e5
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

0             0x0             RAR archive data, version 4.x, first volume type: MAIN_HEAD


Scan Time:     2026-02-18 21:59:50
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar-0.extracted/hello.py
MD5 Checksum:  6c3a562ab867246f2dffe2c31f852eec
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------


Scan Time:     2026-02-18 21:59:50
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar-0.extracted/hello.cpython-314.pyc
MD5 Checksum:  871201900704f4fb29c1711ca3e58748
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------


Scan Time:     2026-02-18 21:59:50
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar-0.extracted/__init__.cpython-314.pyc
MD5 Checksum:  aed040720ec86033ab806e797ab80c9b
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

                                                         
┌──(kali㉿kali)-[~/tmp]
└─$ binwalk -Me -C /home/kali/tmp/HELLO_NoPwd HELLO_NoPwd.rar



Scan Time:     2026-02-18 22:00:09
Target File:   /home/kali/tmp/HELLO_NoPwd.rar
MD5 Checksum:  2145f20ab7606fb870ff850e38a142e5
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

0             0x0             RAR archive data, version 4.x, first volume type: MAIN_HEAD


Scan Time:     2026-02-18 22:00:10
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar.extracted/__init__.cpython-314.pyc
MD5 Checksum:  aed040720ec86033ab806e797ab80c9b
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------


Scan Time:     2026-02-18 22:00:10
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar.extracted/hello.py
MD5 Checksum:  6c3a562ab867246f2dffe2c31f852eec
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------


Scan Time:     2026-02-18 22:00:10
Target File:   /home/kali/tmp/HELLO_NoPwd/_HELLO_NoPwd.rar.extracted/hello.cpython-314.pyc
MD5 Checksum:  871201900704f4fb29c1711ca3e58748
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

此外文件目录中出现了我命令里指定的文件夹HELLO_NoPwd,该文件夹中存放了提取出来的文件。

2.使用binwalk对真加密压缩包进行提取

HELLO_Pwd.rar是一个真加密的压缩包,对其进行提取,命令行输出如下:

bash 复制代码
┌──(kali㉿kali)-[~/tmp]
└─$ binwalk -Me -C /home/kali/tmp/HELLO_Pwd HELLO_Pwd.rar

Scan Time:     2026-02-18 22:00:58
Target File:   /home/kali/tmp/HELLO_Pwd.rar
MD5 Checksum:  162cbbc655c2119ab94448b6bd012753
Signatures:    411

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------

0             0x0             RAR archive data, version 4.x, first volume type: MAIN_HEAD

文件目录中多了一个我命令中指定的HELLO_Pwd文件夹,该文件夹中的0.rar本质上是HELLO_Pwd.rar的复制,但想要查看其中内容仍需输入密码,相当于无法打开。

相关推荐
AlfredZhao13 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐2 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698033 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297913 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF3 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--5 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森5 天前
动手实战学 Docker — 从零到集群编排完全指南
运维