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

PS3 News's Avatar
#255 - PS3 News - 84w ago
Today PlayStation 3 homebrew developer Aldostools has updated mmDM PS3 DEX Game Mounter to version 02.00.00 followed by several revisions complete with an x64 version and the changes outlined below.

Download: mmDM PS3 DEX Game Mounter v02.00.00 - v02.04.01a / mmDM PS3 DEX Game Mounter v02.00.00 - v02.04.01a (x64)

mmDM PS3 DEX Game Mounter v02.00.00 Changelog:

  • The major change in this version is that it fully integrates with multiMAN v04.05.04+ (DEX).
  • It has many other new features, I dare you to find them.

mmDM PS3 DEX Game Mounter v02.01.00 Changelog:

  • This new version has a better integration with multiMAN 04.05.04+ (DEX).
  • And now works faster thanks to the excellent work of andbey0nd and deank!!!

mmDM PS3 DEX Game Mounter v02.01.01 Changelog:

  • Version 02.01.01 should fix the mounting error "EBOOT.BIN could not be converted to fself. ERROR: EBOOT.ELF is not ELF File." converting to DEX.

mmDM PS3 DEX Game Mounter v02.01.02 Changelog:

  • Version 02.01.02 can decrypt debug EBOOT/SELF/SPRX and uses a database (KLICS.TXT) of known Klicensees for decryption of the the SELF/SPRX.

mmDM PS3 DEX Game Mounter v02.01.03 Changelog:

  • Updated klic.txt
  • Added export game list to txt or csv
  • Fixed typo listing PKG files.

mmDM PS3 DEX Game Mounter v02.01.03a Changelog:

  • Includes the proper keys included in testklic (by andreus).

mmDM PS3 DEX Game Mounter v02.01.04 Changelog:

  • Updated klic.txt, fixed issue converting files with space in the file name, now funself DEX EBOOT/SELFs/SPRX.

mmDM PS3 DEX Game Mounter v02.01.05 Changelog:

  • Now uses unfself.exe to unself DEX files and unself.exe + scetool.exe for CEX files.

mmDM PS3 DEX Game Mounter v02.02.00 Changelog:

  • Updated klic.txt, fixed some minor issues changing to full screen mode.
  • Also added text filter (type any text in the text box for the path and press enter).

mmDM PS3 DEX Game Mounter v02.02.00a Changelog:

  • Fixed keys included in the archive.

Select the PKG and the press CTRL+SHIFT+ENTER and it will convert to a DEX PKG (and resign the contents whenever possible).

mmDM PS3 DEX Game Mounter v02.03.00 Changelog:

  • Fixed a bug reading klic.txt... now uses the klicensee tool by MAGiC333X to select the klicensee from KLIC.TXT
  • Added new grid mode: vertical list.
  • Added arrows icons on full screen mode to browse games using the mouse.
  • Other minor changes.

mmDM PS3 DEX Game Mounter v02.03.02 Changelog:

  • Support up to 255 slots. (no tested yet)

