Skip to content

Japanese PS2 elf files are not loading correctly into Ghidra #57

@hidemyaccount

Description

@hidemyaccount

Hello Chaoticgd and Beardypig

I have a PS2 elf file with debug symbols extracted from a released Japanese soccer game (The extracted .elf file can be downloaded here https://drive.google.com/file/d/132KLm-plYiv3_UhJhHjP54FrTqBDA6LO/view?usp=sharing) that is unfortunately not loading correctly in Ghidra when using your emotion engine reloaded extension.

It is also happening for a second japanese PS2 soccer game (this game contains 2 elf files not 1) and the elf files are available here https://drive.google.com/file/d/11GG7dmsZkWURFCwSghLUaGtCBmoMUmww/view?usp=sharing

The majority of the functions in the symbol tree appear red for these games when loaded and are not clickable after the full analysis is performed.

There are errors reported in the log when I am initially loading the elf file into Ghidra and these are as follows:

There were too many messages to display.
134088 messages have been truncated.
Loading file:///C:/Temp/SLPM_622.17?MD5=d7346afe69aaf1dc6da3ee0536444014...
Skipping zero-length segment [12,Loadable segment] at address ram:01bc8000
Skipping section [formation.ovl] with invalid size 0x0
Skipping section [memorycard.ovl] with invalid size 0x0
Skipping section [select1.ovl] with invalid size 0x0
Skipping section [training.ovl] with invalid size 0x0
Skipping section [ovltest.ovl] with invalid size 0x0
Skipping section [title.ovl] with invalid size 0x0
Skipping section [ending.ovl] with invalid size 0x0
Skipping section [enter.ovl] with invalid size 0x0
Skipping section [game.ovl] with invalid size 0x0
Skipping section [leagcup.ovl] with invalid size 0x0
Skipping section [select.ovl] with invalid size 0x0
Skipping section [heap] with invalid size 0x0
Skipping section [filelist.ovl] with invalid size 0x0
_mips_gp0_value=0x1927470
Unable to perform relocation: Type = 2 (0x2) at 01a432f4 (Symbol = FclsF_MakeInfo) - Block is non-existent
Unable to perform relocation: Type = 2 (0x2) at 01a432e8 (Symbol = FclsD_MakeInfo) - Block is non-existent
Unable to perform relocation: Type = 2 (0x2) at 01a432e4 (Symbol = FclsI_MakeInfo) - Block is non-existent
Unable to perform relocation: Type = 2 (0x2) at 01a432e0 (Symbol = FclsR_MakeInfo) - Block is non-existent

The full error list can be viewed here.txt

I originally extracted the elf file from the PS2 game's bin file using "Elf Extract" https://www.psx-place.com/threads/elf-extractor-by-pelvicthrustman.19166/

And after restarting Ghidra, I double checked the extension is installed and I started a new project and loaded the Elf file.

beardypig1 installed the emotion engine extension and its enabled

beardypig import results and errors

beardypig functions dont work

Do you have have any idea or solution on how I can successfully load this elf file into Ghidra. Thank you for your work on the extension.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions