PS3 [Question] VSH export stub libraries

Hi,
I was wondering how the VSH exports stub libraries were made, I wasn't able to find much informations about those.

I do know how to use them in vsh plugin projects and that they were made by 3141card but that's about it.
 
Last edited:
By compiling a project of mine and taking a look at it in ida, as well as taking a look into the sdk headers, I was able to create an artificial stdc import stub

C++ code:
upload_2023-7-22_18-2-1.png


Assembly output:
upload_2023-7-22_18-6-41.png



That was the easy part, but now I'm kinda stuck at making the actual function stubs and tables...
upload_2023-7-22_18-4-6.png
 
Instead of creating a prx project using s0ny SDK try using create library, That will create .a file which is what you want
.a files are static libraries. With that being said you just about got everything right when exporting the FNID.

The vsh export stubs were built using PSL1GHT SDK (see links below).

.rodata.sceFNID
https://github.com/ps3dev/PSL1GHT/b...c29bbeaa33f867ab3/ppu/sprx/common/libexport.c
https://github.com/ps3dev/PSL1GHT/b...e0c29bbeaa33f867ab3/ppu/sprx/common/exports.S

This is how you would define the FNID to export
https://github.com/ps3dev/PSL1GHT/b...5e0c29bbeaa33f867ab3/ppu/sprx/libio/exports.h
 

Similar threads

Back
Top