PS3 Manager API

Updated link for PS3Lib v4.5, Fake PS3Lib and PS3M_API Demo PC Tools (Mediafire block due to DMCA, dont know why ...)

PSNPatch' disable syscalls makes the PS3 Manager nonfunctional when attaching a tool due to it not being to make the necessary calls.

Isn't there an increased ban risk to attach a modding tool and THEN disabling syscalls in the demo PS3 Manager API after? I see individual syscalls in the file to disable. Are we meant to disable individual ones that would prevent bans but allow tools to attach and function? If so, which ones are they?

Would Webman's disable syscalls be different from PSNPatch and allow tools to attach without issue? It's crucial for me to know how to properly disable Syscalls when using PS3MAPI. Thanks guys.

Webman dont disable syscall8 to keep cobra (mamba) and ps3mapi working.
I use syscall disable with webman-mod for a long time now (several month) and never be banned, so i think its safe.
 
Last edited:
I have "made" a new homebrew who do the same job as "MAMBA + PRX LOADER" By @aldostools but it no more use prxloader.self to load vsh plugin, all necessary code to install mamba and load vsh plugin is in the same self now (since we no more need to reload a self to get vsh process for MAMBA).

It include the last MAMBA update (with PS3M_API v1.2) and webMAN-MOD 1.41.30 (webftp_server_ps3mapi.sprx, commit: ce428978e3).

I call this homebrew "MAMBA Loader" (if you have a better name or/and a logo i take it ^^), i removed the prx part because prxloader.self and is payload is no more used (vsh plugin are load with mamba).

Most part of code of "MAMBA Loader" to install Iris ("sky") payload and MAMBA come from ManaGunZ v1.10 by @Zar, it more easier to me understand it and keep only what i needs than IRISMAN By @aldostools (Who is the base of MAMBA + PRX LOADER)

Download: https://mega.co.nz/#!Mt1BlCpS!a5oxDtuy6ONoLT-azar4WY1_OwkTJsi4KM50FQjm3AE
Source code: https://github.com/NzV/MAMBA_Loader

Supported CFW:

-CEX: 4.21, 4.30, 4.31, 4.40, 4.41, 4.46, 4.50, 4.53, 4.55, 4.60, 4.65, 4.66, 4.70
-DEX: 4.21, 4.41, 4.46, 4.50, 4.53, 4.55, 4.65, 4.66

CEX and DEX 3.55 support is missing for now (like in ManaGunZ v1.10 by @Zar).

I have tested it only on HABIB 4.70 COBRA 7.10 (cobra toggle off) for now it seem to work great, but if some one can test to it too and/or check my source code to see if everything is good (unneeded thinks? missing thinks ?).
 
Last edited:
I have "made" a new homebrew who do the same job as "MAMBA + PRX LOADER" By @aldostools but it no more use prxloader.self to load vsh plugin, all necessary code to install mamba and load vsh plugin is in the same self now (since we no more need to reload a self to get vsh process for MAMBA).

It include the last MAMBA update (with PS3M_API v1.2) and webMAN-MOD 1.41.30 (webftp_server_ps3mapi.sprx, commit: ce428978e3).

I call this homebrew "MAMBA Loader" (if you have a better name or/and a logo i take it ^^), i removed the prx part because prxloader.self and is payload is no more used (vsh plugin are load with mamba).

Most part of code of "MAMBA Loader" to install Iris ("sky") payload and MAMBA come from ManaGunZ v1.10 by @Zar, it more easier to me understand it and keep only what i needs than IRISMAN By @aldostools (Who is the base of MAMBA + PRX LOADER)

Download: https://mega.co.nz/#!Mt1BlCpS!a5oxDtuy6ONoLT-azar4WY1_OwkTJsi4KM50FQjm3AE
Source code: https://github.com/NzV/MAMBA_Loader

Supported CFW:

-CEX: 4.21, 4.30, 4.31, 4.40, 4.41, 4.46, 4.50, 4.53, 4.55, 4.60, 4.65, 4.66, 4.70
-DEX: 4.21, 4.41, 4.46, 4.50, 4.53, 4.55, 4.65, 4.66

CEX and DEX 3.55 support is missing for now (like in ManaGunZ v1.10 by @Zar).

