Upx_Doxygen
https://github.com/upx/upx
Public Member Functions | Protected Member Functions | List of all members
PackVxd Class Reference
Inheritance diagram for PackVxd:
PackWcle Packer LeFile

Public Member Functions

 PackVxd (InputFile *f)
 
virtual int getVersion () const
 
virtual int getFormat () const
 
virtual const char * getName () const
 
virtual const int * getCompressionMethods (int method, int level) const
 
virtual const int * getFilters () const
 
virtual void pack (OutputFile *fo)
 
virtual void unpack (OutputFile *fo)
 
- Public Member Functions inherited from PackWcle
 PackWcle (InputFile *f)
 
virtual const char * getFullName (const options_t *) const
 
virtual bool canPack ()
 
virtual int canUnpack ()
 
- Public Member Functions inherited from Packer
virtual void assertPacker () const
 
void initPackHeader ()
 
void updatePackHeader ()
 
void doPack (OutputFile *fo)
 
void doUnpack (OutputFile *fo)
 
void doTest ()
 
void doList ()
 
void doFileInfo ()
 
virtual bool canUnpackVersion (int version) const
 
virtual bool canUnpackFormat (int format) const
 
virtual int canTest ()
 
virtual int canList ()
 
- Public Member Functions inherited from LeFile
 LeFile (InputFile *)
 
virtual bool readFileHeader ()
 
virtual void writeFile (OutputFile *, bool)
 

Protected Member Functions

virtual void encodeObjectTable ()
 
virtual void decodeObjectTable ()
 
virtual void encodeFixupPageTable ()
 
virtual void decodeFixupPageTable ()
 
virtual void encodeFixups ()
 
virtual void decodeFixups ()
 
virtual void encodeImage (Filter *ft)
 
virtual void decodeImage ()
 
- Protected Member Functions inherited from PackWcle
virtual void handleStub (OutputFile *fo)
 
virtual void buildLoader (const Filter *ft)
 
virtual LinkernewLinker () const
 
virtual void readObjectTable ()
 
virtual void encodePageMap ()
 
virtual void encodeEntryTable ()
 
virtual void decodeEntryTable ()
 
virtual void preprocessFixups ()
 
- Protected Member Functions inherited from Packer
 Packer (InputFile *f)
 
virtual bool testUnpackVersion (int version) const
 
virtual bool testUnpackFormat (int format) const
 
virtual void test ()
 
virtual void list ()
 
virtual void fileInfo ()
 
virtual bool compress (upx_bytep i_ptr, unsigned i_len, upx_bytep o_ptr, const upx_compress_config_t *cconf=NULL)
 
virtual void decompress (const upx_bytep in, upx_bytep out, bool verify_checksum=true, Filter *ft=NULL)
 
virtual bool checkDefaultCompressionRatio (unsigned u_len, unsigned c_len) const
 
virtual bool checkCompressionRatio (unsigned u_len, unsigned c_len) const
 
virtual bool checkFinalCompressionRatio (const OutputFile *fo) const
 
void compressWithFilters (Filter *ft, const unsigned overlap_range, const upx_compress_config_t *cconf, int filter_strategy=0, int inhibit_compression_check=0)
 
void compressWithFilters (Filter *ft, const unsigned overlap_range, const upx_compress_config_t *cconf, int filter_strategy, unsigned filter_buf_off, unsigned compress_ibuf_off, unsigned compress_obuf_off, const upx_bytep hdr_ptr, unsigned hdr_len, int inhibit_compression_check=0)
 
void compressWithFilters (upx_bytep i_ptr, unsigned i_len, upx_bytep o_ptr, upx_bytep f_ptr, unsigned f_len, const upx_bytep hdr_ptr, unsigned hdr_len, Filter *ft, const unsigned overlap_range, const upx_compress_config_t *cconf, int filter_strategy, int inhibit_compression_check=0)
 
virtual bool testOverlappingDecompression (const upx_bytep buf, const upx_bytep tbuf, unsigned overlap_overhead) const
 
virtual unsigned findOverlapOverhead (const upx_bytep buf, const upx_bytep tbuf, unsigned range=0, unsigned upper_limit=~0u) const
 
void verifyOverlappingDecompression (Filter *ft=NULL)
 
void verifyOverlappingDecompression (upx_bytep o_ptr, unsigned o_size, Filter *ft=NULL)
 
