mirror of https://github.com/upx/upx.git
After upx-3.96, the de-compressing stub for ELF moved
... so unpack() of newly-compressed ELF by upx-3.96 now says "CantUnpackException: need a newer version of UPX" https://github.com/upx/upx/issues/595 modified: p_lx_elf.h modified: packer.h
This commit is contained in:
parent
36e94e58d0
commit
a13b4d10d9
|
@ -40,6 +40,7 @@ public:
|
||||||
PackLinuxElf(InputFile *f);
|
PackLinuxElf(InputFile *f);
|
||||||
virtual ~PackLinuxElf();
|
virtual ~PackLinuxElf();
|
||||||
/*virtual void buildLoader(const Filter *);*/
|
/*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 bool canUnpackVersion(int version) const { return (version >= 11); }
|
||||||
virtual int canUnpack() { return super::canUnpack(); }
|
virtual int canUnpack() { return super::canUnpack(); }
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,8 @@ public:
|
||||||
virtual ~Packer();
|
virtual ~Packer();
|
||||||
virtual void assertPacker() const;
|
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;
|
virtual int getVersion() const = 0;
|
||||||
// A unique integer ID for this executable format. See conf.h.
|
// A unique integer ID for this executable format. See conf.h.
|
||||||
virtual int getFormat() const = 0;
|
virtual int getFormat() const = 0;
|
||||||
|
|
Loading…
Reference in New Issue