I have tested it only on HABIB 4.70 COBRA 7.10 (cobra toggle off) for now it seem to work great, but if some one can test to it too and/or check my source code to see if everything is good (unneeded thinks? missing thinks ?).

Thanks for the update, this seems to be better off than having IRIS payload loaded all together. I'll give a shot with 4.30 DEX/MAMBA :)

It may work who knows.
 
[MENTION=29]Joonie[/MENTION] no it won't work, i was already using managunz it when we were trying to port mamba to 4.30DEX (few time ago on psx-scene, do you remember ?) Moreover this is doing exactly the same thing than IRISMAN because I copied this functiun from it, i just rewrote it a little bit ^^'
 
Last edited:
[MENTION=29]Joonie[/MENTION] no it won't work, i was already using managunz it when we were trying to port mamba to 4.30DEX (few time ago on psx-scene, do you remember ?) Moreover this is doing exactly the same thing than IRISMAN because I copied this functiun from it, i just rewrote it a little bit ^^'

I have no idea why the hell 4.21 cex/dex and 4.30 cex / 4.31 cex work fine with mamba but not with 4.30DEX.. =_=
Thanks for your note :)
 
I have "made" a new homebrew who do the same job as "MAMBA + PRX LOADER" By @aldostools but it no more use prxloader.self to load vsh plugin, all necessary code to install mamba and load vsh plugin is in the same self now (since we no more need to reload a self to get vsh process for MAMBA).

It include the last MAMBA update (with PS3M_API v1.2) and webMAN-MOD 1.41.30 (webftp_server_ps3mapi.sprx, commit: ce428978e3).

I call this homebrew "MAMBA Loader" (if you have a better name or/and a logo i take it ^^), i removed the prx part because prxloader.self and is payload is no more used (vsh plugin are load with mamba).

Most part of code of "MAMBA Loader" to install Iris ("sky") payload and MAMBA come from ManaGunZ v1.10 by @Zar, it more easier to me understand it and keep only what i needs than IRISMAN By @aldostools (Who is the base of MAMBA + PRX LOADER)

Download: https://mega.co.nz/#!Mt1BlCpS!a5oxDtuy6ONoLT-azar4WY1_OwkTJsi4KM50FQjm3AE
Source code: https://github.com/NzV/MAMBA_Loader

Supported CFW:

-CEX: 4.21, 4.30, 4.31, 4.40, 4.41, 4.46, 4.50, 4.53, 4.55, 4.60, 4.65, 4.66, 4.70
-DEX: 4.21, 4.41, 4.46, 4.50, 4.53, 4.55, 4.65, 4.66

CEX and DEX 3.55 support is missing for now (like in ManaGunZ v1.10 by @Zar).

I have tested it only on HABIB 4.70 COBRA 7.10 (cobra toggle off) for now it seem to work great, but if some one can test to it too and/or check my source code to see if everything is good (unneeded thinks? missing thinks ?).
cool app. i was trying similar the last days with code from irisman, but it failed to autoboot with core. now your app is much more advanced and it even works with core for me. you can autoboot prx and mamba with your app on non-cobra cfw or if cobra is toggled-off. only problem is, you cannot autoload old ccapi self/sprx at same time with core.
 
Very nice "MAMBA Loader" the code looks much more clean and it's very easy to follow...

For "PRX+Mamba Loader" I used IRISMAN with only small modifications via conditional compilation flags, so I didn't have to maintain several projects at the same time...

My goal was more effectiveness and efficiency in maintenance, than getting clean and structured code... I should say that zar and NzV did an outstanding job!!! Thanks for share your virtues ;)

PS. [MENTION=600]_NzV_[/MENTION] In install_mamba.c

Code:
for(n=0;n<2000;n++) {

can be changed to this and save 2 seconds.

Code:
for(n=0;n<100;n++) {

In fact, the "for(n=0;n<2000;n++)" could be removed completely... I still don't understand why Estwald wanted to hammer 2000 times the same value in LV2 memory (wasting 2 seconds and processing power).
 
I call this homebrew "MAMBA Loader" (if you have a better name or/and a logo i take it ^^),

Here is a couple quick logo I made (always open to suggestions). (both need resized and a few touch ups ;) )

mamba loader.JPG

i like the above better
mamba loaderd.jpg

I have tested it only on HABIB 4.70 COBRA 7.10 (cobra toggle off) for now it seem to work great, but if some one can test to it too and/or check my source code to see if everything is good (unneeded thinks? missing thinks ?).

Also let me know when this ready to be front paged. just want to make sure everything is working before i posted it. :) Nice work !!!
 
[MENTION=89]aldostools[/MENTION]
he is installing the payload 2000 time in this loop, i think he wanted to be sure that the payload is well installed. I saw the same thing somewhere else (forgot where) so this is on purpuse but I don't understand why he do not trust when he is poking in lv2...
[MENTION=600]_NzV_[/MENTION] i think it's useless to check if SYSCALL_TABLE is NULL ;p
 
Last edited:
Very nice "MAMBA Loader" the code looks much more clean and it's very easy to follow...

For "PRX+Mamba Loader" I used IRISMAN with only small modifications via conditional compilation flags, so I didn't have to maintain several projects at the same time...

My goal was more effectiveness and efficiency in maintenance, than getting clean and structured code... I should say that zar and NzV did an outstanding job!!! Thanks for share your virtues ;)

PS. [MENTION=600]_NzV_[/MENTION] In install_mamba.c

Code:
for(n=0;n<2000;n++) {

can be changed to this and save 2 seconds.

Code:
for(n=0;n<100;n++) {

In fact, the "for(n=0;n<2000;n++)" could be removed completely... I still don't understand why Estwald wanted to hammer 2000 times the same value in LV2 memory (wasting 2 seconds and processing power).


Ok thx for the tips.
I see same kind of loops in install_lv2_memcpy() and remove_lv2_memcpy(), can i remove them too ?

Code:
static inline void install_lv2_memcpy()
{
    int n;

    for(n = 0; n < 50; n++) {
    /* install memcpy */
    /* This does not work on some PS3s */
        lv2poke(NEW_POKE_SYSCALL_ADDR, 0x4800000428250000ULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 8, 0x4182001438a5ffffULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 16, 0x7cc428ae7cc329aeULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 24, 0x4bffffec4e800020ULL);
        usleep(5000);
    }
}

static inline void remove_lv2_memcpy()
{
	int n;

    for(n = 0; n < 50; n++) {
    /* restore syscall */
    //remove_new_poke();
  
        lv2poke(NEW_POKE_SYSCALL_ADDR, 0xF821FF017C0802A6ULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 8, 0xFBC100F0FBE100F8ULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 16, 0xEBC2FEB07C7F1B78ULL);
        lv2poke(NEW_POKE_SYSCALL_ADDR + 24, 0x3860032DFBA100E8ULL);
        usleep(5000);
    }
}
 
I see same kind of loops in install_lv2_memcpy() and remove_lv2_memcpy(), can i remove them too ?

static inline void remove_lv2_memcpy()
{
int n;

for(n = 0; n < 50; n++) {
/* restore syscall */
//remove_new_poke();

lv2poke(NEW_POKE_SYSCALL_ADDR, 0xF821FF017C0802A6ULL);
lv2poke(NEW_POKE_SYSCALL_ADDR + 8, 0xFBC100F0FBE100F8ULL);
lv2poke(NEW_POKE_SYSCALL_ADDR + 16, 0xEBC2FEB07C7F1B78ULL);
lv2poke(NEW_POKE_SYSCALL_ADDR + 24, 0x3860032DFBA100E8ULL);
usleep(5000);
}
}

Yes, you can remove the loop on these functions too... although both only consume 0.5 seconds combined (50 * 5ms).

Also take in count that the 3rd value in remove_lv_memcpy() is not static. That value is different for each CFW version... This problem also exists in Iris forks like IRISMAN, Gamesonic and other forks.
(Credits to Joonie for this fix)
 
the lv2memcpy (or even sys8_memcpy) are not rly neccessarry, we can just poke the payload like flatz did to install his payload to dump the root key ( 'lv2copy_from_user' and 'lv2_copy_to_user' ), he is just using syscall 6 and 7, so we won't get any trouble like aldos mentionned before
 
I was able to merge the code to install mamba (without use of an external self) in new_core it seem to work great :).
I can get webMAN-MOD and iso working at boot :) (little more delay to load webman than in cobra)
To reduce file size of new_core i made it fw specific (I dont use zlib, and payload are integrate in the self).
I finish to clean my code and i will share this.
 
Last edited:

Similar threads

Back
Top