CTF——MISC——zip伪加密总结

看了好多博文总结一下吧

zip 伪加密原理:

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

 

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

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

zip 文件

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

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

这里附上一篇说明博文:https://blog.csdn.net/wclxyn/article/details/7288994

压缩源文件数据区: 


50 4B 03 04:这是头文件标记(0x04034b50) 
14 00:解压文件所需 pkware 版本 
00 00:全局方式位标记(有无加密) 
08 00:压缩方式 
5A 7E:最后修改文件时间 
F7 46:最后修改文件日期 
16 B5 80 14:CRC-32校验(1480B516) 
19 00 00 00:压缩后尺寸(25) 
17 00 00 00:未压缩尺寸(23) 
07 00:文件名长度 
00 00:扩展记录长度 
6B65792E7478740BCECC750E71ABCE48CDC9C95728CECC2DC849AD284DAD0500 


压缩源文件目录区: 


50 4B 01 02:目录中文件文件头标记(0x02014b50) 
3F 00:压缩使用的 pkware 版本 
14 00:解压文件所需 pkware 版本 
00 00:全局方式位标记(有无加密,这个更改这里进行伪加密,改为09 00打开就会提示有密码了) 
08 00:压缩方式 
5A 7E:最后修改文件时间 
F7 46:最后修改文件日期 
16 B5 80 14:CRC-32校验(1480B516) 
19 00 00 00:压缩后尺寸(25) 
17 00 00 00:未压缩尺寸(23) 
07 00:文件名长度 
24 00:扩展字段长度 
00 00:文件注释长度 
00 00:磁盘开始号 
00 00:内部文件属性 
20 00 00 00:外部文件属性 
00 00 00 00:局部头部偏移量 
6B65792E7478740A00200000000000010018006558F04A1CC5D001BDEBDD3B1CC5D001BDEBDD3B1CC5D001 


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


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

 

查找压缩文件目录区 :

一般面对一些小的文件时 很容易就找到  压缩文件目录区 的文件头

但是当我们面对一些较大的文件 找 压缩文件目录区的 文件头  50 4B 01 02 就有点麻烦了

我们可以利用 winhex 中的查找 字符查找 快速找到  压缩文件目录区  的文件头

然后搜索的结果就会被列出来  点击  后快速定位到相应位置

这样就能快找到  50 4B 01 02 头了

 

然后把  后面的  全方位标记区 的 01 00  或 09  00   改为  00 00  保存 后就可以打开压缩包了

 

如果不想用手工修改  也可以用工具 修改

使用ZipCenOp.jar清除密码 

ZipCenOp.jar 下载地址:https://pan.baidu.com/s/1GHcUYA36X9reZL7rcmWNfA    提取码:ugyn 

下载后 把它和压缩包放在同一个文件夹里   打开cmd 切换到 这个文件夹 (或者直接用 powershall)   执行:

java -jar ZipCenOp.jar r 00004035.zip 

就 可以修复文件头 了

(注意:工具不是万能的,手工比较可靠)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CTF中的Miscellaneous(简称Misc)是指一类涵盖了多个领域的题目,常见的包括密码学、网络协议、二进制分析等。 在CTF比赛中,解决这类题目的方法主要有以下几种: 1. 阅读题目描述:首先要仔细阅读题目描述,通常会提供一些线索或提示,例如题目类型、题目背景或所需的技术知识。这些大致的信息能够帮助你确定解题方法的方向。 2. 分析题目附件或源代码:如果题目提供了附件或源代码,要仔细分析其中的内容。有时可能需要进行逆向工程、二进制分析或查找隐藏信息。需要注意的是,不同题目类型可能需要使用不同的分析工具和技术。 3. 猜测和尝试:在整个解题过程中,可能需要多次猜测和尝试。例如,对于密码学类题目,尝试使用不同类型的密码学算法进行解密;对于网络协议类题目,尝试使用Wireshark等工具进行数据包分析。 4. 查找前人的经验:CTF解题是一个积累经验的过程,很多题目类型都有经典解法,可以通过学习前人的经验来提高解题效率。可以参考CTF比赛的writeup、CTF讨论论坛或CTF相关的学习资源等。 5. 团队合作:在解题过程中,可以与队友或其他选手进行合作,分享解题过程中的思路和发现。这样可以锻炼团队合作的能力,也能够快速找到解题思路或解题方法。 综上所述,CTFMisc题目的解题方法主要包括阅读题目描述、分析附件或源代码、猜测和尝试、查找前人的经验以及团队合作等。通过不断学习和实践,提高解题的技巧和经验,才能更好地应对各种Misc题目的挑战。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值