JaicraB on Cobra USB JIG Protection RTOC Trick for PS3


145w ago - Today Spanish PlayStation 3 developer JaicraB has explained the Cobra USB JIG protection RTOC trick implemented for the PS3 against cloning the device.

To quote, roughly translated: Flynn sent me this text explaining this protective carrying the Cobra, I hope it will open the eyes of those interested in reversing the dumps.

EXPLAIN RTOC COBRA TRICK

The JIG Cobra has several protective measures to ensure that your code could not be used correctly even if your code could be dumped.

This trick RTOC in the registry is the first used for this purpose in addition to hinder analysis.
Registration is initially RTOC stored in the battery to keep the RTOC of lv2 and power it back later:


At this point we have to explain that the OFFSET DELTA. DELTA OFFSET is a method used in the x86 in its original moments in the creation of computer viruses, to calculate the memory address in which we are in the sea of ​​bytes in RAM.

In the original time a computer virus when I did not know where he was pulled into an executable,
depending on the executable it could be an initial site or another, for it was invented DELTA OFFSET.

DELTA OFFSET can be used in any system, the procedure is:

  • Using the record that indicates the current execution address (or the next depending on the system)
  • Reducing the size of the previous code we use the value obtained from the registry.

Knowing this, and taking for example the x86 processor where the EIP register can not be read directly invented the trick make a call to a "subfunction" which is simply the following line to the call:


X86 call instruction saves the top of the stack the address of the next instruction to itself. Thus using pop draw from the top of the stack this value, and stored in eax for example, and having the memory address where we only subtract the above would be missing and we have the exact calculation.

The PowerPC can use this trick using the BL instruction is equivalent (LINK BRANCH), which jumps to a "subfunction" but before you save LR in the record the following address to BL.


At this point we see the trick used for the creation of the RTOC of charges at this time. If you look both r0 and RTOC are passed to 0:


Subsequently, given the value 0x11DE0 to RTOC:


A r0 is given the value 0x920:


R0 is subtracted from the value of RTOC:


Unlike the PowerPC x86 LR register can be read directly with mflr instruction, we put in RTOC the value obtained by the delta offset:


To calculate the delta offset subtract final instructions executed before the delta offset, which were 4, or 16 bytes:


Finally we add the value of r0 at the end of the delta offset RTOC, storing the result in the RTOC and this already takes RTOC suitable for this hook:


It takes having the RTOC stored in the stack 3 arguments that the hook received:


You call the function of the charges where the first argument will check for command 0x8202 (a special command to the usual):


After making the necessary steps as charged, the battery recovers the original RTOC, like the arguments the hook received, it executes the original instruction that was overwritten in the syscall entry 379 (in this case) to have our hook, and call the original syscall lv2:


Upon returning to retrieve the original LR from the stack and returns to the prompt





Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!

Comments 680 Comments - Go to Forum Thread »

Quick Reply Quick Reply

yutaPGW's Avatar
#665 - yutaPGW - 11w ago
just press square.. also from schursin comes an ISO Library Organizer to manage your games easily.

To quote: Hello, Cobra ODE fans!

Today I want represent to you one useful utility – ISO Library Organizer. It was created for private use, but Cobra ODE developers contest made me lead code and design in order and release public version.

So, what ILO is? ILO is utility that helps you to keep friendly ISO names and sort it in Cobra ODE browser. You can place your favorite games first in order, or just sort games in alphabet/size/code order. Interesting? Let’s see some screenshots!

s3nint3!
Typical content of “PS3_GAMES” directory. Looks strange, isn’t it? No friendly names, no disk codes, no order… Don’t worry about it anymore, let’s run ILO application!

s3nint3!
ILO main window.

What we see? ILO instantly scans your PS3_GAMES directory, reads every found ISO and get game titles/codes from it. All you need to do – choose the way of sorting: by title, by size, by code. Plus! You can drag games in list as you want, just click&drag. Now let’s apply made changes to your ISO library, one click “apply names/sort” – done!

s3nint3!
Friendly ISO names! Perfect and easy!

Then just click “rebuild ps3 extra” and ILO executes genps3extra.exe for you, all needed parameters is already present. Wait a moment and... Cobra ODE browser ready!

Download: ILO_v02.zip (ILO v0.2 + GenPS3extra v1.3)

Install guide: simply unpack downloaded zip into external HDD root and run ILO.exe

Comments and feedback are welcome, as well as requests for new features. At this moment, I'm planning to add support of PS1/PS2 directories, and then make ILO open sourced. Have fun with Cobra ODE!

Update: EXE was packed by UPX, that's a reason. Now i'm uploaded new zip with unpacked app, no more false antivirus alerts. Download link updated.

alaltaieri's Avatar
#664 - alaltaieri - 11w ago
So, I want to play L.A Noire. (L.A.Noire.USA.JB.PS3-APATHY)

I played this game last year from internal without problems, splitting the big file using ps3 splitter and etc

However now I'm using multiman 4.53.04 and it seems it cannot rejoin split files .666xx that I've generated with ps3 splitter. After copying all the 15 .666xx files from external to internal they just won't rejoin in a single big file (over 4gb).

From this reason I can play the game but there are no voices! And that's terrible. Can anyone help me?

ps: I'm on rogero 4.30

I've also want to mention that I've tried to split it with Comgenie Awesome Filesplitter and the same, no rejoin on fat32 internal ps3 hdd. I don't know if is a psarc file or not. It has 15 gb and it called "cases_1_1.big.ps3"

Anyone?

PS3 News's Avatar
#663 - PS3 News - 13w ago
Cobra ODE News - Update - 15 - 1 - 2014

Thappy new year everyone! With the new year, comes a new exciting big update from the Cobra Team.

This is the most advanced update yet and it packs a lot of new features for Cobra users including PS1, PS2 and BD Movie support. The Cobra Team has been hard at work in the past couple of months to bring you the MCU 1.9 update.

As initially promised, this update adds support for PS1 games, PS2 games (only on backward compatible consoles), DVD movies and BD movies support. Another interesting feature is the ability to hot swap your HDD. You can now remove and change your games HDD while the PS3 is on.

The update also has a lot of stability improvements, bugfixes and most freezing issues introduced in recent updates have now been fixed.

We have also updated the genps3iso tool, now with IRD v9 support. Both genps3iso and genps3extra have now also been released as a native linux binary for linux users. The Cobra Manager and Cobra Browser have also been updated to add the support for PS1 and PS2 games, as well as DVD and BD movies. The third party library is also updated to allow other managers to take full advantage of these new features.

The Cobra database has also been updated with 1342 total game discs supported.

We would also like to take this opportunity to let our users know that we are aware of some issues with the new v4.20 and v4.30 boards and 2xxx console models, and we are working hard on fixing the issue as soon as possible. In the meantime, if your BD drive is unresponsive, use the eject button to turn on your console instead of the power button, as it will fix the issue and the ODE will function correctly.

Enjoy


Finally, from mussadek (aka Mussonero) comes a Showtime 4.3.723-COBRA ODE.iso and ShowTime v4.3.748 for Cobra-ODE below, as follows:

Download: Showtime 4.3.723-COBRA-ODE.iso.zip / Showtime 4.3.723-COBRA ODE-V2.iso (Mirror) / showtime 4.3.723-COBRA-ODE.iso.zip (Mirror #2) / ShowTime v4.3.748 Cobra-ODE-V4.iso

Cobra CFW Tools v1.29a: Updates/Adds Plugins by bitsbubba

Download: Cobra CFW Tools v1.29a.pkg

With this app you can install "webMAN XMB" based on XMBM+ (aldostools' webMAN links) and concept from multiMAN XMB Integrated) with ★Install Package Files, REBUG's ★Package Manager or XMBM+ support, 4.53 certs (for ?safer? PSN), Ingame ScreenShots and custom coldboots by atreyu187 that I helped design. It's been tested on both Rogero (Cobra 7- Unofficial) and HABIB Cobra edition (any version). Choose what suits you.

v1.29 Changelog: (Jan. 20)

  • added webMAN 1.29 sprx
  • added in-game music (experimental/beta)

Features

  • Cinavia Patch
  • Custom Coldboots
  • In-game Music (experimental)
  • In-game Screenshot
  • PSP Icons
  • Remote Play Patch
  • Rename PlayStation Network
  • webMAN (My Games)
  • Standard Install Package Files
  • Rebug's Install Package Files
  • XMBM+ Install Package Files
  • webMAN custom Icons
  • WebMAN Update
  • webMAN XMB+
  • Standard Install Package Files
  • Rebug's Install Package Files
  • XMBM+ Install Package Files

fjorger's Avatar
#662 - fjorger - 14w ago
Hi everyone, Just one quick question:

Where can I find the installation option 4.53 certs? I can't seem to find it, is it integrated on another package?

Finally anyone else having problems with PSP games (example: Locoroco 1 and 2 and all others I tried) and not being able to save any game progress? Each time I press save it goes to another screen and then instantly back to the saving option.

Nonetheless if we press the option to clear some data, we able to see all PS3 (strange no?) saves and we are able to erase them to clear data. But the end result is always the same...

I'm using Rogero 4.46 + Cobra 7.0.

Thanks in advance,
Regards,

FJorgeR.

The7echos's Avatar
#661 - The7echos - 14w ago
Hello everyone, I'm hoping someone can help me. Ive looked everywhere and couldn't find a fix for an Error 80010009 after trying to run FIFA 14 and NFS Rivals on my PS3.

I'm on OFW 4.53 with Cobra ODE running Multiman 4.50.01. I've read that Multiman fixes this error automatically but i can't seam to get passed it. It doesn't even try to download game updates it just tries to load the game and quickly exits and gives me this error. Please help

BTW, I've tried running the games on PS3ita manager and CobraManager with no luck. I'm able to run Battlefield 4, Little big planet 2, and other games with ease...