惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
The GitHub Blog
The GitHub Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Recent Announcements
Recent Announcements
量子位
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
Microsoft Azure Blog
Microsoft Azure Blog
Martin Fowler
Martin Fowler
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
A
About on SuperTechFans
T
Tailwind CSS Blog
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
SegmentFault 最新的问题
G
Google Developers Blog
M
MIT News - Artificial intelligence

LanYunのBlog

优化macOS Dock栏的显示与隐藏 解决macOS全屏模式下某些情况显示原始鼠标指针的问题 Yarn从Classic迁移到Modern nginx自编译 用santa对二进制进行监控和授权 ESXI 8.0安装黑群晖DSM 7.x openwrt编译过程记录 编译monero For macOS ARM 自建busuanzi不蒜子平台统计平台 浅记博客更新日志 (机翻)Kubo配置文件 修改brew services中服务的启动参数 技术杂记📝 解决Surge模块不能同步问题 为Arch Linux配置邮件服务 自编译NutClient-ESXI,更改邮件逻辑 解决ESXI和群晖使用SSH密钥登录问题 为J4125软路由ESXI中群晖提供UPS服务 在arch linux上搭建rustdesk server 解决虚拟机扩容中GPT PMBR大小不符问题 搭建Tuic V5 优雅地为macOS提供python多版本的支持 修复root路径下文件权限问题 解决macOS 14上利用Whisky运行steam时有关问题 在macOS中用PhpStorm配置Xdebug调试 利用CloudFlare Workers快速自建一个IP获取器 如何自动续期证书? 从0开始速配VPS用于网站等 搭建一个基于ChatGPT的QQ机器人(Yunzai-Bot) For Mac 010 Editor For Mac 13.0.1 Crack 破解
CTF MISC zip压缩包伪加密笔记📒
LanYun · 2022-04-27 · via LanYunのBlog

前言

又又又学习了一次伪加密🔐,我这人记性是真的不好👎,太容易忘记了.所以水一篇博客


原理

zip伪加密是在文件头的加密标志位做修改,进而再打开文件时识被别为加密压缩包。

快速操作?👇

压缩源文件目录区全局方式位标记 的 01 00 或 09 00 改为 00 00 就可以去除密码 提示

压缩源文件目录区全局方式位标记 的 00 00 改为 01 00 或 09 00 就可以添加密码 提示

一个 ZIP 文件由三个部分组成:

压缩源文件数据区 + 压缩源文件目录区 + 压缩源文件目录结束标志

三部分的详细介绍(反正我不想看)

1、压缩源文件数据区
在这个数据区中每一个压缩的源文件/目录都是一条记录,记录的格式如下:

​ [文件头+ 文件数据 + 数据描述符]

​ a、文件头结构
​ 组成   长度
​ 文件头标记 4 bytes (0x04034b50)
​ 解压文件所需 pkware 版本 2 bytes
​ 全局方式位标记 2 bytes
  压缩方式 2 bytes
  最后修改文件时间 2 bytes
   最后修改文件日期 2 bytes
   CRC-32校验 4 bytes
   压缩后尺寸 4 bytes
   未压缩尺寸 4 bytes
   文件名长度 2 bytes
​ 扩展记录长度 2 bytes
   文件名 (不定长度)
   扩展字段 (不定长度)

​ b、文件数据

​ c、数据描述符
   组成   长度
  CRC-32校验 4 bytes
  压缩后尺寸 4 bytes
   未压缩尺寸 4 bytes

​ 这个数据描述符只在全局方式位标记的第3位设为1时才存在(见后详解),紧接在压缩数据的最后一个字节后。这个数据描述符只用在不能对输出的 ZIP 文件进行检索时使用。例如:在一个不能检索的驱动器(如:磁带机上)上的 ZIP 文件中。如果是磁盘上的ZIP文件一般没有这个数据描述符。
2、压缩源文件目录区
在这个数据区中每一条纪录对应在压缩源文件数据区中的一条数据
   组成   长度
