Mamba Loader (+AutoLoader)

_NzV_

Developer
Developer
MAMBA PRX Loader (+AutoLoad).png

What is MAMBA ?
MAMBA is a lite version of COBRA (No PS2 and PSP support) for non cobra cfw (or cobra cfw with cobra toggle off), it add features like NFTS support, ISO support, NetISO (ps3netsrv), VSH plugins, PS3M_API, ... to your firmware.

MAMBA/PRX LOADER (+AUTOLOADER) v2.1.4​

MAMBA/PRX Loader is an homebrew who allow you to load MAMBA and/or VSH plugins (with MAMBA or PRX Loader) by two different way : at system boot or after.
Supported CFW

  • CEX: 3.55, 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, 4.75, 4.76
  • DEX: 3.55, 4.21, 4.30, 4.41, 4.46, 4.50, 4.53, 4.55, 4.60, 4.65, 4.66, 4.70, 4.75, 4.76
How to use it after system boot

  • Launch "MAMBA/PRX Loader"
  • It will load MAMBA and VSH plugins, when it does you will get back to xmb and earn one beep if no error has occurred, if you earn more beep an error has occurred (see log: /dev_hdd/tmp/MAMBA_PRX_Loader.log)
Note: If you want to load only MAMBA and no VSH plugins hold L1 when "MAMBA/PRX Loader" start. if you want to load only VSH plugins and no MAMBA (PRX Loader will be used) hold R1 when "MAMBA/PRX Loader" start.
How to use it at system boot (Autoloader)

  • Launch "MAMBA/PRX Loader"
  • Hold CROSS when "MAMBA/PRX Loader" start to install/update "MAMBA/PRX Autoloader" to your PS3, when it does you will earn one beep if no error has occurred and your ps3 will restart it self, if you earn more beep an error has occurred (see log: /dev_hdd/tmp/MAMBA_PRX_Loader.log) and you will get back to xmb.
  • Hold SQUARE when "MAMBA/PRX Loader" start to uninstall "MAMBA/PRX Autoloader" from your PS3, when it does you will earn one beep if no error has occurred, if you earn more beep an error has occurred (see log: /dev_hdd/tmp/MAMBA_PRX_Loader.log)

Boot flags:
Can be placed in /dev_usb000/core_flags/ or /dev_usb001/core_flags/ or /dev_hdd0/tmp/core_flags/
  • "failsafe" Start in normal mode (MAMBA and VSH plugins are not loaded)
  • "mamba_off" Don't load MAMBA (PRX Loader will be used instead of MAMBA to load VSH plugins)
  • "noplugins" Don't load VSH plugins at boot
  • "verbose" Enable log and write it in /dev_usb000 or /dev_usb001 or /dev_hdd0
Note: You need to reinstall the Autoloader on each update of "MAMBA/PRX Loader (+Autoloader)" to update it and MAMBA by the way.
VSH plugins
If MAMBA is not disabled VSH plugins will be loaded from file /dev_hdd0/mamba_plugins.txt with MAMBA else they will be loaded from file /dev_hdd0/prx_plugins.txt with PRX Loader
Download

Change log
v2.1.4 :
  • Add support for CFW 4.76, 4.75DEX, 4.60DEX, 4.76DEX
v2.1.3 (12 Jun 15):
  • MAMBA updated.
v2.1.3:
  • Add support for CFW 4.75.
  • MAMBA updated (Add support for CFW 4.75)
v2.1.2:
  • MAMBA updated (Add support for mmCM)
v2.1.1:
  • MAMBA updated (Add support for NetIso (ps3netsrv))
v2.1.0:
  • MAMBA updated:
    • Add support for discless (bdmirror) mode with JB format game (dynamic patch of libfs.sprx like COBRA)
    • Enable opcode "SYSCALL8_OPCODE_AIO_COPY_ROOT"
    • Add support for 4.70DEX
    • Code improvement and cleaning
  • Add remove LV2 memory protection for all rebug cfw bellow 4.53
  • Add support for 4.70DEX
  • MAMBA/PRX Loader payload updated: add an opcode to check if its really loaded
  • Loader and Autoloader will now check if MAMBA/PRX Loader payload is truly installed
