Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1835768
  • 博文数量: 241
  • 博客积分: 9862
  • 博客等级: 中将
  • 技术积分: 5206
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-18 23:23
文章分类
文章存档

2011年(14)

2010年(61)

2009年(48)

2008年(118)

我的朋友

分类: 嵌入式

2010-06-09 13:17:15

首先要把你要改的文件的CentralDirectoryFileHeader和LocalFileHeader中的GeneralPurposeBitFlag由0改成8(如果已经有其他置位,则要重新计算,最后效果就是让bit3位置1)。
然后DataDescriptor加入到要改文件压缩数据的结束处(下一个文件的开始处),一共16byte。DataDescriptor里面的具体内容可以参考CentralDirectoryFileHeader和LocalFileHeader里面的相应内容。
 
然后修改要改文件后面所有文件的CentralDirectoryFileHeader中的RelativeOffsetOfLocalHeader。都要加上16(10进制数)。最后要把ZIP包的EndOfCentralDirectory中的CentralDirectoryOffset也加上16(10进制数)。OK了。
 
用winrar等工具测试能够正常解压。
 
阅读(1103) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~