​   目录中文件文件头标记 4 bytes (0x02014b50)
​   压缩使用的 pkware 版本 2 bytes
​   解压文件所需 pkware 版本 2 bytes
​   全局方式位标记 2 bytes
​   压缩方式 2 bytes
​   最后修改文件时间 2 bytes
​   最后修改文件日期 2 bytes
​   CRC-32校验 4 bytes
​   压缩后尺寸 4 bytes
​   未压缩尺寸 4 bytes
​   文件名长度 2 bytes
​   扩展字段长度 2 bytes
​   文件注释长度 2 bytes
​   磁盘开始号 2 bytes
​   内部文件属性 2 bytes
​   外部文件属性 4 bytes
​ 局部头部偏移量 4 bytes
​   文件名 (不定长度)
​   扩展字段 (不定长度)
​ 文件注释 (不定长度)
3、压缩源文件目录结束标志
​    组成   长度
​ 目录结束标记 4 bytes (0x02014b50)
​ 当前磁盘编号 2 bytes
​ 目录区开始磁盘编号 2 bytes
​   本磁盘上纪录总数 2 bytes
​   目录区中纪录总数 2 bytes
​   目录区尺寸大小 4 bytes
​   目录区对第一张磁盘的偏移量 4 bytes
​   ZIP 文件注释长度 2 bytes
​   ZIP 文件注释 (不定长度)

这里拿一张伪加密🔐压缩包的16进制图吧,这个是我做BUUCTF时遇到的.方便后面说明.

image-20220427192029754

16进制文本

50 4B 03 04 14 00 09 00 08 00 50 A3 A5 4A 21 38
76 65 19 00 00 00 17 00 00 00 08 00 00 00 66 6C
61 67 2E 74 78 74 4B CB 49 4C AF 76 4C C9 35 F4
D3 75 32 72 D7 CD 0E D5 0D 8E F2 0C A8 05 00 50
4B 01 02 1F 00 14 00 09 00 08 00 50 A3 A5 4A 21
38 76 65 19 00 00 00 17 00 00 00 08 00 24 00 00
00 00 00 00 00 20 00 00 00 00 00 00 00 66 6C 61
67 2E 74 78 74 0A 00 20 00 00 00 00 00 01 00 18
00 0F F5 04 D5 9A C5 D2 01 46 1F CB 8A 9A C5 D2
01 46 1F CB 8A 9A C5 D2 01 50 4B 05 06 00 00 00
00 01 00 01 00 5A 00 00 00 3F 00 00 00 00 00

压缩源文件数据区:

压缩源文件数据区

50 4B 03 04:这是PK头文件标记(0x04034b50)
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(图中代表是有加密🔐,如果是 00 00 就是代表无加密🔐)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 65:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
00 00:扩展记录长度

压缩源文件目录区:

压缩源文件目录区

50 4B 01 02:目录中文件PK文件头标记(0x02014b50)
1F 00:压缩使用的 pkware 版本
14 00:解压文件所需 pkware 版本
09 00:全局方式位标记(图中代表是有加密🔐,如果是 00 00 就是代表无加密🔐)
08 00:压缩方式
50 A3:最后修改文件时间
A5 4A:最后修改文件日期
21 38 76 65:CRC-32校验(1480B516)
19 00 00 00:压缩后尺寸(25)
17 00 00 00:未压缩尺寸(23)
08 00:文件名长度
24 00:扩展字段长度
00 00:文件注释长度
00 00:磁盘开始号
00 00:内部文件属性
20 00 00 00:外部文件属性
00 00 00 00:局部头部偏移量

压缩源文件目录结束标志:

压缩源文件目录结束标志

50 4B 05 06:目录结束标记
00 00:当前磁盘编号
00 00:目录区开始磁盘编号
01 00:本磁盘上纪录总数
01 00:目录区中纪录总数
5A 00 00 00:目录区尺寸大小
3F 00 00 00:目录区对第一张磁盘的偏移量
00 00:ZIP 文件注释长度

伪加密->无密码

方法一

压缩源文件目录区全局方式位标记 的 01 00 或 09 00 改为 00 00 就可以去除密码 提示

压缩源文件目录区全局方式位标记 的 00 00 改为 01 00 或 09 00 就可以添加密码 提示

方法二

使用ZipCenOp.jar清除密码

点我下载ZipCenOp.jar

下载完后,将它与压缩包放在同一个文件夹中.

输入一下命令

1
java -jar ZipCenOp.jar r xxx,zip 

就可以完成文件头的修复.

方法三(未确认)

貌似以前做题的时候,用winrar也可以修复.

  • WeChat

    WeChat

  • AliPay

    AliPay