用F407解压.ZIP文件!!!

2019-07-20 06:29发布

QQ截图20170510190012.png 各位还有别的方法吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
正点原子
1楼-- · 2019-07-20 11:59
 精彩回答 2  元偷偷看……
于大圣
2楼-- · 2019-07-20 14:07
于大圣
3楼-- · 2019-07-20 15:26
我只能解压32K大小东西!唉,还能解压再大些吗?
于大圣
4楼-- · 2019-07-20 17:15
 精彩回答 2  元偷偷看……
于大圣
5楼-- · 2019-07-20 22:16
解压算法过程:
一. 压缩了file.zip ,内部只有一个空文件1, 进行调试跟踪.
1.  打开压缩文件.
2. 查询centraldir信息从end of centraldir
  2.1.  获取文件大小.
  2.2.  如果文件大小小于MAX_COMMENTSIZE 那么直接读取整个文件,否则读取MAX_COMMENTSIZE。  
  2.3.  读取出readsize。
  2.4.  从读取出的buffer中来判断0x06054b50,找出这个end of centraldir位置.
  2.5.  调转到endcentralpos 读取signature code(0x06054b50)
  2.6.  读取卷数,entry数量,centraldir 大小/偏移量,comment_size 等.
  2.7.  centralendpos -(centraloffset + centraldirsize) , 来获取centraldir对于卷开头位置的偏移量,准备读取centraldir.
3. 读取centraldir信息
  3.1.  从offsetcentraldir开始读取signature(0x02014b50) .
  3.2.  读取出版本号,压缩方式,日期信息,CRC,压缩大小,未压缩大小,entryname大小,file_extra_size , size_comment_file,起始卷index,internal file attr., external file attr., 当前项对于centraldir 的offset.
4. 读取entryinternal信息,比如名称,offset
5. 读取local file header 信息
  5.1. 检查signature(0x04034b50) , 日期,协议中local header信息.
二. 内部空目录1, 进行调试跟踪
   实际上差别仅仅在entryname,entryname length,以及由此导致的结构offset.
于大圣
6楼-- · 2019-07-21 03:26
 精彩回答 2  元偷偷看……

一周热门 更多>