I think there's either a bug in SceModule structure definition, or I missed something critical...
the structure is here: http://dark-alex.org/pspsdk_docs/structSceModule.html
I made a simple dump from what sceKernelFindModuleByName returned and this is what I got:
(it's vshControl module)
Code: Select all
E4 3E 22 88 07 10 03 01 56 73 68 43 6F 6E 74 72 6F 6C 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 05 04 00 00 3A 00 01 00 4B 43 48 04
FF FF FF FF 4D 9A 48 04 01 00 00 00 01 00 00 00 10 BF 24 88 20 00 00 00
38 BF 24 88 04 01 00 00 3C A0 24 88 FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF<- 3C A0 24 88 00 4B 25 88 00 80 24 88 F8 42 00 00 3C 02 00 00
20 02 00 00 01 00 00 00 00 80 24 88 00 00 00 00 00 00 00 00 00 00 00 00
30 4D 00 00 00 00 00 00 00 00 00 00
from what I figured out while reversing some modules that use this struct, the unknown4 member should be 5 ints long, not 4.
So entry_addr is the next int and text_addr is int number 27.
If you look at text_size, it makes sense...
I have checked this by dereferencing text_addr+4 and comparing the result to disassembly and it fits.
What do you think?