Skip to content
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

Issues with converting an RPX to an ELF and back #7

Open
BullyWiiPlaza opened this issue Nov 15, 2020 · 2 comments
Open

Issues with converting an RPX to an ELF and back #7

BullyWiiPlaza opened this issue Nov 15, 2020 · 2 comments

Comments

@BullyWiiPlaza
Copy link

wut-tools includes an elf2rpl utility but no rpl2elf utility.

Tools which perform the latter exist in the following:

Chaining together Hykem's rpl2elf and elf2rpl from wut-tools however does not work and yields the following error:

>rpl2elf Foo.rpx Foo.elf
>elf2rpl Foo.elf Foo.rpx
ERROR: Unsupported relocation type 252
ERROR: Unsupported relocation type 253
ERROR: fixRelocations failed.

Questions:

  • Why does Hykem's rpl2elf produce an invalid ELF which cannot be ran on the Wii U? Is there an issue with writing out the relocations?
  • wiiurpxtool can successfully compress and decompress RPX files by itself but decompressing with wiiurpxtool and then re-compressing with elf2rpl does not work with the same error(s) from above. Why does wiiurpxtool succeed at recompressing but elf2rpl does not? It seems like wiiurpxtool also produces a valid RPX once again which can be ran successfully. Which tool is more correct in its behavior?

To clear up the confusion an "official" wut-tools rpl2elf binary or some more insight into the conversion situation would be great.

@asiekierka
Copy link

What's the use case, from the perspective of homebrew development, of converting an RPX to an ELF?

@BullyWiiPlaza
Copy link
Author

@asiekierka The use case is for example to convert a game RPX/RPL to an ELF for easier analysis or modification for game modding purposes. Also in terms of homebrew if you can't recompile an RPX/RPL you may still be able to adjust it via editing the ELF file either because the dependent libraries are gone/undefined or because you don't have the source code in general.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants