PS4 News on Facebook! PS4 News on Twitter! PS4 News on YouTube! PS4 News RSS Feed!

Home PS4 News - Latest PlayStation 4 and PS3 News

199w 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:

[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]



JaicraB on Cobra USB JIG Protection RTOC Trick for PS3

Follow us on Twitter, Facebook and drop by the PS3 Hacks and PS3 CFW forums for the latest PlayStation 3 scene and PS4 Hacks & JailBreak updates with PlayStation 4 homebrew PS4 Downloads.


  • Sponsored Links




#414 - PS4 News - 124w ago
PS4 News's Avatar
Today deank updated to multiMAN v04.16.04 and aldostools also updated to PS3 Tools Collection v2.0.54, which now includes the mmRAS PS3-to-PC Server application that allows users to control a connected PC via multiMAN.

Download: multiMAN v04.16.04 Update CEX (20121218) (2.57 MB) / multiMAN v04.16.04 Update CEX (20121218) (Mirror) / multiMAN v04.16.04 Update CEX (20121218) (Mirror #2) / installPKG.pkg (486.47 KB) / PS3 Tools Collection 2.0.54

multiMAN 04.16.04 is available online now:

  • Improved speed when copying games/files from/to USB HDDs
  • Improved speed when copying games from PS3 Game Discs
  • Improved speed when copying/browsing folders via FTP (LIST/MLSD)
  • Added support for up to 99 pkg files in the [* Install Package Files] queue
  • [* Install Package Files] function will scan /dev_hdd0/PKGTMP and will MOVE the queued pkg files from this folder (saving HDD space by not copying to temp location)
  • mmOS will now honor the "Verify USB Games" setting when starting games from icons/shortcuts/game-folder
  • Scanning for active USB storage devices is now performed in the background and will speed up loading games on 4.xxCFW
  • Verifying games in now performed in the background (when possible) to avoid delays when loading games

The last one means that mM will scan your USB game folders in the background. It if manages to scan a game at least once you'll never be bothered with 'Verifying data...' again Along with the background scanning of usb devices it is now "Press [X] and game is loaded..."

I hope you like that... Let me know if you have any issues.

From aldostools: I just updated the mmRAS Server 01.01.02 with new features:

  • It now allows to configure a white list of allowed IP that can connect to your computer. (F6)
  • The server port can be configured from the popup menu on the system tray. (F2)
  • Minor optimizations in the code.
  • Added support up to 8 concurrent clients (clients can be multiMAN or mmRAS client for PC)

I also updated Bruteforce Save Data to version 1.3.3 with some suggestions from haru3173

#413 - smokyyuwe - 124w ago
smokyyuwe's Avatar
It's about time. I'd really like to be able to play some backups of old PS2 games I have.

#412 - phuqt - 124w ago
phuqt's Avatar
Can we play games from nas now because it was a new feature in mm a few updates back only for cobra though, now that we have the payload we should be able to get this in a cfw

#411 - elser1 - 124w ago
elser1's Avatar
good news. i really dislike these people and their dongle rip offs.

#410 - seeman - 124w ago
seeman's Avatar
i hope rogero gets influenced by this to create a new cfw!!! with 431 keys... old packmanager... and the new cobra psp function...

i think sooner or later we will see this on our ps3...

#409 - StanSmith - 124w ago
StanSmith's Avatar
I'm just hoping I can still use this dongle for something in the future instead of holding the door open with it. I'm wondering if I can flash it with Cobras firmware or can I flash it to use as a FSM dongle?

This OpenCobra payload sounds great, lets hope it can work with Rebug or other CFW firmwares.

#408 - PS4 News - 124w ago
PS4 News's Avatar
Agreed, and sadly it's amazing how many people don't catch on to this recurring pattern through the years either

Max Louarn and Paul Owen have Gary Wayne Bowser (aka GaryOPA) plug a product on his Divineo / Xecuter funded domains, cash in on it for several months from unsuspecting PS3 scene users, then it fades to black after an alias (ie NoDRM, etc) mysteriously cracks it and releases patches and so on to make it work without needing to buy their 'disposable' product any longer... ironically just in time for their next endeavor to get underway, rinse and repeat all over (they forget to wash, dirty gits )

Its amazing they have been able to get away with this con job so long, but I guess when they buy up scene devs in the process (ie deank, who to this day denies it only fooling himself LOL ) it ensures they have a constant influx of users to keep their customer base stocked and ready to plug new 'disposable' products again to. Welcome to the PlayStation 3 scene!

#407 - dsavage - 124w ago
dsavage's Avatar
who gives a crap about ode ? lol wtf.

this is not worthless... long as rogero or rebug can make a cfw with cobra built-in this will be pretty damn cool.

looking foward to it.

#406 - kalberto - 124w ago
kalberto's Avatar
useless to crack it now, because cobra will be releasing ODE and TB was RIP.

#405 - PS4 News - 124w ago
PS4 News's Avatar
Following up on the PS3UserCheat and True Blue unnecessary DRM-infected dongles being hacked alongside zadow28's work, today PlayStation 3 developer oct0xor shared a video of his OpenCobra Payload which aims to render the current Cobra USB dongle from Max Louarn useless.

Below are the details from his blog, as follows: "First I am going to say that this is not going to be an article, just a first blog post and some info about my recent project.

Finally I got my hands on cobra it was quite a lot of time since I touched this last time. There was s good things happened since then eg. I reverse engineered usercheat and true blue, had done a lot ps3 and not ps3 related hacking. There was a bad things eg. BlueDiskCFW, lv0 leak, a lot of devs leave the scene...

Cobra was for me really "the last" thing I have to do.

The last time when I worked on this I didnt had a dongle, and all what I had was a dump by JaiCraB. I reverse engineered it as much as possible, figure out almost all tricks, encrypton and etc. And figuare out that it reads a lot of data from dongle, and I cant do much without dongle itself. Thats why I put this project to the back burner.

Well... I had never buyed anyone dongle, and I never was not going to. All my dongles was donated (thanks again ) but not that time.

it was hard for me to make this decision but a few days ago cobra finally shipped to me...

3 days and now its all over.

Security is good enough, but not without big security risks. But it still the best crypto/obfuscation what I had seen on ps3. Sony have something to learn from this guys, especially now.

Cobra / True Blue almost identical, have the same source code, if you ever hacked 1 thing, 2nd wouldnt be a problem. The main functionality, honestly, not changed since original jb. Thats a shame. Thats why I cracking them like nuts




On the fourth day I taked a decision to make my own "OpenCobra" payload. only clean code without drm and garbage, to be able to port it to any new firmware, and change/add features. It taked 2 days, 3000 lines of asm, and you had seen the result.

Atm it based on 4.1 payload, plans for future is check/add new features from 4.4/5.0. Port to a new firmware (if cobra will not do this for me), and realize all nice innovations from new version of psp emu, such as better emu accuracy, 3D and etc...

In video you had seen Payload Loader. Thats the all code it has:

[Register or Login to view code]

This tag related patches handled by mngr. So far I want to move it in payload. First I have to check how it handled in 4.4 / 5.0

Not sure yet when it will be released, if it will be, but we will see.

Keys!

[Register or Login to view code]

If this subject will be interested for people, maybe I will write a full article about True Blue / Cobra analysis and hacking.

btw: Me and ~ some psp mysterious dark figure ~ reverse engineered algo for generating valid psp isos back to jule. But saves and a lot of games dont work without patching. So cobra's patched emu much better there imho."

Below are some additional pics from his blog which simply states: Usercheat + Cobra = data, 0x38, 1);
_hexdump(" ECDSA R ", 0x38, s->R, 0x14, 1);
_hexdump(" ECDSA S ", 0x4C, s->S, 0x14, 1);
_hexdump(" ECDSA PUB", 0x60, s->pub, 0x28, 1);
_hexdump(" UNK ", 0x88, s->unk, 0x20, 1);
_hexdump(" OMAC ", 0xA8, s->omac, 0x10, 1);
_hexdump(" PADDING ", 0xB8, s->padding, 0x08, 1);
printf("\n");
}

