Sponsored Links

Sponsored Links

JaicraB on Cobra USB JIG Protection RTOC Trick for PS3

Sponsored Links
177w 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.


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:

[Register or Login to view code]

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:

[Register or Login to view code]

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.

[Register or Login to view code]

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:

[Register or Login to view code]

Subsequently, given the value 0x11DE0 to RTOC:

[Register or Login to view code]

A r0 is given the value 0x920:

[Register or Login to view code]

R0 is subtracted from the value of RTOC:

[Register or Login to view code]

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

[Register or Login to view code]

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

[Register or Login to view code]

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:

[Register or Login to view code]

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

[Register or Login to view code]

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

[Register or Login to view code]

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:

[Register or Login to view code]

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

[Register or Login to view code]

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 1063 Comments - Go to Forum Thread »

• Please Register at PS3News.com or Login to make comments on Site News articles. Thanks!

kokotas's Avatar
#498 - kokotas - 88w ago
Try deleting or renaming the CONFIG file, it worked for me with converted FFX. But it's worrisome that you can't play the original PS2 classics either. In my case Psychonauts worked out of the box without any tampering (ps3 fat, rogero 4.30)...

ConsoleDev's Avatar
#497 - ConsoleDev - 88w ago
StanSmith: are you using Rebug 4.21.1? Because this one have a bug with PS2 software (Backwards Compatibilty and PS2 Classics)

saaqi: Commonly IDPS data is shown with separators (Example 1)

sguerrini97's Avatar
#496 - sguerrini97 - 88w ago
You have to make a new binary file with that bytes. In your hex editor "File -> New" and paste your IDPS in the bytes section, then save the file as "idps".

Anyway I got kingdom hearts working on my slim, but I can't find out a way to run swap magic (and open ps2 loader).

saaqi's Avatar
#495 - saaqi - 88w ago
Please don't shout at me. I have a question about IDPS. Here is what I understand, I have dumped Rebug 4.21.2 Nor 16 mb file with Rebug Toolbox then opened it in Hex Workshop pressed Go TO and entered this address 0x0002F070 now the next 16 bytes is my IDPS.

My question is when I put the data in idps file do I put spaces between every pair or just paste the data as it is shown no separators.

Example : 1
00 00 00 01 00 8E 00 0B XX XX XX XX XX XX XX XX

Example : 2

Which one is the right format for saving my idps file? Please help thanks

StanSmith's Avatar
#494 - StanSmith - 88w ago
I cant get any PS2 games to work on my slim. I tried just the PS2 game itself without any of these patches and they just wont work. Tried 2 games and both lock up the PS3.

I swapped both games with a patched ISO and still the same, it looks like it goes into a PS2 mode then locks up. The TV looses signal and the PS3 stops doing anything. The light stops blinking, and the controller turns off. The only thing I can do is press the power button which beeps once then reboots.

If I could get past that problem I would try converting a few PS2 games I have that I would like to play. Manhunt 2 is one I would like to see working on the PS3.

Quote Originally Posted by sharred View Post
Is Sony such an idiot which doesnt know how multiman works in order to spot it in your system? I don't think so. There isn't such a think as stealth multiman. Sony knows, end of story...

The second you click anything Sony know so I agree, there is no such thing as stealth anything. I had everything stealthed and I still got my console banned.

Sponsored Links

Sponsored Links
Sponsored Links

Sponsored Links

Advertising - Affiliates - Contact Us - PS3 Downloads - Privacy Statement - Site Rules - Top - © 2014 PlayStation 3 News