|
enum | {
PEDIR_EXPORT = 0,
PEDIR_IMPORT = 1,
PEDIR_RESOURCE = 2,
PEDIR_EXCEPTION = 3,
PEDIR_SEC = 4,
PEDIR_RELOC = 5,
PEDIR_DEBUG = 6,
PEDIR_COPYRIGHT = 7,
PEDIR_GLOBALPTR = 8,
PEDIR_TLS = 9,
PEDIR_LOADCONF = 10,
PEDIR_BOUNDIM = 11,
PEDIR_IAT = 12,
PEDIR_DELAYIMP = 13,
PEDIR_COMRT = 14
} |
|
enum | {
PEFL_CODE = 0x20,
PEFL_DATA = 0x40,
PEFL_BSS = 0x80,
PEFL_INFO = 0x200,
PEFL_EXTRELS = 0x01000000,
PEFL_DISCARD = 0x02000000,
PEFL_NOCACHE = 0x04000000,
PEFL_NOPAGE = 0x08000000,
PEFL_SHARED = 0x10000000,
PEFL_EXEC = 0x20000000,
PEFL_READ = 0x40000000,
PEFL_WRITE = 0x80000000
} |
|
enum | {
RELOCS_STRIPPED = 0x0001,
EXECUTABLE = 0x0002,
LNUM_STRIPPED = 0x0004,
LSYMS_STRIPPED = 0x0008,
AGGRESSIVE_TRIM = 0x0010,
TWO_GIGS_AWARE = 0x0020,
FLITTLE_ENDIAN = 0x0080,
BITS_32_MACHINE = 0x0100,
DEBUG_STRIPPED = 0x0200,
REMOVABLE_SWAP = 0x0400,
SYSTEM_PROGRAM = 0x1000,
DLL_FLAG = 0x2000,
FBIG_ENDIAN = 0x8000
} |
|
enum | {
IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040,
IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080,
IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200,
IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400,
IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800,
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000
} |
|
enum | {
RT_CURSOR = 1,
RT_BITMAP,
RT_ICON,
RT_MENU,
RT_DIALOG,
RT_STRING,
RT_FONTDIR,
RT_FONT,
RT_ACCELERATOR,
RT_RCDATA,
RT_MESSAGETABLE,
RT_GROUP_CURSOR,
RT_GROUP_ICON = 14,
RT_VERSION = 16,
RT_DLGINCLUDE,
RT_PLUGPLAY = 19,
RT_VXD,
RT_ANICURSOR,
RT_ANIICON,
RT_HTML,
RT_MANIFEST,
RT_LAST
} |
|
|
| PeFile (InputFile *f) |
|
virtual int | getVersion () const |
|
void | readSectionHeaders (unsigned objs, unsigned sizeof_ih) |
|
unsigned | readSections (unsigned objs, unsigned usize, unsigned ih_filealign, unsigned ih_datasize) |
|
void | checkHeaderValues (unsigned subsystem, unsigned mask, unsigned ih_entry, unsigned ih_filealign) |
|
unsigned | handleStripRelocs (upx_uint64_t ih_imagebase, upx_uint64_t default_imagebase, unsigned dllflags) |
|
virtual bool | handleForceOption ()=0 |
|
virtual void | callCompressWithFilters (Filter &, int filter_strategy, unsigned ih_codebase) |
|
virtual void | defineSymbols (unsigned ncsection, unsigned upxsection, unsigned sizeof_oh, unsigned isize_isplit, Reloc &rel, unsigned s1addr)=0 |
|
virtual void | addNewRelocations (Reloc &, unsigned) |
|
void | callProcessRelocs (Reloc &rel, unsigned &ic) |
|
void | callProcessResources (Resource &res, unsigned &ic) |
|
virtual unsigned | getProcessImportParam (unsigned) |
|
virtual void | setOhDataBase (const pe_section_t *osection)=0 |
|
virtual void | setOhHeaderSize (const pe_section_t *osection)=0 |
|
template<typename LEXX , typename ht > |
void | pack0 (OutputFile *fo, ht &ih, ht &oh, unsigned subsystem_mask, upx_uint64_t default_imagebase, bool last_section_rsrc_only) |
|
template<typename ht , typename LEXX , typename ord_mask_t > |
void | unpack0 (OutputFile *fo, const ht &ih, ht &oh, ord_mask_t ord_mask, bool set_oft) |
|
virtual bool | canUnpackVersion (int version) const |
|
int | canUnpack0 (unsigned max_sections, LE16 &ih_objects, LE32 &ih_entry, unsigned ihsize) |
|
virtual int | readFileHeader () |
|
virtual bool | testUnpackVersion (int version) const |
|
virtual void | readPeHeader ()=0 |
|
template<typename LEXX , typename ord_mask_t > |
unsigned | processImports0 (ord_mask_t ord_mask) |
|
template<typename LEXX , typename ord_mask_t > |
void | rebuildImports (upx_byte *&extrainfo, ord_mask_t ord_mask, bool set_oft) |
|
virtual unsigned | processImports ()=0 |
|
virtual void | processImports2 (unsigned, unsigned) |
|
virtual const char * | kernelDll () const |
|
void | addKernelImport (const char *) |
|
virtual void | addStubImports () |
|
upx_uint64_t | ilinkerGetAddress (const char *, const char *) const |
|
virtual void | processRelocs ()=0 |
|
void | processRelocs (Reloc *) |
|
void | rebuildRelocs (upx_byte *&, unsigned bits, unsigned flags, upx_uint64_t imagebase) |
|
void | processExports (Export *) |
|
void | processExports (Export *, unsigned) |
|
void | rebuildExports () |
|
void | processResources (Resource *) |
|
void | processResources (Resource *, unsigned) |
|
void | rebuildResources (upx_byte *&, unsigned) |
|
template<typename LEXX > |
void | processTls1 (Interval *iv, typename tls_traits< LEXX >::cb_value_t imagebase, unsigned imagesize) |
|
template<typename LEXX > |
void | processTls2 (Reloc *rel, const Interval *iv, unsigned newaddr, typename tls_traits< LEXX >::cb_value_t imagebase) |
|
virtual void | processTls (Interval *iv)=0 |
|
virtual void | processTls (Reloc *r, const Interval *iv, unsigned a)=0 |
|
void | rebuildTls () |
|
void | processLoadConf (Reloc *, const Interval *, unsigned) |
|
void | processLoadConf (Interval *) |
|
unsigned | stripDebug (unsigned) |
|
| __packed_struct (ddirs_t) LE32 vaddr |
|
| __packed_struct_end () ddirs_t *iddirs |
|
LE32 & | IDSIZE (unsigned x) |
|
LE32 & | IDADDR (unsigned x) |
|
LE32 & | ODSIZE (unsigned x) |
|
LE32 & | ODADDR (unsigned x) |
|
| __packed_struct (pe_section_t) char name[8] |
|
| __packed_struct_end () pe_section_t *isection |
|
unsigned | tryremove (unsigned, unsigned) |
|
| Packer (InputFile *f) |
|
virtual bool | testUnpackFormat (int format) const |
|
virtual void | pack (OutputFile *fo)=0 |
|
virtual void | unpack (OutputFile *fo)=0 |
|
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 | buildLoader (const Filter *ft)=0 |
|
virtual Linker * | newLinker () const =0 |
|
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 |
|