-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
support for symbol kind 0x05 not yet implemented #1
Comments
Now capable of parsing MAIN.SYM (from Tomb5). Updates #1.
Hi @Nightshades1, Thanks for the notice. I've now updated sym_dump to handle symbol kinds 0x05 and 0x06. As of rev c2001ca it can parse To be able to recreate the C headers, I had to add a few hacks. These are now in the tomb5 branch. Even if the implementation isn't perfect, hope it may help get some insight. Feel free to suggest improvements! $ sym_dump -c -src MAIN.SYM
2018/10/18 22:34:02 unable to locate function "PCread"
2018/10/18 22:34:02 unable to locate function "PCwrite"
2018/10/18 22:34:02 unable to locate function "__sn_cpp_structors"
creating: _dump_/types.h
creating: _dump_/projects2/tomb5/game/box.c
creating: _dump_/projects2/tomb5/game/camera.c
creating: _dump_/projects2/tomb5/game/collide.c
creating: _dump_/projects2/tomb5/game/control.c
creating: _dump_/projects2/tomb5/game/debris.c
creating: _dump_/projects2/tomb5/game/delstuff.c
creating: _dump_/projects2/tomb5/game/deltapak.c
creating: _dump_/projects2/tomb5/game/door.c
creating: _dump_/projects2/tomb5/game/draw.c
creating: _dump_/projects2/tomb5/game/effect2.c
creating: _dump_/projects2/tomb5/game/effects.c
creating: _dump_/projects2/tomb5/game/flmtorch.c
creating: _dump_/projects2/tomb5/game/gameflow.c
creating: _dump_/projects2/tomb5/game/hair.c
creating: _dump_/projects2/tomb5/game/health.c
creating: _dump_/projects2/tomb5/game/items.c
creating: _dump_/projects2/tomb5/game/lara.c
creating: _dump_/projects2/tomb5/game/lara1gun.c
creating: _dump_/projects2/tomb5/game/lara2gun.c
creating: _dump_/projects2/tomb5/game/laraclmb.c
creating: _dump_/projects2/tomb5/game/larafire.c
... $ sym_dump -ida MAIN.SYM
2018/10/18 22:35:26 unable to locate function "PCread"
2018/10/18 22:35:26 unable to locate function "PCwrite"
2018/10/18 22:35:26 unable to locate function "__sn_cpp_structors"
creating: _dump_/make_psx.py
creating: _dump_/set_funcs.py
creating: _dump_/set_vars.py
creating: _dump_/types.h |
Hi @mewmew Mew Mooooooo ! :) Thank you for your support, i'm having issue again (is it normal ?) I re-downloaded it with go get -u github.com/sanctuary/sym/cmd/sym_dump then i went on github, downloaded as ZIP (tomb5 branch) extracted in go\src\github.com\sanctuary\sym to get the updated changes. Then i went to cmd\sym_dump I go in my directory where the .SYM is, Left shift+Right click -> Open new console here, sym_dump.exe -c -src MAIN.SYM. |
Tbh I don't even know why sony haven't still provided a real debugger for the psx (debug without the real hardware) plus the original parser/dissector that should rebuild most of the game code, i'm sure those guys have something like this, same for .CPE file, sony making the playstation classic oh god ... Also is .MAP file supported ? it's always nice to get a nice listing in IDA. |
Hi @Nightshades1, Note, you need to change Git branch to the tomb5 branch. Do so by running the following commands.
Extract C headers.
Create IDA Python scripts.
Hope that helps! Cheers, |
Ok this worked fine however certain function name aren't here, look's like your parser did skip or maybe you haven't implemented everything yet =P. From the .MAP file of the game, 0007F9C0 WANK3 in IDA this result it as being sub_7F9C0 =p. Lot of functions name were set that's great though, hope that you can make it close to perfection later haha. |
It seems this issue (and probably for Resident Evil as well) are caused by unimplemented class types. Could this perhaps be easily implemented by looking at the official code? Class 103 (0x67) should be of type |
MAIN.zip
TR5 Symbols.
The text was updated successfully, but these errors were encountered: