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

前言

问题 :对于文件加密与否的判别,通常可以用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的复制,但想要查看其中内容仍需输入密码,相当于无法打开。

相关推荐
计算机安禾1 分钟前
【Linux从入门到精通】第19篇:SSH远程管理进阶——不只是输入密码
linux·ssh·github
煜3642 分钟前
环境变量与虚拟内存
linux·运维·服务器
安逸sgr4 分钟前
Hermes Agent + Obsidian 打造第二大脑(三):Docker 部署详解——从零到生产环境的完整实战指南!
运维·docker·容器·obsidian·hermes·hermesagent
byoass7 分钟前
自动化任务系列之二:批量建目录树——Excel模板驱动千人项目初始化
运维·网络·安全·自动化·云计算
脆皮炸鸡7558 分钟前
Linux~~基础IO
linux·运维·服务器·经验分享·算法·学习方法
众少成多积小致巨12 分钟前
Android 初始化语言入门
android·linux·c++
思麟呀14 分钟前
在Select的基础上学习poll
linux·网络·学习·tcp/ip
喜欢吃燃面26 分钟前
Linux 信号保存机制深度解析:从内核数据结构到进程状态管理
linux·运维·数据结构·学习
云边有个稻草人35 分钟前
【Linux系统】第十节—【进程概念】环境变量 | 详解,包会!
linux·环境变量·命令行参数·环境变量的特性·获取linux环境变量的方法·环境变量path·通过代码获取linux环境变量
IMPYLH40 分钟前
Linux 的 stdbuf 命令
linux·运维·服务器·bash