/*!
* \brief Verify section.
* \param s Section.
* \param c Curve.
* \return Verify result.
*/
int verify_section(section_t *s, curve_t *c)
{
u8 hash[0x14];
u8 _R[21] = {0}, _S[21] = {0};

memcpy(_R + 1, s->R, 20);
memcpy(_S + 1, s->S, 20);

sha1(s->data, 0x38, hash);
ecdsa_set_curve(c->p, c->a, c->b, c->N, c->Gx, c->Gy);
ecdsa_set_pub(s->pub);
return ecdsa_verify(hash, _R, _S);
}

//Maybe you're lucky?!
int main()
{
dump_section("0_1", (section_t *)section0_1);
dump_section("0_2", (section_t *)section0_2);
printf("sig. 1 verified: %s\n", verify_section((section_t *)section0_1, (curve_t *)curve0) ? "yay" : "nay");
printf("sig. 2 verified: %s\n", verify_section((section_t *)section0_2, (curve_t *)curve0) ? "yay" : "nay");
printf("R_1 == R_2: %s\n", memcmp(((section_t *)section0_1)->R, ((section_t *)section0_2)->R, 0x14) ? "nay " : "yay ");
getchar();
return 0;
}[/code] While this is definitely interesting news, odds are it's just a ploy for the Cobra Team to release a new dongle that will be 'required' for their upcoming PS3 4.3x CFW unfortunately or the PS3 ODE in order to further line their pockets with PlayStation 3 sceners' hard-earned cash once again... as always, time will tell for sure.

More PlayStation 3 News...