diff --git a/src/p_lx_elf.h b/src/p_lx_elf.h index f963d05c..a749e90a 100644 --- a/src/p_lx_elf.h +++ b/src/p_lx_elf.h @@ -40,6 +40,7 @@ public: PackLinuxElf(InputFile *f); virtual ~PackLinuxElf(); /*virtual void buildLoader(const Filter *);*/ + virtual int getVersion() const override { return 14; } // upx-3.96 cannot upack, for instance virtual bool canUnpackVersion(int version) const { return (version >= 11); } virtual int canUnpack() { return super::canUnpack(); } diff --git a/src/packer.h b/src/packer.h index fa1a1af0..3ed72373 100644 --- a/src/packer.h +++ b/src/packer.h @@ -116,6 +116,8 @@ public: virtual ~Packer(); virtual void assertPacker() const; + // getVersion() enables detecting forward incompatibility of unpack() + // by old upx when newer upx changes the format of compressed output. virtual int getVersion() const = 0; // A unique integer ID for this executable format. See conf.h. virtual int getFormat() const = 0;