v2.0.0:
  • MAMBA/PRX Loader has now is own payload to load MAMBA instead of using Iris (sky) payload. The new payload will load MAMBA as the same way was stage2.bin on COBRA CFW.
  • sys_init_osd.self (Autoloader) is no more firmware specific (payloads are no more embedded in it)
  • sys_init_osd.self (Autoloader) will now clear the memory used by COBRA stage1 (if a COBRA CFW is detected and only when cobra was toggled off)
 
Last edited by a moderator:
what changed in v1.2.0? I seen it on brewology

For v1.2.0 i have only released source code on github and don't update this topic because v1.3 will be out soon (last major update for a will i think), i will update this topic in few hours i finish to test the new version (a lot of code change).
 
Updated to v1.5.0, and also renamed to "MAMBA/PRX Loader (+Autoloader)"

Major change have been made since v1.1, v1.2 was more a test release (and share of code on my git for those who have interest in it), i don't want to call it "MAMBA/PRX Loader (+Autoloader) v1.3" to avoid confusion with "MAMBA/PRX Loader v1.3" (Who is discontinued like IRISMAN i think?) by [MENTION=89]aldostools[/MENTION] and i prefer v1.5 than v1.4 so it will be "MAMBA/PRX Loader (+Autoloader) v1.5".

Change log (since v1.1):


  • Add PRX Loader payload to load VSH plugins if MAMBA is disabled by user or unsupported by firmware
  • No more use of code from ManaGunZ from [MENTION=34]Zar[/MENTION] to load Iris (sky) payload, it use the original way now (not an "universal" code for all firmware)
  • MAMBA/PRX Loader and MAMBA/PRX Autoloader merged in the same homebrew
  • Many other minor improvement
 
Last edited:
[MENTION=600]_NzV_[/MENTION] Did you have an issue with the "universal" code ?

Not any during my test (habib cobra 4.70), your code work great for me but i have change to use the original way to be sure it work on all cfw and to have support on 3.55.

But now Iris (sky) payload is no more needed to load MAMBA, i have made another payload "MAMBA Loader" who load it like cobra stage2 was loaded, and with this change i can made an sys_init_osd.self with average the same size as in v1.5.0 but this time with all cfw support in the same sys_init_osd.self no more need to make firmware specific :) (MAMBA payload no more include in the self).

So MAMBA/PRX Autoloader v2.0 will be based on this new payload. I have merged it with PRX Loader payload, its size is less than 4Ko.

Now MAMBA/PRX Autoloader will work like this:

-Load MAMBA/PRX Loader payload (using syscall1022)
-Load Mamba using MAMBA/PRX Loader payload (if flag mamba_off is not set) and fix error (from ManaGunZ By [MENTION=34]Zar[/MENTION])
-Load VSH Plugins using MAMBA or PRX Loader payload to load them if MAMBA is disabled by user or unsupport by firmware (if flag noplugins is not set)
-Uninstall MAMBA/PRX Loader payload (Remove syscall1022 and clear LV2 memory used by payload)

I have a working version (only 4.70 now i have to add some missing symbols for other firmware to build them), it seem to work like with if it was loaded with Iris (sky) payload.
Maybe this new way to load mamba will fix support on 430DEX ....

I have also one question, cfw 3.55 has support for syscall 10 (lv1_call who is used to write htab) ?
 
Last edited:
But now Iris (sky) payload is no more needed to load MAMBA, i have made another payload "MAMBA Loader" who load it like cobra stage2 was loaded
I wanted to do it few month ago (but I didn't even try ^^'), I'm glad you did it (like map_path). Thanks to you, perhaps one day, the mamba wll have nothing to envy of his cousin ;)
 