mmDM PS3 DEX Game Mounter v02.03.04 Changelog:

  • added some additional checks to prevent mounting drives already in use
  • mounts BDEMU slots: for slots 0, 1, 2, 3 it works fine.. for slots 4, 5, 6, 7, 8, 9 (and probably up to 255) requires to reset the PS3 in 'Release Mode' after the slot of BDEMU is mounted (I added a message to remind that)
  • Now can show game covers for games installed on BDEMU slots (click on the PS3 logo to configure the game covers - download to the PC the "covers" folder from multiMAN's folder)
  • Includes a very useful FAQ from PatrickBatman and Omnomnom, that teaches how to mount the games on DEX
  • Added the BdEmu Partitions Tool to the right-click menu (the inject/save to file features are still broken)

SPECIAL THANKS to deank for the workaround for slots 4-9; PatrickBatman for the beta tests and ideas! Also to Rutsah for his bug reports.

mmDM PS3 DEX Game Mounter v02.03.05 Changelog:

  • Incorporates RCP_BDEMU v2.00 (10/15/2012)

mmDM PS3 DEX Game Mounter v02.04.00 and v02.04.00a Changelog:

  • New GUI layout with big icons on the top
  • Fixed a bug reading klic.txt... now uses the klicensee tool by MAGiC333X to select the klicensee from KLIC.TXT
  • Added new grid mode: vertical list
  • Added arrows icons on full screen mode to browse games using the mouse
  • Support up to 255 slots (not tested yet)
  • Other minor changes.

mmDM PS3 DEX Game Mounter v02.04.01 and v02.04.01a Changelog:

  • New GUI layout with big icons on the top
  • Fixed a bug reading klic.txt... now uses the klicensee tool by MAGiC333X to select the klicensee from KLIC.TXT
  • Added new grid mode: vertical list.
  • Added arrows icons on full screen mode to browse games using the mouse.
  • Support up to 255 slots.
  • Other minor changes.

From his site (linked above) on the PC application: It's a remote game mounter for PS3 DEX consoles. Requires the ProDG Target Manager to work. A x64 version is also available.

Finally, in related PlayStation 3 homebrew news andbey0nd has also released RCP_BDEMU v1.00 which essentially is a faster way to manage games on PS3 DEX consoles.

Download: RCP_BDEMU v1.00 / RCP_BDEMU v2.00 (10/15/2012)

From the author: Here is a separate standalone tool to serve the BDEMU communication on the PC side. It is small, fast and command-line type and will be included in mmDM 02.01.00 by aldo. It loads the BDEMU games in mM virtually at mM startup, mounts the games in 3-4 seconds and displays debug information in the command window.

It requires that you pass the IP address of your PS3 as a parameter. You can pass a number for the number of BDEMU partitions as second parameter - the default is 4 (0..3).

andbey0nd

Update: RCP_BDEMU v2.00 (10/15/2012) is now available (linked above) via deank with the following changes:


If you don't set input parameters (IP and number of partitions) rcp_bdemu will try to auto-detect the IP and will assume 10 slots, but that only works if your PS3 is currently in "System Software Mode", otherwise you'll have to provide your PS3 IP address when you start rcp_bdemu.exe.

More PlayStation 3 News...

PR0r's Avatar
#254 - PR0r - 84w ago
I've noticed no links anywhere to mmDM 02.00.00.

Anyone have this? Even aldos site links to his older release???

HeyManHRU's Avatar
#253 - HeyManHRU - 84w ago
So mmDM enables you to play backups on DEX PS3s?

PS3 News's Avatar
#252 - PS3 News - 84w ago
Below is MultiMAN v04.05.04 (DEX), which now includes more BDEMU features as follows:

Download: MultiMAN v04.05.04 (DEX - 20120905) / MultiMAN v04.05.04 (DEX - 20120905) (Mirror) / MultiMAN v04.05.04 (DEX Mod - 20120905) by A$h X

CHANGELOG for mM v04.05.04 (DEX):

What's New:

BDEMU games are accessible in the side-menu in Game column when user presses [TRIANGLE] over the [* Refresh]

  • Added support for mmDM 02.00.00 (Aldo's PS3 DEX Game Mounter PC application)
  • Added support for selecting and activating up to 10 games from BDEMU USB HDD (mmDM+ProDG+LAN required) - Press [TRIANGLE] while [* Refresh] is selected in Game column to access BDEMU games

Basically, it now supports changing games on the BDEMU HDD if mmDM (Aldo's DEX Mounter) is running + ProDG/TargetManager

Remember, for these on regular CEX/CFW the version is still only at v04.05.01 for mmCM (aka) multiMAN Cobra Manager.

Note: Aldo's mmDM 02.00.00 is required to make usage of the update, along with of course a DEX PS3 Console.

Finally, from A$h X: I've re-packaged (above) the newest DEX multiman (04.05.04) so it doesn't overwrite the old multiman, that way you can try it out without losing the ability of flash CEX dumps via older multiman versions.

PS3 News's Avatar
#251 - PS3 News - 85w ago
Today aldostools made available a mmDM DEX Game Mounter alongside the release of multiMAN version 04.05.01 with details below.

Download: mM 04.05.01 (DEX) - mmDM (DEX Game Mounter) - Showtime 04.00.000 (DEX) (35.21 MB) / mM 04.05.01 (DEX) - mmDM (DEX Game Mounter) - Showtime 04.00.000 (DEX) (Mirror)

mmDM (Dex Game Mounter) will automatically convert the CEX/CFW(retail) games to DEX (debug eboot/sprx/self). It can also convert the modified files back to CFW. That was the whole point - it is all automated, active game is changed via mM or mmDM.

  • You pick your regular GAMES collection
  • Use it on DEX (mmDM will take care of the on-the-fly conversion)
  • Use it on CFW (mmDM can restore all changed games to CFW compatible)

The PS3 Tools Collection 2.0.1 (aldostools.org/ps3tools.zip) patches the "/dev_bdvd" -> "/app_home" just pressing Shift+Ctrl+Enter on the EBOOT.BIN/self/sprx from Windows Explorer.

One additional important setting is also required in ProDG:

Target Properties -> Target -> XMB Settings -> Debug Settings -> "GameContent Util Boot Path (/app_home/PS3_GAME) -> For Development

From the ReadMe File: mmDM: Aldo's DEX Game Mounter/multiMAN DEX Readme

* Credits:

  • aldostools for creating a kickass app in couple of hours
  • zadow28 for the general idea, testing and being drunk as usual
  • gDrive for testing and being sober all the time
  • acab for the cheer up
  • GraVoX for getting settled

What is included:

  • multiMAN 04.05.01 [DEX]
  • mmDM 01.00.00 [PC] (Aldo's PS3 DEX Game Mounter)

Advantages:

  • No need for ps3gen and dedicated USB HDD with limitation for the number of games
  • No need to go to the PC each time you want to select a game (if mM is used)
  • Faster loading times via LAN
  • No need to split games
  • No HDD space required for games (only game data)
  • Works for 00.92-03.60 DISC game backups
  • Works for 03.70-04.20 DISC game backups with 03.55FW patched disc eboot/self/sprx files (not PSN/pkg patches)
  • If you prepare UPDATE packages for 03.70-04.20 games make sure to change all /dev_bdvd references in EBOOT.BIN/self/sprx files to /app_home

What do you need:

  • A PC and a PS3 and wired LAN (and some brains)
  • Wired LAN connection from your PS3 to the local network
  • multiMAN 04.05.01 [DEX] installed on your PS3
  • ProDG / TargetManager installed on your PC
  • mmDM (DEX GameMounter) installed on your PC

On your PC (one-time setup):

mmDM:

  • Start mmDM (DEX Game Mounter)
  • If you get warnings about ProDG, ignore and continue
  • Click the [FOLDER-ICON] button and browse to the game backups folder on your hdd/usb
  • mmDM will show your games
  • Pick one game and click "MOUNT >" button
  • If you run into 1002 error problems, change the mount-point-drive to O:\ or another drive letter

ProDG/TargetManager:

  • Install and configure ProDG / PS3 Target Manager to have your DEX PS3 visible in "Debugging Station (DECHA00J / .... )"
  • Connect to your PS3 (F7)
  • Make sure that you have "Reset Mode" set to "System Software Mode" -> "Target -> Reset Mode -> System Software Mode"
  • Reset your PS3 -> "Target -> Reset"
  • Wait for reset to complete
  • Right-click on your target PS3 name and select "Set File-Serving Directory (app_home/)"
  • Select drive/path Z:\ (or O:\ or the one you used earlier - IMPORTANT: it must be the same drive letter as in mmDM)
  • Select your PS3 under "Debugging Station ..." and press F7 (or mouse right-click -> Connect)

On your PS3:

multiMAN:

  • Start mM
  • Go to "Settings" -> "Network Servers"
  • Add your PC as a network server (/net_host) - enter your PC IP address and leave the default port
  • Go to "Games" column
  • Click "Refresh" and wait for it to complete
  • You should see the games from your PC (a little globe icon in right-hand corner of the icon)
  • Pick a game and press [X]

After you complete all this one-time setup you will have two choices:

--- Activate/mount games on your PC manually:

  • Have ProDG running on your PC and connected to your target PS3
  • Have mmDM running on your PC
  • Double click a game (or right-click -> "Convert EBOOT to DEX" and double-click)
  • Launch game from /app_home on your PS3

or

--- Have multiMAN remotely activate games via mmDM

  • Have ProDG running on your PC and connected to your target PS3
  • Have mmDM running on your PC
  • In multiMAN - select a network game and click [X] and play from /app_home

Setting up ProDG (Target Manager):

  • Connect your PS3 to LAN with cable (no Wi-Fi) and setup the Network in XMB->Network Settings
  • Install and configure ProDG / PS3 Target Manager to have your DEX PS3 visible in "Debugging Station (DECHA00J / .... )"
  • Click the green-refresh-arrows to scan your local network for a DEX PS3 (second row, third selection from the left)
  • Hopefully your PS3 will appear, so right-click -> Add target
  • Make sure that you have "Reset Mode" set to "System Software Mode" -> "Target -> Reset Mode -> System Software Mode"
  • Make sure that mmDM (DEX Mounter) is running on your PC and a game is mounted to Z:\ drive
  • Right-click on your target PS3 name and select "Set File-Serving Directory (app_home/)"
  • Select drive/path Z:\ (Or O:\ or the one you used earlier - IMPORTANT: it must be the same drive letter as in mmDM)
  • Select your PS3 under "Debugging Station ..." and press F7 (or mouse right-click -> Connect)
  • Reset your PS3 -> "Target -> Reset"
  • Wait for the resettingphase to complete

mmDM: Aldo's DEX Game Mounter

multiMAN DEX – network (PC)-located games have a little globe in the right-hand corner of the icon

Update: In related news, andbey0nd (with the help of aldostools) has also released genGP3 allowing PS3 DEX owners to use PS3 Generator without the need of setting up options, meaning you can now transfer games to a USB HDD that has been re-formatted for DEX-only usage.

Download: GenGP3 / GenGP3 (Mirror) / GenGP3 v2 / GenGP3 v2 (Mirror #2) / GenGP3 v2 (Mirror) / GenGP3 Setup Installer by Abkarino / GenGP3.reg / GenGP3 v2.1 / GenGP3 v2.2

From the ReadMe files: genGP3

Usage: genGP3.exe GAME_FOLDER [output.gp3]
Example: genGP3.exe x:\GAMES\FUNNY_GAME\PS3_GAME

or

Drag and drop your game PS3_GAME folder to genGP3.exe

  • Use command prompt or drag & drop a PS3 game folder to genGP3.exe
  • It will create a .gp3 XML project file for PS3 Generator Tools
  • Use Generator tools to create a MasterDisc or BDEMU image (iso/emu)

September 2012

CHANGELOG:

  • 01.00 - Initial Release
  • 02.00 - Support for PS3_EXTRA (new format), support for Extra Content (Themes, Packages and Videos in PS3_EXTRA)
  • 02.01 - Added support for TITLE_XX, PIC*_XX, ICON*_XX, SND0_XX for PS3_GAME and PS3_EXTRA content and UTF8+BOM output
  • 02.02 - Added support for old extra content format PS3_GAME/PKGDIR/PKG**/INSTALL.PKG for installable packages (no PS3_CONTENT support for THEMEDIR/VIDEODIR)

Now it is possible to create scripts which otherwise would take over 30 mins to create when PS3_EXTRA folder is present with up to 1000 content folders for themes, videos and packages. 02.00 adds support for games like "Journey - Collector's Edition"

Here is example output of the app when PS3_GAME folder of 'Sleeping Dogs' was drag&dropped to 'genPS3.exe':


Project written to: H:\GAMES\BLES01661-[Sleeping Dogs]\BLES01661.gp3

In most cases, it only takes about 1 to 2 seconds to complete the operation, you then use this file in PS3 Generator.

Remember still only newer games which have 'retail updates' on the Sony servers can be played on DEX, this tool just makes using PS3 Generator easier. Enjoy

From aldostools: genGP3.reg TIP:

1. Extract the rar to C:\genGP3 (it should be that path!!!)
2. Create a new text file with the following content and save it as "Associate genGP3 to Folders.reg"


3. Double click on "Associate genGP3 to Folders.reg"

Now you will be able to create the .gp3 file in 1 second just right-clicking on the PS3_GAME folder

To remove the association, create a text file with the following content and save it as "Associate genGP3.reg" and double click on it.


.gp3 files are the XML used by the PS3GEN tool to build BDEMU images for PS3 develoment consoles (DEX or CEX-->DEX).

They are usually created by the PS3GEN tool filling some fields and drag/drop the files to PS3GEN. This tool automates the creation of the .gp3 file, saving time and strain in your hand.













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