ps1/exe updates from Jens

This commit is contained in:
László Molnár
2006-08-14 17:15:26 +02:00
parent 97ebd912dc
commit 59dd33a461
4 changed files with 1259 additions and 1207 deletions
+16 -8
View File
@@ -42,7 +42,7 @@ class PackPs1 : public Packer
{
typedef Packer super;
public:
PackPs1(InputFile *f);
PackPs1(InputFile *f);
virtual int getVersion() const { return 13; }
virtual int getFormat() const { return UPX_F_PS1_EXE; }
virtual const char *getName() const { return "ps1/exe"; }
@@ -56,6 +56,8 @@ public:
virtual int canUnpack();
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 void buildPS1Loader(const Filter *ft=0);
virtual int buildLoader(const Filter *ft);
@@ -91,7 +93,8 @@ protected:
}
__attribute_packed;
struct ps1_exe_cp_t
// for unpack
struct ps1_exe_hb_t
{
LE32 ih_bkup[10];
// plus checksum for the backup
@@ -99,17 +102,24 @@ protected:
}
__attribute_packed;
// unpack_only
ps1_exe_cp_t bh;
struct ps1_exe_chb_t
{
unsigned char id;
unsigned char len;
LE16 ih_csum;
unsigned char ih_bkup;
}
__attribute_packed;
ps1_exe_t ih, oh;
ps1_exe_hb_t bh;
bool build_Loader;
bool isCon;
bool is32Bit;
bool build_Loader;
unsigned ram_size;
unsigned sa_cnt, overlap;
unsigned sz_unc, sz_cpr;
unsigned sz_lunc, sz_lcpr;
unsigned pad_code;
// filesize-PS_HDR_SIZE
unsigned fdata_size;
@@ -122,5 +132,3 @@ protected:
/*
vi:ts=4:et
*/