I can't wait to see this complete version of mamba, actually this is no longer mamba since NzV kept extending its functions and adding more syscalls and its corresponding offsets. I would say Cobra lite portable, perhaps now it's good time to fool mmCM to use new mamba instead of using mamba's opcode, we could try using real Cobra opcode. Thanks [MENTION=600]_NzV_[/MENTION] for his hardwork, I may consider mamba[cobra lite] version of CFW with clean lv2kernel [stage1 is not needed for his method since this was based on estwald's new core :)]


Sent from my iPhone using Tapatalk
 
I wanted to do it few month ago (but I didn't even try ^^'), I'm glad you did it (like map_path). Thanks to you, perhaps one day, the mamba wll have nothing to envy of his cousin ;)

I wanted to do it for a long time now but never figured how, now with my work i understand how Iris (sky) payload load MAMBA, this help to find how to do it without it, and finally its really easy my payload load exactly MAMBA like COBRA load stage2.bin.

I can't wait to see this complete version of mamba, actually this is no longer mamba since NzV kept extending its functions and adding more syscalls and its corresponding offsets. I would say Cobra lite portable, perhaps now it's good time to fool mmCM to use new mamba instead of using mamba's opcode, we could try using real Cobra opcode. Thanks [MENTION=600]_NzV_[/MENTION] for his hardwork, I may consider mamba[cobra lite] version of CFW with clean lv2kernel [stage1 is not needed for his method since this was based on estwald's new core :)]


Sent from my iPhone using Tapatalk


Multiman detect it with SYSCALL8_OPCODE_GET_MAMBA ? If that it we can easily block this opcode for multiman process only to force it to detect it as cobra.

Indeed we can keep a clean LV2Kernel with it since stage1 is my payload :)

------------------------------------------------------

I have almost finish i will publish source and binary in few hours.

Payload is done (3984 octets) it can load MAMBA from an external file and he was used to launch VSH Plugins if user has disable MAMBA (i have merged PRX Loader payload in it).
 
I wanted to do it for a long time now but never figured how, now with my work i understand how Iris (sky) payload load MAMBA, this help to find how to do it without it, and finally its really easy my payload load exactly MAMBA like COBRA load stage2.bin.




Multiman detect it with SYSCALL8_OPCODE_GET_MAMBA ? If that it we can easily block this opcode for multiman process only to force it to detect it as cobra.
.

No no, we can only use cobra opcode to fool multiMAN, so mamba opcode doesn't work. You misunderstood what I said,




Sent from my iPhone using Tapatalk
 
[MENTION=29]Joonie[/MENTION] it's already removed :
/*
else if (strncmp(path, "/dev_hdd0/game/BLES80608", 24) == 0)
{
// Block multiman to avoid it use 'Mamba' as 'Cobra' causing problems...
return 0x80010009;
}
else
{
block_peek = 0;
}
*/

But if deank added a check on SYSCALL8_OPCODE_GET_MAMBA to not be fooled by the mamba, we can just change the return value (666) to something else.
 
[MENTION=29]Joonie[/MENTION] it's already removed :


But if deank added a check on SYSCALL8_OPCODE_GET_MAMBA to not be fooled by the mamba, we can just change the return value (666) to something else.
I don't think he added any checks, I may have over thought and been confused, as long as mmCM allows mamba's syscall8, it wouldn't be a problem probably, like webMaN is already fully functional with mamba.
 
v2.0.0 is ready main topic updated and source on github updated too.

What have been changer since v1.5.0:
-MAMBA/PRX Loader has now is own payload to load MAMBA instead of using Iris (sky) payload. The new payload will load MAMBA as the same way was stage2.bin on COBRA CFW.
-sys_init_osd.self (Autoloader) is no more firmware specific (payloads are no more embedded in it)
-sys_init_osd.self (Autoloader) will now clear memory used by COBRA stage1 (if a COBRA CFW is detected and only when cobra was toggled off)

Update Note: If you have already any version previous installed on your PS3 uninstall it first to free some space, and if your use Autoloader you need to reinstall-it to update it.

How MAMBA/PRX Loader v2.0.0 do his job:

Step 1: Install the new payload who add the ability to load MAMBA and VSH plugins (less than 4Ko, use syscall 1022)and also fix error.
Step 2 (if user don't have disable MAMBA loading): Load MAMBA using the new payload (if user don't have disable this loading).
Step 3 (if user don't have disable VSH plugins loading): Load VSH plugins (MAMBA will be used to load them, but if it was disabled by user the new payload will be used to load them like PRX Loader did).
Setp 4: Uninstall the new payload (clear syscall 1022 and memory used by the payload).​

MAMBA/PRX Autoloader work as the same way.
 
Last edited:
Test results regarding mamba loader

1. mmCM : it does not detect mamba's syscall 8, it may need cobra's opcode instead as I expected

2. webMAN 1.41.32 rebug/cobra/ps3mapi edition

I was able to confirm map path works by testing folder rips, however,
It still lacks cobra's dynamic patches for libfs.sprx module that has functions for aio root, which means bd mirror is not working.

We could solve this issue with several options I think

1. Enable dynamic patches for aio root [libfs.sprx which cobra patches when it is needed]
2. Use prepatched module for games require aio root patches which how multiMAN handles bd mirrored games

3. Rebug toolbox

Mamba does not crash on toolbox any more.

Tested on CECH-2001B
4.66/4.70 CEX
 
Test results regarding mamba loader

1. mmCM : it does not detect mamba's syscall 8, it may need cobra's opcode instead as I expected

2. webMAN 1.41.32 rebug/cobra/ps3mapi edition

I was able to confirm map path works by testing folder rips, however,
It still lacks cobra's dynamic patches for libfs.sprx module that has functions for aio root, which means bd mirror is not working.

We could solve this issue with several options I think

1. Enable dynamic patches for aio root [libfs.sprx which cobra patches when it is needed]
2. Use prepatched module for games require aio root patches which how multiMAN handles bd mirrored games

3. Rebug toolbox

Mamba does not crash on toolbox any more.

Tested on CECH-2001B
4.66/4.70 CEX

I have updated MAMBA with dynamic patches for libfs.sprx like in cobra and enable op code for sys_aio_copy_root(), if you want to try source are on my git like always (i have also made some other improvement to reduce size of the payload, like removed some unused function related to ps2emu).
I don't have so much game and know if any of them need bd mirror on jb format (i only use iso) so i cant test my self, but i assume it will work like in cobra, i hope ^^
 
I have updated MAMBA with dynamic patches for libfs.sprx like in cobra and enable op code for sys_aio_copy_root(), if you want to try source are on my git like always (i have also made some other improvement to reduce size of the payload, like removed some unused function related to ps2emu).
I don't have so much game and know if any of them need bd mirror on jb format (i only use iso) so i cant test my self, but i assume it will work like in cobra, i hope ^^

I saw your changes in mamba, added sys_aio_copy_root for all mamba compatible cfws, nice work, now we can apply all necessary patches to make mamba as good as cobra, for ex) region patch, cinavia, video mode refresh and etc[any possible sprx modules patches :)] I will give you feedback anytime soon. I have about 6 jb rips that only work with bd mirror function


Sent from my iPhone using Tapatalk
 
I saw your changes in mamba, added sys_aio_copy_root for all mamba compatible cfws, nice work, now we can apply all necessary patches to make mamba as good as cobra, for ex) region patch, cinavia, video mode refresh and etc[any possible sprx modules patches :)] I will give you feedback anytime soon. I have about 6 jb rips that only work with bd mirror function


Sent from my iPhone using Tapatalk

Do I sense rebug+mamba here? lol
 
Back
Top