virtual int patchPackHeader (void *b, int blen)
 
virtual bool getPackHeader (void *b, int blen, bool allow_incompressible=false)
 
virtual bool readPackHeader (int len, bool allow_incompressible=false)
 
virtual void checkAlreadyPacked (const void *b, int blen)
 
virtual void relocateLoader ()
 
virtual upx_byte * getLoader () const
 
virtual int getLoaderSize () const
 
virtual void initLoader (const void *pdata, int plen, int small=-1)
 
void addLoader (C)
 
void addLoader (C, C)
 
void addLoader (C, C, C)
 
void addLoader (C, C, C, C)
 
void addLoader (C, C, C, C, C)
 
void addLoader (C, C, C, C, C, C)
 
void addLoader (C, C, C, C, C, C, C)
 
void addLoader (C, C, C, C, C, C, C, C)
 
void addLoader (C, C, C, C, C, C, C, C, C)
 
void addLoader (C, C, C, C, C, C, C, C, C, C)
 
void __acc_cdecl_va addLoaderVA (const char *s,...)
 
virtual bool hasLoaderSection (const char *name) const
 
virtual int getLoaderSection (const char *name, int *slen=NULL) const
 
virtual int getLoaderSectionStart (const char *name, int *slen=NULL) const
 
const int * getDefaultCompressionMethods_8 (int method, int level, int small=-1) const
 
const int * getDefaultCompressionMethods_le32 (int method, int level, int small=-1) const
 
virtual const char * getDecompressorSections () const
 
virtual unsigned getDecompressorWrkmemSize () const
 
virtual void defineDecompressorSymbols ()
 
virtual bool isValidFilter (int filter_id) const
 
virtual void optimizeFilter (Filter *, const upx_byte *, unsigned) const
 
virtual void addFilter32 (int filter_id)
 
virtual void defineFilterSymbols (const Filter *ft)
 
virtual void checkOverlay (unsigned overlay)
 
virtual void copyOverlay (OutputFile *fo, unsigned overlay, MemBuffer *buf, bool do_seek=true)
 
virtual unsigned getRandomId () const
 
int patch_be16 (void *b, int blen, unsigned old, unsigned new_)
 
int patch_be16 (void *b, int blen, const void *old, unsigned new_)
 
int patch_be32 (void *b, int blen, unsigned old, unsigned new_)
 
int patch_be32 (void *b, int blen, const void *old, unsigned new_)
 
int patch_le16 (void *b, int blen, unsigned old, unsigned new_)
 
int patch_le16 (void *b, int blen, const void *old, unsigned new_)
 
int patch_le32 (void *b, int blen, unsigned old, unsigned new_)
 
int patch_le32 (void *b, int blen, const void *old, unsigned new_)
 
void checkPatch (void *b, int blen, int boff, int size)
 
unsigned get_te16 (const void *p) const
 
unsigned get_te32 (const void *p) const
 
upx_uint64_t get_te64 (const void *p) const
 
void set_te16 (void *p, unsigned v) const
 
void set_te32 (void *p, unsigned v) const
 
void set_te64 (void *p, upx_uint64_t v) const
 
- Protected Member Functions inherited from LeFile
 __packed_struct (le_header_t) char _[2]
 
 __packed_struct_end () __packed_struct(le_object_table_entry_t) LE32 virtual_size
 
 __packed_struct_end () __packed_struct(le_pagemap_entry_t) unsigned char h
 
 __packed_struct_end () virtual void readObjectTable()
 
virtual void writeObjectTable ()
 
virtual void readFixupPageTable ()
 
virtual void writeFixupPageTable ()
 
virtual void readPageMap ()
 
virtual void writePageMap ()
 
virtual void decodePageMap ()
 
virtual void readResidentNames ()
 
virtual void writeResidentNames ()
 
virtual void encodeResidentNames ()
 
virtual void decodeResidentNames ()
 
virtual void readNonResidentNames ()
 
virtual void writeNonResidentNames ()
 
virtual void encodeNonResidentNames ()
 
virtual void decodeNonResidentNames ()
 
virtual void readEntryTable ()
 
virtual void writeEntryTable ()
 
virtual void readFixups ()
 
virtual void writeFixups ()
 
virtual void readImage ()
 
virtual void writeImage ()
 
void countFixups (unsigned *) const
 
