add UPX_F_VMLINUX_AMD64, UPX_F_VMLINUX_ARM

This commit is contained in:
John Reiser
2006-12-16 08:13:34 -08:00
parent d7837d9179
commit 112eff2509
18 changed files with 5723 additions and 7 deletions
+76
View File
@@ -73,6 +73,82 @@ protected:
Elf_LE32_Ehdr ehdri; // from input file
};
class PackVmlinuxARM : public Packer
{
typedef Packer super;
public:
PackVmlinuxARM(InputFile *f);
virtual ~PackVmlinuxARM();
virtual int getVersion() const { return 13; }
virtual int getFormat() const { return UPX_F_VMLINUX_ARM; }
virtual const char *getName() const { return "vmlinux/ARM"; }
virtual const char *getFullName(const options_t *) const { return "ARM-linux.kernel.vmlinux"; }
virtual const int *getCompressionMethods(int method, int level) const;
virtual const int *getFilters() const;
virtual int getStrategy(Filter &);
virtual void pack(OutputFile *fo);
virtual void unpack(OutputFile *fo);
virtual bool canPack();
virtual int canUnpack();
protected:
virtual Elf_LE32_Shdr const *getElfSections();
virtual void buildLoader(const Filter *ft);
virtual Linker* newLinker() const;
// virtual const upx_byte *getLoader() const;
// virtual int getLoaderSize() const;
int n_ptload;
unsigned sz_ptload;
Elf_LE32_Phdr *phdri; // from input file
Elf_LE32_Shdr *shdri; // from input file
char *shstrtab; // from input file
Elf_LE32_Shdr *p_text;
Elf_LE32_Shdr *p_note0;
Elf_LE32_Shdr *p_note1;
Elf_LE32_Ehdr ehdri; // from input file
};
class PackVmlinuxAMD64 : public Packer
{
typedef Packer super;
public:
PackVmlinuxAMD64(InputFile *f);
virtual ~PackVmlinuxAMD64();
virtual int getVersion() const { return 13; }
virtual int getFormat() const { return UPX_F_VMLINUX_AMD64; }
virtual const char *getName() const { return "vmlinux/AMD64"; }
virtual const char *getFullName(const options_t *) const { return "amd64-linux.kernel.vmlinux"; }
virtual const int *getCompressionMethods(int method, int level) const;
virtual const int *getFilters() const;
virtual int getStrategy(Filter &);
virtual void pack(OutputFile *fo);
virtual void unpack(OutputFile *fo);
virtual bool canPack();
virtual int canUnpack();
protected:
virtual Elf_LE64_Shdr const *getElfSections();
virtual void buildLoader(const Filter *ft);
virtual Linker* newLinker() const;
// virtual const upx_byte *getLoader() const;
// virtual int getLoaderSize() const;
int n_ptload;
unsigned sz_ptload;
Elf_LE64_Phdr *phdri; // from input file
Elf_LE64_Shdr *shdri; // from input file
char *shstrtab; // from input file
Elf_LE64_Shdr *p_text;
Elf_LE64_Shdr *p_note0;
Elf_LE64_Shdr *p_note1;
Elf_LE64_Ehdr ehdri; // from input file
};
#endif /* already included */