obhq / obliteration

Experimental free and open-source PlayStation 4 kernel
https://obliteration.net
Apache License 2.0
628 stars 18 forks source link

Find out the meaning of OS specific flags on ELF program #219

Open ultimaweapon opened 1 year ago

ultimaweapon commented 1 year ago
[I] Module libSceAjm is mapped to /system/common/lib/libSceAjm.sprx.
[I] Image type    : ELF
[I] Module name   : libSceAjm
[I] Major version : 1
[I] Minor version : 1
[I] Needed module : libSceLibcInternal v1.1
[I] Needed module : libkernel v1.1
[I] Memory address: 0x00000257cd1e0000:0x00000257cd1ec000
[I] Program 0 is mapped to 0x00000257cd1e0000:0x00000257cd1e4000 with EXECUTE | READ | 0x8300000.
[I] Program 1 is mapped to 0x00000257cd1e4000:0x00000257cd1e8000 with READ.
[I] Program 2 is mapped to 0x00000257cd1e8000:0x00000257cd1ec000 with WRITE | READ | 0x8100000.
...
[I] Module libScePlayGo is mapped to /system/common/lib/libScePlayGo.sprx.
[I] Image type    : ELF
[I] Module name   : libScePlayGo
[I] Major version : 1
[I] Minor version : 0
[I] Needed module : libSceLibcInternal v1.1
[I] Needed module : libSceIpmi v1.1
[I] Needed module : libkernel v1.1
[I] Memory address: 0x00000257cf2c0000:0x00000257cf2cc000
[I] Program 0 is mapped to 0x00000257cf2c0000:0x00000257cf2c4000 with EXECUTE | READ | 0x8500000.
[I] Program 1 is mapped to 0x00000257cf2c4000:0x00000257cf2c8000 with READ.
[I] Program 2 is mapped to 0x00000257cf2c8000:0x00000257cf2cc000 with WRITE | READ | 0x8200000.
...
[I] Module libSceErrorDialog is mapped to /system/common/lib/libSceErrorDialog.sprx.
[I] Image type    : ELF
[I] Module name   : libSceErrorDialog
[I] Major version : 1
[I] Minor version : 1
[I] Needed module : libSceIpmi v1.1
[I] Needed module : libSceLibcInternal v1.1
[I] Needed module : libkernel v1.1
[I] Memory address: 0x00000257d0990000:0x00000257d09a0000
[I] Program 0 is mapped to 0x00000257d0990000:0x00000257d0994000 with EXECUTE | READ | 0x8100000.
[I] Program 1 is mapped to 0x00000257d0994000:0x00000257d0998000 with READ.
[I] Program 2 is mapped to 0x00000257d0998000:0x00000257d09a0000 with WRITE | READ | 0x8000000.

https://github.com/freebsd/freebsd-src/blob/release/9.0.0/sys/sys/elf_common.h#L345

ultimaweapon commented 11 months ago

@red-prig do you have any ideas for this?

red-prig commented 11 months ago

@red-prig do you have any ideas for this?

Here are all the constants known to me: https://github.com/red-prig/fpPS4/blob/kern/sys/elf64.pas

red-prig commented 11 months ago

Do you need to explain what some of them do? or did you mean something else?

red-prig commented 11 months ago

If you are talking about constants like 0x8300000, then this is SELFPROPS* I don’t remember where I got the specific source, but here https://github.com/flatz/pkg_pfs_tool/tree/main/src there is also structure data of “self”

ultimaweapon commented 11 months ago

Yeah I mean 0x8300000, sorry for not clarifying.