unsigned getImageSize () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Packer
static bool isValidCompressionMethod (int method)
 
- Protected Types inherited from LeFile
enum  { FIXUP_EXTRA = 3 }
 
- Static Protected Member Functions inherited from PackWcle
static void virt2rela (const le_object_table_entry_t *, unsigned *objn, unsigned *addr)
 
- Static Protected Member Functions inherited from Packer
static void handleStub (InputFile *fi, OutputFile *fo, unsigned size)
 
static upx_byte * optimizeReloc (upx_byte *in, unsigned relocnum, upx_byte *out, upx_byte *image, int bs, int *big, int bits)
 
static unsigned unoptimizeReloc (upx_byte **in, upx_byte *image, MemBuffer *out, int bs, int bits)
 
static upx_byte * optimizeReloc32 (upx_byte *in, unsigned relocnum, upx_byte *out, upx_byte *image, int bs, int *big)
 
static unsigned unoptimizeReloc32 (upx_byte **in, upx_byte *image, MemBuffer *out, int bs)
 
static upx_byte * optimizeReloc64 (upx_byte *in, unsigned relocnum, upx_byte *out, upx_byte *image, int bs, int *big)
 
static unsigned unoptimizeReloc64 (upx_byte **in, upx_byte *image, MemBuffer *out, int bs)
 
- Protected Attributes inherited from PackWcle
MemBuffer iobject_desc
 
int big_relocs
 
bool has_extra_code
 
unsigned neweip
 
- Protected Attributes inherited from Packer
const N_BELE_RTP::AbstractPolicybele
 
InputFilefi
 
off_t file_size
 
PackHeader ph
 
int ph_format
 
int ph_version
 
MemBuffer ibuf
 
MemBuffer obuf
 
UiPackeruip
 
Linkerlinker
 
- Protected Attributes inherited from LeFile
char byte_order
 
char word_order
 
LE32 exe_format_level
 
LE16 cpu_type
 
LE16 target_os
 
char _0 [4]
 
LE32 module_type
 
LE32 memory_pages
 
LE32 init_cs_object
 
LE32 init_eip_offset
 
LE32 init_ss_object
 
LE32 init_esp_offset
 
LE32 memory_page_size
 
LE32 bytes_on_last_page
 
LE32 fixup_size
 
char _1 [4]
 
LE32 loader_size
 
char _2 [4]
 
LE32 object_table_offset
 
LE32 object_table_entries
 
LE32 object_pagemap_offset
 
LE32 object_iterate_data_map_offset
 
char _3 [4]
 
LE32 resource_entries
 
LE32 resident_names_offset
 
LE32 entry_table_offset
 
char _4 [4]
 
LE32 module_directives_entries
 
LE32 fixup_page_table_offset
 
LE32 fixup_record_table_offset
 
LE32 imported_modules_name_table_offset
 
LE32 imported_modules_count
 
LE32 imported_procedures_name_table_offset
 
char _5 [4]
 
LE32 data_pages_offset
 
char _6 [4]
 
LE32 non_resident_name_table_offset
 
LE32 non_resident_name_table_length
 
char _7 [4]
 
LE32 automatic_data_object
 
char _8 [44]
 
LE32 base_address
 
LE32 flags
 
LE32 pagemap_index
 
LE32 npages
 
LE32 reserved
 
unsigned char m
 
unsigned char l
 
unsigned char type
 
InputFilefif
 
OutputFilefof
 
unsigned le_offset
 
unsigned exe_offset
 
le_header_t ih
 
le_header_t oh
 
le_object_table_entry_t * iobject_table
 
le_object_table_entry_t * oobject_table
 
unsigned * ifpage_table
 
unsigned * ofpage_table
 
le_pagemap_entry_t * ipm_entries
 
le_pagemap_entry_t * opm_entries
 
upx_byte * ires_names
 
upx_byte * ores_names
 
upx_byte * ifixups
 
upx_byte * ofixups
 
upx_byte * inonres_names
 
upx_byte * ononres_names
 
MemBuffer iimage
 
MemBuffer oimage
 
upx_byte * ientries
 
upx_byte * oentries
 
unsigned soobject_table
 
unsigned sofpage_table
 
unsigned sopm_entries
 
unsigned sores_names
 
unsigned sofixups
 
unsigned sononres_names
 
unsigned soimage
 
unsigned soentries
 

The documentation for this class was generated from the following file: