Page 1 of 1

.SYM files inside PS1 exe?

Posted: December 14th, 2018, 11:48 am
by TheStolenBattenberg
I tried to make an account at 'AssemblerGames' to post this because it seemed more fitting of a place, but they either don't like my name or the mods don't check their stuff enough.

-

I've been reverse engineering an odd little PS1 title called 'Battle Hunter' for the past two years, and after figuring out the file formats I decided to take a crack at reversing the assembled code (Pre warning I'm not too familiar with the general terminology for these things, as I've learnt what I know as I go).

I noticed that the EXE is bigger than I expected, so I decided to load it up in a hex editor, only to find that there's a bunch of method names for the games code stored inside, for example 'HntSysFontInit(HNTFONTst)'. It also has a bunch of strings and what look like variable names. I wonder if this could be left over debugging information, or as I've heard a .SYM file. I've read in a few places that developers normally strip this information from the EXE, but as the game is from the 'SuperLite 1500' series, I'd be willing to bet they didn't bother.

Anyone heard of anything like this, and if so is it possible to split this data from the code? Would someone be willing to tell me how?

Re: .SYM files inside PS1 exe?

Posted: December 14th, 2018, 1:46 pm
by LameGuy64
That's interesting, with the standard Programmer's Tool SDK the symbol data is usually generated to a separate file with a .sym file extension and symbols are typically not stored inside of a PS-EXE.

It might be a PS-EXE created using CodeWarrior which uses its own compiler (MIPSPRO) and from what I remember the last time I used it, it does not produce a separate symbols file. I'm going to check again when I get home.

Re: .SYM files inside PS1 exe?

Posted: December 15th, 2018, 1:46 pm
by TheStolenBattenberg
LameGuy64 wrote: December 14th, 2018, 1:46 pm That's interesting, with the standard Programmer's Tool SDK the symbol data is usually generated to a separate file with a .sym file extension and symbols are typically not stored inside of a PS-EXE.
Thank you for taking the time to reply and telling me this. I thought it would've been stored in a seperate file myself, as with the few retail games that do contain debugging information. I'd normally think that I'm looking at it the wrong way, but the EXE is 600KB+, and all the games assets are stored in seperate files... I really do doubt that the assembled code could take that much room, as it is very simple.
It might be a PS-EXE created using CodeWarrior which uses its own compiler (MIPSPRO) and from what I remember the last time I used it, it does not produce a separate symbols file. I'm going to check again when I get home.
Would that be possible? This game uses PsyQ (what I assume to be version 4.4 of the library, due to FLIRT signatures in IDA, and the date of the game) so I'd of thought they'd use the compiler that came with PsyQ (GCC, if I'm not mistaken?).

Re: .SYM files inside PS1 exe?

Posted: December 22nd, 2018, 7:11 pm
by LameGuy64
Well, CodeWarrior also does not appear to store any symbol data inside of a PS-EXE either. Its possible those symbol strings you've found are just strings in some libraries used for debug messages.

CodeWarrior would actually produce an ELF file (named as a .pse file) but it does not appear to contain any symbol data even though the file format supports DWARF symbols embedded into it. It instead stores such information in a .tgt file which is its own file format so neither of the development tools would embed symbol data into a PS-EXE.

Re: .SYM files inside PS1 exe?

Posted: February 13th, 2019, 12:10 am
by CandyAngel
Heyas TheStolenBattenberg!
TheStolenBattenberg wrote: December 14th, 2018, 11:48 am I've been reverse engineering an odd little PS1 title called 'Battle Hunter' for the past two years
Would you be willing to share the information you have found? I am implementing this game as a testbed in my game engine and there are some things I would like to know (such as, are the dungeon maps stored assets or randomly generated at runtime. Could they/the algorithm be extracted? etc.).

Re: .SYM files inside PS1 exe?

Posted: July 23rd, 2020, 7:53 am
by lasemoco
I want to do some reverse engineering on this game .

I'd like to know things like the % chance that an enemy spawns at the end of each turn. How it determines which enemy type it is?

Things like... which items can be found in boxes at each relic level...

and so on...

Anyone have any of this stuff for this game?