Skip to content

sys_prx: implement get_module_id_by_name, module_info_v2#16573

Merged
elad335 merged 3 commits into
RPCS3:masterfrom
InvoxiPlayGames:prx-improvements
Jan 18, 2025
Merged

sys_prx: implement get_module_id_by_name, module_info_v2#16573
elad335 merged 3 commits into
RPCS3:masterfrom
InvoxiPlayGames:prx-improvements

Conversation

@InvoxiPlayGames

Copy link
Copy Markdown
Contributor

Implements 2 sys_prx features:

  • sys_prx_get_module_id_by_name, self explanatory
  • version 2 of sys_prx_module_info, which includes addresses to the import/export stub tables

@elad335

elad335 commented Jan 18, 2025

Copy link
Copy Markdown
Contributor

From sys_prx_module_info disassembly:

  1. This is the check that checks the size member, it checks only 0x48 bytes and return EINVAL if not matches:

image

  1. All normal return paths do not include a call to output data beyond 0x48 bytes:

image

@InvoxiPlayGames

Copy link
Copy Markdown
Contributor Author

In 4.90 (and 4.91, but I don't have it on-hand) it looks to check for 0x58 first before checking 0x48.

From 4.90 disassembly, it checks 0x58, then 0x48, then returns EINVAL.

image
image

Comment thread rpcs3/Emu/Cell/lv2/sys_prx.cpp Outdated
@elad335 elad335 self-requested a review January 18, 2025 12:30
@elad335 elad335 merged commit 10e0fb2 into RPCS3:master Jan 18, 2025
Xcedf pushed a commit to Xcedf/rpcs3 that referenced this pull request Jan 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants