mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Removed unused Packer::freezeLoader(). Changed return type of
buildLoader() from "int" to "void".
This commit is contained in:
parent
9e72ecd93d
commit
be235ddc38
|
@ -462,7 +462,7 @@ bool PackArmPe::canPack()
|
|||
}
|
||||
|
||||
|
||||
int PackArmPe::buildLoader(const Filter *ft)
|
||||
void PackArmPe::buildLoader(const Filter *ft)
|
||||
{
|
||||
const unsigned char *loader = use_thumb_stub ? nrv_loader_thumb : nrv_loader_arm;
|
||||
unsigned size = use_thumb_stub ? sizeof(nrv_loader_thumb) : sizeof(nrv_loader_arm);
|
||||
|
@ -503,8 +503,6 @@ int PackArmPe::buildLoader(const Filter *ft)
|
|||
addLoader("+40C,LZMA_DECODE,LZMA_DEC10", NULL);
|
||||
|
||||
addLoader("IDENTSTR,UPX1HEAD", NULL);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
virtual int canUnpack();
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
virtual unsigned processImports();
|
||||
|
|
|
@ -136,7 +136,7 @@ void PackCom::patchLoader(OutputFile *fo,
|
|||
}
|
||||
|
||||
|
||||
int PackCom::buildLoader(const Filter *ft)
|
||||
void PackCom::buildLoader(const Filter *ft)
|
||||
{
|
||||
initLoader(nrv2b_loader,sizeof(nrv2b_loader));
|
||||
addLoader("COMMAIN1",
|
||||
|
@ -155,8 +155,6 @@ int PackCom::buildLoader(const Filter *ft)
|
|||
assert(ft->calls > 0);
|
||||
addFilter16(ft->id);
|
||||
}
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ protected:
|
|||
virtual Linker* newLinker() const;
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned);
|
||||
virtual void addFilter16(int filter_id);
|
||||
};
|
||||
|
|
|
@ -89,7 +89,7 @@ Linker* PackDjgpp2::newLinker() const
|
|||
}
|
||||
|
||||
|
||||
int PackDjgpp2::buildLoader(const Filter *ft)
|
||||
void PackDjgpp2::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader, sizeof(nrv_loader));
|
||||
|
@ -109,8 +109,6 @@ int PackDjgpp2::buildLoader(const Filter *ft)
|
|||
addFilter32(ft->id);
|
||||
}
|
||||
addLoader("DJRETURN,+40C,UPX1HEAD", NULL);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ protected:
|
|||
virtual unsigned findOverlapOverhead(const upx_bytep buf,
|
||||
unsigned range = 0,
|
||||
unsigned upper_limit = ~0u) const;
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
long coff_offset;
|
||||
|
|
|
@ -94,14 +94,12 @@ void PackElks8086::readKernel()
|
|||
//
|
||||
**************************************************************************/
|
||||
|
||||
int PackElks8086::buildLoader(const Filter *ft)
|
||||
void PackElks8086::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader, sizeof(nrv_loader));
|
||||
// FIXME
|
||||
UNUSED(ft);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ int PackExe::fillExeHeader(struct exe_header_t *eh) const
|
|||
}
|
||||
|
||||
|
||||
int PackExe::buildLoader(const Filter *)
|
||||
void PackExe::buildLoader(const Filter *)
|
||||
{
|
||||
struct exe_header_t tmp_oh;
|
||||
int flag = fillExeHeader(&tmp_oh);
|
||||
|
@ -189,8 +189,6 @@ int PackExe::buildLoader(const Filter *)
|
|||
"EXERETIP",
|
||||
NULL
|
||||
);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -68,7 +68,7 @@ protected:
|
|||
virtual int readFileHeader(void);
|
||||
|
||||
virtual int fillExeHeader(struct exe_header_t *) const;
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
struct exe_header_t
|
||||
|
|
|
@ -431,7 +431,7 @@ void PackLinuxElf32x86::defineSymbols(Filter const *const ft)
|
|||
}
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32::buildLinuxLoader(
|
||||
upx_byte const *const proto,
|
||||
unsigned const szproto,
|
||||
|
@ -488,13 +488,11 @@ PackLinuxElf32::buildLinuxLoader(
|
|||
|
||||
addStubEntrySections(ft);
|
||||
|
||||
freezeLoader();
|
||||
defineSymbols(ft);
|
||||
linker->relocate();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf64::buildLinuxLoader(
|
||||
upx_byte const *const proto,
|
||||
unsigned const szproto,
|
||||
|
@ -538,10 +536,8 @@ PackLinuxElf64::buildLinuxLoader(
|
|||
|
||||
addStubEntrySections(ft);
|
||||
|
||||
freezeLoader();
|
||||
defineSymbols(ft);
|
||||
linker->relocate();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -629,7 +625,7 @@ static const
|
|||
static const
|
||||
#include "stub/i386-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32x86::buildLoader(const Filter *ft)
|
||||
{
|
||||
unsigned char tmp[sizeof(linux_i386elf_fold)];
|
||||
|
@ -647,7 +643,7 @@ PackLinuxElf32x86::buildLoader(const Filter *ft)
|
|||
}
|
||||
}
|
||||
}
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
linux_i386elf_loader, sizeof(linux_i386elf_loader),
|
||||
tmp, sizeof(linux_i386elf_fold), ft );
|
||||
}
|
||||
|
@ -657,7 +653,7 @@ static const
|
|||
static const
|
||||
#include "stub/i386-bsd.elf-fold.h"
|
||||
|
||||
int
|
||||
void
|
||||
PackBSDElf32x86::buildLoader(const Filter *ft)
|
||||
{
|
||||
unsigned char tmp[sizeof(bsd_i386elf_fold)];
|
||||
|
@ -675,7 +671,7 @@ PackBSDElf32x86::buildLoader(const Filter *ft)
|
|||
}
|
||||
}
|
||||
}
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
bsd_i386elf_loader, sizeof(bsd_i386elf_loader),
|
||||
tmp, sizeof(bsd_i386elf_fold), ft );
|
||||
}
|
||||
|
@ -687,7 +683,7 @@ static const
|
|||
static const
|
||||
#include "stub/i386-openbsd.elf-fold.h"
|
||||
|
||||
int
|
||||
void
|
||||
PackOpenBSDElf32x86::buildLoader(const Filter *ft)
|
||||
{
|
||||
unsigned char tmp[sizeof(openbsd_i386elf_fold)];
|
||||
|
@ -705,7 +701,7 @@ PackOpenBSDElf32x86::buildLoader(const Filter *ft)
|
|||
}
|
||||
}
|
||||
}
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
bsd_i386elf_loader, sizeof(bsd_i386elf_loader),
|
||||
tmp, sizeof(openbsd_i386elf_fold), ft );
|
||||
}
|
||||
|
@ -777,16 +773,16 @@ ehdr_lebe(Elf_LE32_Ehdr *const ehdr_le, Elf_BE32_Ehdr const *const ehdr_be)
|
|||
ehdr_le->e_shstrndx = ehdr_be->e_shstrndx;
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32armBe::buildLoader(Filter const *ft)
|
||||
{
|
||||
return ARM_buildLoader(ft, true);
|
||||
ARM_buildLoader(ft, true);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32armLe::buildLoader(Filter const *ft)
|
||||
{
|
||||
return ARM_buildLoader(ft, false);
|
||||
ARM_buildLoader(ft, false);
|
||||
}
|
||||
|
||||
static const
|
||||
|
@ -794,10 +790,10 @@ static const
|
|||
static const
|
||||
#include "stub/powerpc-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32ppc::buildLoader(const Filter *ft)
|
||||
{
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
linux_elfppc32_loader, sizeof(linux_elfppc32_loader),
|
||||
linux_elfppc32_fold, sizeof(linux_elfppc32_fold), ft );
|
||||
}
|
||||
|
@ -807,10 +803,10 @@ static const
|
|||
static const
|
||||
#include "stub/amd64-linux.elf-fold.h"
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf64amd::buildLoader(const Filter *ft)
|
||||
{
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
linux_elf64amd_loader, sizeof(linux_elf64amd_loader),
|
||||
linux_elf64amd_fold, sizeof(linux_elf64amd_fold), ft );
|
||||
}
|
||||
|
@ -1515,7 +1511,7 @@ PackLinuxElf32armLe::getFilters() const
|
|||
return ARM_getFilters(false);
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE)
|
||||
{
|
||||
unsigned const sz_loader = sizeof(linux_elf32arm_loader);
|
||||
|
@ -1542,7 +1538,7 @@ PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE)
|
|||
}
|
||||
}
|
||||
if (!asm_brev) { // was assembled to match target
|
||||
return buildLinuxLoader(linux_elf32arm_loader, sz_loader,
|
||||
buildLinuxLoader(linux_elf32arm_loader, sz_loader,
|
||||
tmp_fold, sz_fold, ft );
|
||||
}
|
||||
else { // was assembled brev() from target
|
||||
|
@ -1567,7 +1563,7 @@ PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE)
|
|||
(isBE ? (void (*)(void *, void const *))ehdr_bele
|
||||
: (void (*)(void *, void const *))ehdr_lebe)
|
||||
(tmp_fold.getVoidPtr(), (void const *)linux_elf32arm_fold);
|
||||
return buildLinuxLoader(brev_loader, sz_loader, tmp_fold, sz_fold, ft);
|
||||
buildLinuxLoader(brev_loader, sz_loader, tmp_fold, sz_fold, ft);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@ class PackLinuxElf : public PackUnix
|
|||
public:
|
||||
PackLinuxElf(InputFile *f);
|
||||
virtual ~PackLinuxElf();
|
||||
/*virtual int buildLoader(const Filter *);*/
|
||||
/*virtual void buildLoader(const Filter *);*/
|
||||
virtual bool canUnpackVersion(int version) const { return (version >= 11); }
|
||||
|
||||
protected:
|
||||
|
@ -90,7 +90,7 @@ protected:
|
|||
|
||||
// These ARM routines are essentially common to big/little endian,
|
||||
// but the class hierarchy splits after this class.
|
||||
virtual int ARM_buildLoader(Filter const *ft, bool isBE);
|
||||
virtual void ARM_buildLoader(Filter const *ft, bool isBE);
|
||||
virtual void ARM_defineSymbols(Filter const *ft);
|
||||
virtual void ARM_updateLoader(OutputFile *);
|
||||
virtual void ARM_pack1(OutputFile *, bool isBE);
|
||||
|
@ -106,7 +106,7 @@ protected:
|
|||
void const *proto,
|
||||
unsigned const brka
|
||||
);
|
||||
virtual int buildLinuxLoader(
|
||||
virtual void buildLinuxLoader(
|
||||
upx_byte const *const proto, // assembly-only sections
|
||||
unsigned const szproto,
|
||||
upx_byte const *const fold, // linked assembly + C section
|
||||
|
@ -172,7 +172,7 @@ class PackLinuxElf64 : public PackLinuxElf
|
|||
public:
|
||||
PackLinuxElf64(InputFile *f);
|
||||
virtual ~PackLinuxElf64();
|
||||
/*virtual int buildLoader(const Filter *);*/
|
||||
/*virtual void buildLoader(const Filter *);*/
|
||||
|
||||
protected:
|
||||
virtual int checkEhdr(Elf64_Ehdr const *ehdr) const;
|
||||
|
@ -188,7 +188,7 @@ protected:
|
|||
void const *proto,
|
||||
unsigned const brka
|
||||
);
|
||||
virtual int buildLinuxLoader(
|
||||
virtual void buildLinuxLoader(
|
||||
upx_byte const *const proto, // assembly-only sections
|
||||
unsigned const szproto,
|
||||
upx_byte const *const fold, // linked assembly + C section
|
||||
|
@ -288,7 +288,7 @@ public:
|
|||
protected:
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
//virtual void pack3(OutputFile *, Filter &); // append loader
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void defineSymbols(Filter const *);
|
||||
};
|
||||
|
@ -308,7 +308,7 @@ public:
|
|||
virtual const int *getFilters() const;
|
||||
protected:
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual Linker* newLinker() const;
|
||||
};
|
||||
|
||||
|
@ -331,7 +331,7 @@ public:
|
|||
protected:
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual void addStubEntrySections(Filter const *);
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void defineSymbols(Filter const *);
|
||||
|
@ -349,7 +349,7 @@ public:
|
|||
protected:
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
};
|
||||
|
||||
class PackFreeBSDElf32x86 : public PackBSDElf32x86
|
||||
|
@ -376,7 +376,7 @@ public:
|
|||
virtual ~PackOpenBSDElf32x86();
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual void generateElfHdr(
|
||||
OutputFile *,
|
||||
void const *proto,
|
||||
|
@ -402,7 +402,7 @@ protected:
|
|||
virtual const int *getCompressionMethods(int method, int level) const;
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual void updateLoader(OutputFile *);
|
||||
virtual void defineSymbols(Filter const *);
|
||||
};
|
||||
|
@ -421,7 +421,7 @@ protected:
|
|||
virtual const int *getCompressionMethods(int method, int level) const;
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual void updateLoader(OutputFile *);
|
||||
virtual void defineSymbols(Filter const *);
|
||||
};
|
||||
|
|
|
@ -292,7 +292,7 @@ Linker *PackLinuxI386::newLinker() const
|
|||
return new ElfLinkerX86;
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxI386::buildLinuxLoader(
|
||||
upx_byte const *const proto,
|
||||
unsigned const szproto,
|
||||
|
@ -372,7 +372,6 @@ PackLinuxI386::buildLinuxLoader(
|
|||
addLoader("IDENTSTR", NULL);
|
||||
addLoader("LEXEC020", NULL);
|
||||
addLoader("FOLDEXEC", NULL);
|
||||
freezeLoader();
|
||||
if (ph.method == M_LZMA) {
|
||||
const lzma_compress_result_t *res = &ph.compress_result.result_lzma;
|
||||
unsigned const properties = // lc, lp, pb, dummy
|
||||
|
@ -394,10 +393,9 @@ PackLinuxI386::buildLinuxLoader(
|
|||
}
|
||||
}
|
||||
linker->relocate();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxI386::buildLoader(Filter const *ft)
|
||||
{
|
||||
unsigned const sz_fold = sizeof(linux_i386exec_fold);
|
||||
|
@ -412,12 +410,12 @@ PackLinuxI386::buildLoader(Filter const *ft)
|
|||
patch_le32(buf,sz_fold,"UPX3",progid);
|
||||
patch_le32(buf,sz_fold,"UPX2",exetype > 0 ? 0 : 0x7fffffff);
|
||||
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
linux_i386exec_loader, sizeof(linux_i386exec_loader),
|
||||
buf, sz_fold, ft );
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackBSDI386::buildLoader(Filter const *ft)
|
||||
{
|
||||
unsigned const sz_fold = sizeof(bsd_i386exec_fold);
|
||||
|
@ -432,7 +430,7 @@ PackBSDI386::buildLoader(Filter const *ft)
|
|||
patch_le32(buf,sz_fold,"UPX3",progid);
|
||||
patch_le32(buf,sz_fold,"UPX2",exetype > 0 ? 0 : 0x7fffffff);
|
||||
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
bsd_i386exec_loader, sizeof(bsd_i386exec_loader),
|
||||
buf, sz_fold, ft );
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
virtual const char *getName() const { return "linux/386"; }
|
||||
virtual const int *getCompressionMethods(int method, int level) const;
|
||||
virtual const int *getFilters() const;
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
|
||||
virtual bool canPack();
|
||||
|
||||
|
@ -64,7 +64,7 @@ protected:
|
|||
// loader util
|
||||
virtual Linker* newLinker() const;
|
||||
virtual int getLoaderPrefixSize() const;
|
||||
virtual int buildLinuxLoader(
|
||||
virtual void buildLinuxLoader(
|
||||
upx_byte const *const proto, // assembly-only sections
|
||||
unsigned const szproto,
|
||||
upx_byte const *const fold, // linked assembly + C section
|
||||
|
@ -133,7 +133,7 @@ public:
|
|||
protected:
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
};
|
||||
#endif /* already included */
|
||||
|
||||
|
|
|
@ -182,7 +182,6 @@ void PackLinuxElf32x86interp::pack3(OutputFile *fo, Filter &/*ft*/)
|
|||
|
||||
addLoader("LXPTI200", NULL);
|
||||
addLoader("FOLDEXEC", NULL);
|
||||
freezeLoader();
|
||||
upx_byte const *p = getLoader();
|
||||
lsize = getLoaderSize();
|
||||
updateLoader(fo);
|
||||
|
|
|
@ -71,7 +71,7 @@ umax(unsigned a, unsigned b)
|
|||
return a;
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackLinuxI386sh::buildLoader(Filter const *ft)
|
||||
{
|
||||
unsigned const sz_fold = sizeof(linux_i386sh_fold);
|
||||
|
@ -99,7 +99,7 @@ PackLinuxI386sh::buildLoader(Filter const *ft)
|
|||
bool success = fold_ft.filter(buf + fold_hdrlen, sz_fold - fold_hdrlen);
|
||||
UNUSED(success);
|
||||
|
||||
return buildLinuxLoader(
|
||||
buildLinuxLoader(
|
||||
linux_i386sh_loader, sizeof(linux_i386sh_loader),
|
||||
buf, sz_fold, ft );
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ public:
|
|||
virtual int getFormat() const { return UPX_F_LINUX_SH_i386; }
|
||||
virtual const char *getName() const { return "linux/sh386"; }
|
||||
virtual const int *getFilters() const { return NULL; }
|
||||
virtual int buildLoader(const Filter *);
|
||||
virtual void buildLoader(const Filter *);
|
||||
|
||||
virtual void pack1(OutputFile *fo, Filter &ft);
|
||||
virtual void pack3(OutputFile *fo, Filter &ft);
|
||||
|
|
|
@ -90,7 +90,7 @@ void PackMachPPC32::defineSymbols(Filter const *)
|
|||
}
|
||||
|
||||
|
||||
int
|
||||
void
|
||||
PackMachPPC32::buildMachLoader(
|
||||
upx_byte const *const proto,
|
||||
unsigned const szproto,
|
||||
|
@ -131,16 +131,14 @@ PackMachPPC32::buildMachLoader(
|
|||
|
||||
addStubEntrySections(ft);
|
||||
|
||||
freezeLoader();
|
||||
defineSymbols(ft);
|
||||
linker->relocate();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
int
|
||||
void
|
||||
PackMachPPC32::buildLoader(const Filter *ft)
|
||||
{
|
||||
return buildMachLoader(
|
||||
buildMachLoader(
|
||||
l_mac_ppc32_loader, sizeof(l_mac_ppc32_loader),
|
||||
fold_machppc32, sizeof(fold_machppc32), ft );
|
||||
}
|
||||
|
|
|
@ -180,12 +180,12 @@ public:
|
|||
virtual unsigned find_SEGMENT_gap(unsigned const k);
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
virtual void patchLoader();
|
||||
virtual void patchLoaderChecksum();
|
||||
virtual void updateLoader(OutputFile *);
|
||||
virtual int buildMachLoader(
|
||||
virtual void buildMachLoader(
|
||||
upx_byte const *const proto,
|
||||
unsigned const szproto,
|
||||
upx_byte const *const fold,
|
||||
|
|
|
@ -300,7 +300,7 @@ bool PackPs1::canPack()
|
|||
//
|
||||
**************************************************************************/
|
||||
|
||||
int PackPs1::buildLoader(const Filter *)
|
||||
void PackPs1::buildLoader(const Filter *)
|
||||
{
|
||||
const char *method = NULL;
|
||||
|
||||
|
@ -402,8 +402,6 @@ int PackPs1::buildLoader(const Filter *)
|
|||
}
|
||||
addLoader("UPX1HEAD", "IDENTSTR", NULL);
|
||||
}
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
#define OPTYPE(x) (((x) >> 13) & 0x7)
|
||||
|
|
|
@ -59,7 +59,7 @@ protected:
|
|||
virtual void putBkupHeader(const unsigned char *src, unsigned char *dst, unsigned *len);
|
||||
virtual bool getBkupHeader(unsigned char *src, unsigned char * dst);
|
||||
virtual bool readBkupHeader();
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual bool findBssSection();
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ void PackSys::patchLoader(OutputFile *fo,
|
|||
}
|
||||
|
||||
|
||||
int PackSys::buildLoader(const Filter *ft)
|
||||
void PackSys::buildLoader(const Filter *ft)
|
||||
{
|
||||
initLoader(nrv2b_loader,sizeof(nrv2b_loader));
|
||||
addLoader("SYSMAIN1",
|
||||
|
@ -123,8 +123,6 @@ int PackSys::buildLoader(const Filter *ft)
|
|||
"SYSJUMP1",
|
||||
NULL
|
||||
);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ protected:
|
|||
virtual unsigned getCallTrickOffset() const { return 0; }
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned);
|
||||
};
|
||||
|
||||
|
|
|
@ -81,7 +81,7 @@ Linker* PackTmt::newLinker() const
|
|||
}
|
||||
|
||||
|
||||
int PackTmt::buildLoader(const Filter *ft)
|
||||
void PackTmt::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader,sizeof(nrv_loader));
|
||||
|
@ -105,8 +105,6 @@ int PackTmt::buildLoader(const Filter *ft)
|
|||
"RELOC32J,TMTJUMP1",
|
||||
NULL
|
||||
);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ protected:
|
|||
virtual unsigned findOverlapOverhead(const upx_bytep buf,
|
||||
unsigned range = 0,
|
||||
unsigned upper_limit = ~0u) const;
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
unsigned adam_offset;
|
||||
|
|
|
@ -93,7 +93,7 @@ void PackTos::LinkerSymbols::LoopInfo::init(unsigned count_, bool allow_dbra)
|
|||
}
|
||||
|
||||
|
||||
int PackTos::buildLoader(const Filter *ft)
|
||||
void PackTos::buildLoader(const Filter *ft)
|
||||
{
|
||||
assert(ft->id == 0);
|
||||
|
||||
|
@ -201,9 +201,6 @@ int PackTos::buildLoader(const Filter *ft)
|
|||
addLoader("loop3_set_count.l", NULL);
|
||||
|
||||
addLoader("jmpstack", NULL);
|
||||
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
|
||||
protected:
|
||||
virtual Linker* newLinker() const;
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
|
||||
virtual int readFileHeader();
|
||||
virtual bool checkFileHeader();
|
||||
|
|
|
@ -223,7 +223,7 @@ Linker* PackVmlinuxI386::newLinker() const
|
|||
}
|
||||
|
||||
|
||||
int PackVmlinuxI386::buildLoader(const Filter *ft)
|
||||
void PackVmlinuxI386::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader, sizeof(nrv_loader));
|
||||
|
@ -245,8 +245,6 @@ int PackVmlinuxI386::buildLoader(const Filter *ft)
|
|||
addFilter32(ft->id);
|
||||
}
|
||||
addLoader("LINUX990,IDENTSTR,UPX1HEAD", NULL);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
|
||||
protected:
|
||||
virtual Elf_LE32_Shdr const *getElfSections();
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
// virtual const upx_byte *getLoader() const;
|
||||
// virtual int getLoaderSize() const;
|
||||
|
|
|
@ -269,7 +269,7 @@ Linker* PackVmlinuzI386::newLinker() const
|
|||
// vmlinuz specific
|
||||
**************************************************************************/
|
||||
|
||||
int PackVmlinuzI386::buildLoader(const Filter *ft)
|
||||
void PackVmlinuzI386::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader, sizeof(nrv_loader));
|
||||
|
@ -286,8 +286,6 @@ int PackVmlinuzI386::buildLoader(const Filter *ft)
|
|||
addFilter32(ft->id);
|
||||
}
|
||||
addLoader("LINUZ990,IDENTSTR,UPX1HEAD", NULL);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
@ -357,7 +355,7 @@ void PackVmlinuzI386::pack(OutputFile *fo)
|
|||
// bvmlinuz specific
|
||||
**************************************************************************/
|
||||
|
||||
int PackBvmlinuzI386::buildLoader(const Filter *ft)
|
||||
void PackBvmlinuzI386::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader, sizeof(nrv_loader));
|
||||
|
@ -387,8 +385,6 @@ int PackBvmlinuzI386::buildLoader(const Filter *ft)
|
|||
addFilter32(ft->id);
|
||||
}
|
||||
addLoader("LINUZ990", NULL);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ protected:
|
|||
virtual int decompressKernel();
|
||||
virtual void readKernel();
|
||||
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
// virtual const upx_byte *getLoader() const;
|
||||
|
@ -105,7 +105,7 @@ public:
|
|||
virtual void pack(OutputFile *fo);
|
||||
|
||||
protected:
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
};
|
||||
|
||||
|
||||
|
@ -132,7 +132,7 @@ protected:
|
|||
virtual int decompressKernel();
|
||||
virtual void readKernel();
|
||||
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -57,7 +57,7 @@ const int *PackW16Ne::getFilters() const
|
|||
}
|
||||
|
||||
|
||||
int PackW16Ne::buildLoader(const Filter *ft)
|
||||
void PackW16Ne::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
// initLoader(nrv_loader,sizeof(nrv_loader));
|
||||
|
@ -68,8 +68,6 @@ int PackW16Ne::buildLoader(const Filter *ft)
|
|||
// addLoader("...");
|
||||
}
|
||||
//
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
protected:
|
||||
virtual int readFileHeader(void);
|
||||
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
};
|
||||
|
||||
|
|
|
@ -535,7 +535,7 @@ bool PackW32Pe::canPack()
|
|||
}
|
||||
|
||||
|
||||
int PackW32Pe::buildLoader(const Filter *ft)
|
||||
void PackW32Pe::buildLoader(const Filter *ft)
|
||||
{
|
||||
// recompute tlsindex (see pack() below)
|
||||
unsigned tmp_tlsindex = tlsindex;
|
||||
|
@ -598,8 +598,6 @@ int PackW32Pe::buildLoader(const Filter *ft)
|
|||
"IDENTSTR,UPX1HEAD",
|
||||
NULL
|
||||
);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
protected:
|
||||
virtual int readFileHeader();
|
||||
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
bool isrtm;
|
||||
|
|
|
@ -88,7 +88,7 @@ Linker* PackWcle::newLinker() const
|
|||
}
|
||||
|
||||
|
||||
int PackWcle::buildLoader(const Filter *ft)
|
||||
void PackWcle::buildLoader(const Filter *ft)
|
||||
{
|
||||
// prepare loader
|
||||
initLoader(nrv_loader,sizeof(nrv_loader));
|
||||
|
@ -118,8 +118,6 @@ int PackWcle::buildLoader(const Filter *ft)
|
|||
"WCLEMAI4",
|
||||
NULL
|
||||
);
|
||||
freezeLoader();
|
||||
return getLoaderSize();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
protected:
|
||||
virtual void handleStub(OutputFile *fo);
|
||||
|
||||
virtual int buildLoader(const Filter *ft);
|
||||
virtual void buildLoader(const Filter *ft);
|
||||
virtual Linker* newLinker() const;
|
||||
|
||||
virtual void readObjectTable();
|
||||
|
|
|
@ -1028,11 +1028,13 @@ void Packer::initLoader(const void *pdata, int plen, int small)
|
|||
}
|
||||
|
||||
|
||||
#if 0
|
||||
void Packer::addLoader(const char *s)
|
||||
{
|
||||
if (s && *s)
|
||||
linker->addLoader(s);
|
||||
}
|
||||
#endif
|
||||
|
||||
void __acc_cdecl_va Packer::addLoader(const char *s, ...)
|
||||
{
|
||||
|
@ -1314,7 +1316,8 @@ void Packer::compressWithFilters(Filter *parm_ft,
|
|||
{
|
||||
// get results
|
||||
ph.overlap_overhead = findOverlapOverhead(*otemp, overlap_range);
|
||||
lsize = buildLoader(&ft);
|
||||
buildLoader(&ft);
|
||||
lsize = getLoaderSize();
|
||||
assert(lsize > 0);
|
||||
}
|
||||
#if 0
|
||||
|
|
|
@ -203,18 +203,17 @@ protected:
|
|||
virtual void checkAlreadyPacked(const void *b, int blen);
|
||||
|
||||
// loader core
|
||||
virtual int buildLoader(const Filter *ft) = 0;
|
||||
virtual void buildLoader(const Filter *ft) = 0;
|
||||
virtual Linker* newLinker() const = 0;
|
||||
// loader util for linker
|
||||
void freezeLoader() { }
|
||||
virtual upx_byte *getLoader() const;
|
||||
virtual int getLoaderSize() const;
|
||||
virtual void initLoader(const void *pdata, int plen, int small=-1);
|
||||
#if 1 && (ACC_CC_GNUC >= 0x040100)
|
||||
virtual void addLoader(const char *);
|
||||
//virtual void addLoader(const char *);
|
||||
virtual void __acc_cdecl_va addLoader(const char *, ...) __attribute__((__sentinel__));
|
||||
#else
|
||||
virtual void addLoader(const char *);
|
||||
//virtual void addLoader(const char *);
|
||||
virtual void __acc_cdecl_va addLoader(const char *, ...);
|
||||
#endif
|
||||
virtual int getLoaderSection(const char *name, int *slen=NULL) const;
|
||||
|
|
Loading…
Reference in New Issue
Block a user