wololo wrote:jigsaw wrote: Do u mean sceKernelAllocPartitionMemory ?
Yes
This is a really tough one. I have to say I dont know all the details so dont blame me if Im wrong.
UID for sysmem is generated in subroutine SysMemForKernel_0A34C078 (660).
More specifically, value of $s2 at 0x0000B27C. You'll see why it's always odd, coz it's been logic-orred with 0x1.
$s2 is calculated by 2 factors, one of which is return value of sub_0000A9F8, which resorts to sub_00003020.
sub_00003020 is the core function for allocating memory. It returns a pointer to a piece of memory, based on given heap (a struct which holds all info related to a arena for memory allocation), size, and alignment requirement.
So in brief, SysMemForKernel_0A34C078 (sceKernelCreateUID) returns a value which is bound to the address of allocated memory.
To be able to predicate the UID, you will need to know the details and sequence of each allocation ever happened to given partition (user partition, I suppose) after game boot. Sounds impossible but I can assure you it's doable, and it's easier than it sounds.
However I'm not so keen on it coz it requires ALOT effort. Besides, there's another factor that makes up the UID, which is ... see 0x0000B258. This, I have not investigated what the hell it is. So this is a possible block point.