diff --git a/src/p_armpe.h b/src/p_armpe.h index 9b88ff29..e5faceed 100644 --- a/src/p_armpe.h +++ b/src/p_armpe.h @@ -42,6 +42,7 @@ public: virtual ~PackArmPe(); virtual int getFormat() const { return UPX_F_WINCE_ARM_PE; } virtual const char *getName() const { return "arm/pe"; } + virtual const char *getFullName(const options_t *) const { return "arm-wince.pe"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_com.h b/src/p_com.h index bc5dbd98..5468d4ff 100644 --- a/src/p_com.h +++ b/src/p_com.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_DOS_COM; } virtual const char *getName() const { return "dos/com"; } + virtual const char *getFullName(const options_t *o) const { return o->cpu == o->CPU_8086 ? "i086-dos16.com" : "i286-dos16.com"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_djgpp2.h b/src/p_djgpp2.h index 707f5377..9d280738 100644 --- a/src/p_djgpp2.h +++ b/src/p_djgpp2.h @@ -43,6 +43,7 @@ public: virtual int getVersion() const { return 14; } virtual int getFormat() const { return UPX_F_DJGPP2_COFF; } virtual const char *getName() const { return "djgpp2/coff"; } + virtual const char *getFullName(const options_t *) const { return "i386-dos32.djgpp2"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_exe.h b/src/p_exe.h index 1d52409c..6f0d4f1e 100644 --- a/src/p_exe.h +++ b/src/p_exe.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_DOS_EXE; } virtual const char *getName() const { return "dos/exe"; } + virtual const char *getFullName(const options_t *o) const { return o->cpu == o->CPU_8086 ? "i086-dos16.exe" : "i286-dos16.exe"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_lx_elf.h b/src/p_lx_elf.h index 5b2f1a3e..74f88a67 100644 --- a/src/p_lx_elf.h +++ b/src/p_lx_elf.h @@ -281,6 +281,7 @@ public: virtual ~PackLinuxElf64amd(); virtual int getFormat() const { return UPX_F_LINUX_ELF64_AMD; } virtual const char *getName() const { return "linux/ElfAMD"; } + virtual const char *getFullName(const options_t *) const { return "amd64-linux.elf"; } virtual const int *getFilters() const; virtual bool canPack(); protected: @@ -303,6 +304,7 @@ public: virtual ~PackLinuxElf32ppc(); virtual int getFormat() const { return UPX_F_LINUX_ELFPPC32; } virtual const char *getName() const { return "linux/ElfPPC"; } + virtual const char *getFullName(const options_t *) const { return "powerpc-linux.elf"; } virtual const int *getFilters() const; protected: virtual void pack1(OutputFile *, Filter &); // generate executable header @@ -322,6 +324,7 @@ public: virtual ~PackLinuxElf32x86(); virtual int getFormat() const { return UPX_F_LINUX_ELF_i386; } virtual const char *getName() const { return "linux/elf386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.elf"; } virtual const int *getFilters() const; virtual void unpack(OutputFile *fo); @@ -356,6 +359,7 @@ class PackFreeBSDElf32x86 : public PackBSDElf32x86 public: PackFreeBSDElf32x86(InputFile *f); virtual ~PackFreeBSDElf32x86(); + virtual const char *getFullName(const options_t *) const { return "i386-freebsd.elf"; } }; class PackNetBSDElf32x86 : public PackBSDElf32x86 @@ -364,6 +368,7 @@ class PackNetBSDElf32x86 : public PackBSDElf32x86 public: PackNetBSDElf32x86(InputFile *f); virtual ~PackNetBSDElf32x86(); + virtual const char *getFullName(const options_t *) const { return "i386-netbsd.elf"; } }; class PackOpenBSDElf32x86 : public PackBSDElf32x86 @@ -372,6 +377,7 @@ class PackOpenBSDElf32x86 : public PackBSDElf32x86 public: PackOpenBSDElf32x86(InputFile *f); virtual ~PackOpenBSDElf32x86(); + virtual const char *getFullName(const options_t *) const { return "i386-openbsd.elf"; } protected: virtual void buildLoader(const Filter *ft); @@ -394,6 +400,7 @@ public: virtual ~PackLinuxElf32armLe(); virtual int getFormat() const { return UPX_F_LINUX_ELF32_ARMLE; } virtual const char *getName() const { return "linux/armLE"; } + virtual const char *getFullName(const options_t *) const { return "arm-linux.elf"; } virtual const int *getFilters() const; protected: @@ -413,6 +420,7 @@ public: virtual ~PackLinuxElf32armBe(); virtual int getFormat() const { return UPX_F_LINUX_ELF32_ARMBE; } virtual const char *getName() const { return "linux/armBE"; } + virtual const char *getFullName(const options_t *) const { return "armeb-linux.elf"; } virtual const int *getFilters() const; protected: diff --git a/src/p_lx_exc.h b/src/p_lx_exc.h index 31953aeb..a27b04ee 100644 --- a/src/p_lx_exc.h +++ b/src/p_lx_exc.h @@ -49,6 +49,7 @@ public: ); virtual int getFormat() const { return UPX_F_LINUX_i386; } virtual const char *getName() const { return "linux/386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.elf.execve"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; virtual void buildLoader(const Filter *); @@ -129,6 +130,7 @@ public: PackBSDI386(InputFile *f); virtual int getFormat() const { return UPX_F_BSD_i386; } virtual const char *getName() const { return "*BSD/386"; } + virtual const char *getFullName(const options_t *) const { return "i386-bsd.elf.execve"; } protected: virtual void pack1(OutputFile *, Filter &); // generate executable header diff --git a/src/p_lx_interp.h b/src/p_lx_interp.h index d4628426..d56ce16b 100644 --- a/src/p_lx_interp.h +++ b/src/p_lx_interp.h @@ -47,6 +47,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_LINUX_ELFI_i386; } virtual const char *getName() const { return "linux/elfi386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.elf.interp"; } virtual bool canPack(); virtual void unpack(OutputFile *fo); diff --git a/src/p_lx_sh.h b/src/p_lx_sh.h index 441d3565..5eb59a0c 100644 --- a/src/p_lx_sh.h +++ b/src/p_lx_sh.h @@ -47,6 +47,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_LINUX_SH_i386; } virtual const char *getName() const { return "linux/sh386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.elf.shell"; } virtual const int *getFilters() const { return NULL; } virtual void buildLoader(const Filter *); diff --git a/src/p_mach.h b/src/p_mach.h index 4ccac3be..9281c5bd 100644 --- a/src/p_mach.h +++ b/src/p_mach.h @@ -165,6 +165,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_MACH_PPC32; } virtual const char *getName() const { return "Mach/ppc32"; } + virtual const char *getFullName(const options_t *) const { return "powerpc-darwin.macho"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_ps1.h b/src/p_ps1.h index 2fcab083..d7e2a744 100644 --- a/src/p_ps1.h +++ b/src/p_ps1.h @@ -46,6 +46,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_PS1_EXE; } virtual const char *getName() const { return "ps1/exe"; } + virtual const char *getFullName(const options_t *) const { return "mipsel.r3000-ps1"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_sys.h b/src/p_sys.h index 6cec2956..b3d14f81 100644 --- a/src/p_sys.h +++ b/src/p_sys.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_DOS_SYS; } virtual const char *getName() const { return "dos/sys"; } + virtual const char *getFullName(const options_t *o) const { return o->cpu == o->CPU_8086 ? "i086-dos16.sys" : "i286-dos16.sys"; } virtual bool canPack(); diff --git a/src/p_tmt.h b/src/p_tmt.h index a1e71ea2..163cc2a2 100644 --- a/src/p_tmt.h +++ b/src/p_tmt.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_TMT_ADAM; } virtual const char *getName() const { return "tmt/adam"; } + virtual const char *getFullName(const options_t *) const { return "i386-dos32.tmt"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_tos.h b/src/p_tos.h index 8c80bf70..30490fa2 100644 --- a/src/p_tos.h +++ b/src/p_tos.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_ATARI_TOS; } virtual const char *getName() const { return "atari/tos"; } + virtual const char *getFullName(const options_t *) const { return "m68k-atari.tos"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_vmlinx.h b/src/p_vmlinx.h index f3c38051..7aa56ce1 100644 --- a/src/p_vmlinx.h +++ b/src/p_vmlinx.h @@ -44,6 +44,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_VMLINUX_i386; } virtual const char *getName() const { return "vmlinux/386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.kernel.vmlinux"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; virtual int getStrategy(Filter &); diff --git a/src/p_vmlinz.h b/src/p_vmlinz.h index ec58d24a..052c477f 100644 --- a/src/p_vmlinz.h +++ b/src/p_vmlinz.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_VMLINUZ_i386; } virtual const char *getName() const { return "vmlinuz/386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.kernel.vmlinuz"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; @@ -101,6 +102,7 @@ public: PackBvmlinuzI386(InputFile *f) : super(f) { } virtual int getFormat() const { return UPX_F_BVMLINUZ_i386; } virtual const char *getName() const { return "bvmlinuz/386"; } + virtual const char *getFullName(const options_t *) const { return "i386-linux.kernel.bvmlinuz"; } virtual void pack(OutputFile *fo); @@ -120,6 +122,7 @@ public: PackElks8086(InputFile *f) : super(f) { } virtual int getFormat() const { return UPX_F_ELKS_8086; } virtual const char *getName() const { return "elks/8086"; } + virtual const char *getFullName(const options_t *) const { return "i086-elks ???"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_w16ne.h b/src/p_w16ne.h index b5678b80..4856beb0 100644 --- a/src/p_w16ne.h +++ b/src/p_w16ne.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_WIN16_NE; } virtual const char *getName() const { return "win16/ne"; } + virtual const char *getFullName(const options_t *o) const { return o->cpu == o->CPU_286 ? "i286-win16.ne" : "i386-win16.ne"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_w32pe.h b/src/p_w32pe.h index f63ba2aa..87742b0c 100644 --- a/src/p_w32pe.h +++ b/src/p_w32pe.h @@ -42,6 +42,7 @@ public: virtual ~PackW32Pe(); virtual int getFormat() const { return UPX_F_WIN32_PE; } virtual const char *getName() const { return isrtm ? "rtm32/pe" : "win32/pe"; } + virtual const char *getFullName(const options_t *) const { return "i386-win32.pe"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/p_wcle.h b/src/p_wcle.h index 1d634812..b13c8c89 100644 --- a/src/p_wcle.h +++ b/src/p_wcle.h @@ -42,6 +42,7 @@ public: virtual int getVersion() const { return 13; } virtual int getFormat() const { return UPX_F_WATCOM_LE; } virtual const char *getName() const { return "watcom/le"; } + virtual const char *getFullName(const options_t *) const { return "i386-dos32.watcom.le"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; diff --git a/src/packer.h b/src/packer.h index 672a1f7a..d58dcef1 100644 --- a/src/packer.h +++ b/src/packer.h @@ -125,6 +125,7 @@ public: // A unique integer ID for this executable format. See conf.h. virtual int getFormat() const = 0; virtual const char *getName() const = 0; + virtual const char *getFullName(const options_t *) const = 0; virtual const int *getCompressionMethods(int method, int level) const = 0; virtual const int *getFilters() const = 0;