Users browsing this thread: 1 Guest(s)
[Program] FSYS Opener
#18
Reverse-engineering? What a wonderful opportunity to procrastinate! Big Grin

So, you still have not explained very clearly what an FSYS file is. A bit of googling led me to believe it is a video/audio file used primarily in Gamecube Pokemon games? Secondly, am I right in saying the FSYS file type is not well documented?

Some searching made me come to this (http://forum.xentax.com/viewtopic.php?f=10&t=8890), some guy has started something similar. You should definitely check this out if you haven't already.
In his pseudo-code, you can see the following structure:

Code:
struct fsys_file_header {
  char magic[4]; //FSYS
  uint32_t t1;
  uint32_t t2;
  uint32_t file_size; //DATA_COUNT?
  uint32_t t3;
  uint32_t t4;
  uint32_t info_offset; //start address of info header
  uint32_t data_offset; //DATA_BASE, start address of data
  uint32_t file_size;
};

struct fsys_info_header {
  uint32_t array_offset;
  uint32_t name_table:
  uint32_t base_offset;
};

struct fsys_fdat_entry {
  uint32_t data_hash;  // CRC-32? You probably know more than me.
  uint32_t offset;
  uint32_t size;
  uint32_t t1;
  uint32_t t2;
  uint32_t z_size;
  uint32_t t3;
  uint32_t t4;
  uint32_t t5;
  uint32_t name_offset
};

/* ETC.... */
You may already have got this far, but hopefully this will get you started in the right way.
And those numbers at offset 06 & 07? Well, they do not seem that important if the other person's doc. is to be believed, as they fit into a temp (ie. dummy) variable. Perhaps some metadata, maybe information about the compression, or file version information.

As for LZSS, that is a classic LZ compression scheme, which basically is an improved LZ77 with less redundant data sent.

I see you are using Windows from your screenshots, but let me say this: there is a reason Linux is called a hacker's OS. There are many little utilities available to encrypt/decrypt strings on the command line, among other things. You should be fine with a good hex editor, and I recommend something to prototype quickly (not C++; a scripting language like python, maybe) for experiments.

Sorry if I have oversimplified or repeated stuff you know already.
Good luck.

EDIT: As per the C++ debate; C++ is a very complex language. It is one of the only languages not to have a context-free grammar representation, because of its many ambiguities. It is also one of the slowest to compile. BUT it is definitely one the most powerful you can use: native, object-oriented, template meta-programming, ... There is a reason to the fact it is the #1 language in video games, high-performance programs, and many other areas.
My 2 cents: perhaps C# would have been a wiser choice for a GUI program. Or at least, the GUI side of it, it is much simpler. C++ is a bit more work, but you seem to have something good already, so carry on, good sir.
I manage an emulation project called Chip16, check it out!
Peace!


Messages In This Thread
[Program] FSYS Opener - by TheAmazingSnivy - 05-16-2012, 04:35 PM
RE: [Program] FSYS Opener - by Previous - 05-16-2012, 04:52 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-16-2012, 04:55 PM
RE: [Program] FSYS Opener - by puggsoy - 05-17-2012, 09:50 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-17-2012, 12:25 PM
RE: [Program] FSYS Opener - by puggsoy - 05-17-2012, 01:49 PM
RE: [Program] FSYS Opener - by Hoeloe - 05-17-2012, 02:49 PM
RE: [Program] FSYS Opener - by puggsoy - 05-17-2012, 03:40 PM
RE: [Program] FSYS Opener - by Hoeloe - 05-17-2012, 03:59 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-17-2012, 04:33 PM
RE: [Program] FSYS Opener - by Hoeloe - 05-18-2012, 01:50 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-18-2012, 12:50 PM
RE: [Program] FSYS Opener - by puggsoy - 05-18-2012, 05:19 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-18-2012, 06:57 PM
RE: [Program] FSYS Opener - by Garamonde - 05-19-2012, 11:24 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-19-2012, 02:15 PM
RE: [Program] FSYS Opener - by Garamonde - 05-19-2012, 05:10 PM
RE: [Program] FSYS Opener - by tykel - 05-24-2012, 05:08 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-28-2012, 08:17 PM
RE: [Program] FSYS Opener - by puggsoy - 05-29-2012, 03:23 AM
RE: [Program] FSYS Opener - by tykel - 05-29-2012, 07:17 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-29-2012, 10:35 AM
RE: [Program] FSYS Opener - by TGE - 06-02-2012, 03:24 AM
RE: [Program] FSYS Opener - by Hoeloe - 06-02-2012, 04:27 AM
RE: [Program] FSYS Opener - by Previous - 06-02-2012, 04:17 AM
RE: [Program] FSYS Opener - by tykel - 06-03-2012, 06:20 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 06-04-2012, 05:02 AM
RE: [Program] FSYS Opener - by tykel - 06-05-2012, 08:21 AM
RE: [Program] FSYS Opener - by puggsoy - 06-05-2012, 02:09 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 06-05-2012, 08:56 AM
RE: [Program] FSYS Opener - by tykel - 06-05-2012, 09:06 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 06-05-2012, 09:10 AM
RE: [Program] FSYS Opener - by tykel - 06-05-2012, 09:13 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 06-05-2012, 09:16 AM
RE: [Program] FSYS Opener - by Garamonde - 06-05-2012, 11:30 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 06-05-2012, 01:29 PM
RE: [Program] FSYS Opener - by tykel - 06-05-2012, 03:32 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 07-01-2012, 08:03 PM
RE: [Program] FSYS Opener - by ThePortalGuru - 07-02-2012, 12:15 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-11-2012, 02:09 AM
RE: [Program] FSYS Opener - by puggsoy - 08-11-2012, 05:02 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-11-2012, 06:07 AM
RE: [Program] FSYS Opener - by Garamonde - 08-11-2012, 12:26 PM
RE: [Program] FSYS Opener - by TheShyGuy - 08-11-2012, 05:38 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-12-2012, 01:08 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-12-2012, 02:31 AM
RE: [Program] FSYS Opener - by Garamonde - 08-12-2012, 02:36 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-12-2012, 10:34 PM
RE: [Program] FSYS Opener - by Previous - 08-13-2012, 01:36 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-13-2012, 02:04 AM
RE: [Program] FSYS Opener - by Previous - 08-13-2012, 02:16 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-13-2012, 02:24 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 08-13-2012, 10:42 AM
RE: [Program] FSYS Opener - by Rectangle - 12-30-2012, 07:54 AM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 01-12-2013, 04:57 PM
RE: [Program] FSYS Opener - by Lilothestitch - 04-17-2013, 02:59 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 04-22-2013, 08:23 PM
RE: [Program] FSYS Opener - by TheAmazingSnivy - 05-22-2013, 09:07 AM
RE: [Program] FSYS Opener - by Lilothestitch - 05-30-2013, 08:23 AM
RE: [Program] FSYS Opener - by starly396 - 10-28-2013, 10:35 PM
RE: [Program] FSYS Opener - by Lilothestitch - 01-16-2014, 02:07 PM

Forum Jump: