Sha256: 1746f00ef06f393b63c48111cb63c99516d1b988224f1a36c19911cf6bf6f002

Contents?: true

Size: 1.79 KB

Versions: 23

Compression:

Stored size: 1.79 KB

Contents

#!/usr/bin/env ruby
#
# Zip library
#
# Written by Joshua J. Drake <jduck [at] metasploit.com>
#
# Based on code contributed by bannedit, and the following SPEC:
# Reference: http://www.pkware.com/documents/casestudies/APPNOTE.TXT
#

require 'zlib'

module Rex
module Zip

ZIP_VERSION = 0x14

# general purpose bit flag values
#
# bit 0
GPBF_ENCRYPTED      = 0x0001
# bits 1 & 2
# implode only
GPBF_IMP_8KDICT     = 0x0002
GPBF_IMP_3SFT       = 0x0004
# deflate only
GPBF_DEF_MAX        = 0x0002
GPBF_DEF_FAST       = 0x0004
GPBF_DEF_SUPERFAST  = 0x0006
# lzma only
GPBF_LZMA_EOSUSED   = 0x0002
# bit 3
GPBF_USE_DATADESC   = 0x0008
# bit 4
GPBF_DEF_ENHANCED   = 0x0010
# bit 5
GPBF_COMP_PATHCED   = 0x0020
# bit 6
GPBF_STRONG_ENC     = 0x0040
# bit 7-10 unused
# bit 11
GPBF_STRS_UTF8      = 0x0800
# bit 12 (reserved)
# bit 13
GPBF_DIR_ENCRYPTED  = 0x2000
# bit 14,15 (reserved)


# compression methods
CM_STORE            = 0
CM_SHRINK           = 1
CM_REDUCE1          = 2
CM_REDUCE2          = 3
CM_REDUCE3          = 4
CM_REDUCE4          = 5
CM_IMPLODE          = 6
CM_TOKENIZE         = 7
CM_DEFLATE          = 8
CM_DEFLATE64        = 9
CM_PKWARE_IMPLODE   = 10
# 11 - reserved
CM_BZIP2            = 12
# 13 - reserved
CM_LZMA_EFS         = 14
# 15-17 reserved
CM_IBM_TERSE        = 18
CM_IBM_LZ77         = 19
# 20-96 reserved
CM_WAVPACK          = 97
CM_PPMD_V1R1        = 98


# internal file attributes
IFA_ASCII           = 0x0001
# bits 2 & 3 are reserved
IFA_MAINFRAME_MODE  = 0x0002 # ??


# external file attributes
EFA_ISDIR           = 0x0001


# various parts of the structure
require 'rex/zip/blocks'

# an entry in a zip file
require 'rex/zip/entry'

# the archive class
require 'rex/zip/archive'

# a child of Archive, implements Java ARchives for creating java applications
require 'rex/zip/jar'

end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
librex-0.0.65 lib/rex/zip.rb
librex-0.0.63 lib/rex/zip.rb
librex-0.0.54 lib/rex/zip.rb
librex-0.0.53 lib/rex/zip.rb
librex-0.0.52 lib/rex/zip.rb
librex-0.0.51 lib/rex/zip.rb
librex-0.0.50 lib/rex/zip.rb
librex-0.0.49 lib/rex/zip.rb
librex-0.0.48 lib/rex/zip.rb
librex-0.0.47 lib/rex/zip.rb
librex-0.0.46 lib/rex/zip.rb
librex-0.0.44 lib/rex/zip.rb
librex-0.0.43 lib/rex/zip.rb
librex-0.0.42 lib/rex/zip.rb
librex-0.0.41 lib/rex/zip.rb
librex-0.0.40 lib/rex/zip.rb
librex-0.0.39 lib/rex/zip.rb
librex-0.0.38 lib/rex/zip.rb
librex-0.0.37 lib/rex/zip.rb
librex-0.0.36 lib/rex/zip.rb