zip格式文件伪加密
zip格式文件伪加密
实践是检验真理的唯一标准
简介
zip文件是一种压缩文件,可进行加密,也可不加密。而伪加密是在未加密的zip文件基础上修改了它的压缩源文件目录区里的全局方式位标记的比特值,使得压缩软件打开它的时候识别为加密文件,提示输入密码, 而在这个时候,不管你用什么软件对其进行密码破解,都无法打开它!这就是它存在的意义!
zip官方文档
zip中文详解
文件组成
- 压缩源文件数据区
- 压缩源文件目录区
- 压缩源文件目录结束标志
样本示例(用winhex软件打开)
未加密
第一个荧光标记条中:(压缩源文件数据区初始位置)
504B0304(文件头标记,4bytes)
1400(解压文件所需pkware版本,2bytes)
0000(全局方式位标记,2bytes)未加密标志
第二个荧光标记条中:(压缩源文件目录区初始位置)
504B0102(目录中文件文件头标记,4bytes)
1F00(压缩使用的pkware版本,2bytes)
1400(解压文件所需pkware版本,2bytes)
0000(全局方式位标记,2bytes)压缩软件识别未加密标志
伪加密
压缩源文件数据区的全局方式位标记为0000(未加密)
压缩源文件目录区的全局方式位标记为0900(软件识别加密)
如何做到?
就是将未加密文件的压缩眼文件目录区的全局方式位标记改为0900
(真)加密
压缩源文件数据区的全局方式位标记为0900(已加密)
压缩源文件目录区的全局方式位标记为0900(软件识别加密)
因此已加密
应用
文档文件隐写
全局方式为标记还有哪些值?
四个数字中只有第二个数字对其有影响,其它的不管为何值,都不影响它的加密属性!
第二个数字为奇数时 –>加密
第二个数字为偶数时 –>未加密
zip格式文件伪加密相关推荐
- python打包zip文件_python 解压文件,合并文件 打包成zip格式文件 生成MD5值
#!/usr/bin/env python #_*_encoding:utf-8 # 2018/05/29 #augustyang #2.0 ''' 解压文件,合并文件 打包成zip格式文件 生成MD ...
- python 实现文件的批量压缩为.zip格式+.zip格式文件的解析
python 实现文件的批量压缩为.zip格式+.zip格式文件的解析 python 实现文件的批量压缩为.zip格式 Python解析.zip文件的常见函数 python 实现文件的批量压缩为.zi ...
- 【Linux command 07】unzip命令 – 解压缩zip格式文件
1.功能 unzip命令用于解压缩zip格式文件,虽然Linux系统中更多的使用tar命令进行对压缩包的管理工作,但有时也会收到同Windows系统常用的.zip和.rar格式的压缩包文件,unzip ...
- Linux下zip格式文件的解压缩与压缩操作命令详解
< Linux下zip格式文件的解压缩与压缩操作命令详解 > * 声明:网上找来比较凌乱,整理了一下,方便自己查看 zip格式文件的解压缩与压缩操作: 1.把/home目录下面的huaza ...
- Linux下解压rar格式和zip格式文件
写在前面的话 欢迎扫码关注我的公众号,与我一同进步!主要致力于学习 使用深度学习解决计算机视觉相关问题 Python为主的互联网应用服务 基于MIPS指令集的CPU微体系结构设计 引言 最近在完成深度 ...
- java压缩/解压缩zip格式文件
因为项目要用到压缩.解压缩zip格式压缩包,只好自己封装一个,对于网上流行的中文乱码的问题,本文的解决方法是用apache的包代替jdk里的.基本上还是比较好用的. 废话少说,直接上代码. 1 pac ...
- 手机中的Zip格式文件解压和文件夹的压缩
今天主要跟大家介绍下如何通过代码把手机存储中的zip文件解压到指定的地方以及如何对很多文件或者文件夹进行压缩生成zip格式的压缩文件. 1.将某个Zip文件解压到指定目录下: /*** 解压缩一个Zi ...
- C# 解/压缩rar/zip格式文件
为了便于文件在网络中的传输和保存,通常将文件进行压缩操作,常用的压缩格式有rar.zip和7z. 本文将介绍在C#中如何对这几种类型的文件进行压缩和解压,并提供一些在C#中解压缩文件的开源库. 在C# ...
- ZIP压缩文件如何加密?忘记密码怎么办?
ZIP是常用的压缩文件格式之一,除了方便传输.节省空间,还能通过设置密码来保护文件. 设置ZIP文件的密码保护需要用到压缩软件,下面先说说最常用的WinRAR是如何设置ZIP文件的密码. 方法一: 我 ...
最新文章
- python类型-Python数据类型详解
- ansible配置详解及基本示例
- java进程和线程_Java™ 教程(进程和线程)
- WCF简单教程(6) 单向与双向通讯
- 抽象类和抽象方法----java
- input 底线_社区建设如何帮助组织的底线
- jQuery 文本编辑器插件 HtmlBox 使用
- 两种添加数据到DropDownList 控件的方法
- CPython中多线程的限制
- 安装chrome Jsonview插件
- Segger Embedded Studio使用有什么技巧?
- AR/VR工作原理及目前存在的技术问题
- jsonDB使用手册
- pythonwin7下载教程_如何在win7下安装Python及配置!python win7下载教程
- Self-paced Learning 自步学习
- 内存不能为read或written的解决方案
- analy32.xll下载_Android Studio 4.0添加了Motion Editor和Build Analyzer
- git 清除本地远程被删除的分支
- 物料清单的重构———虚项
- 【数学】均匀分布生成其他分布的方法