Content Manager Assistant: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Software]]
[[Category:Software]]<noinclude>[[Category:Main]]</noinclude>
==CMA Application Backup Directory Structure==
  <CMA APP Backup Directory>
  <CMA Directory>
  ├── APP // PSV Games
  ├── APP // PSV Games
  │  └── <CONSOLE_ID>  
  │  └── <PSN_ACCOUNT_ID>  
  │      └── <GAME_DIRECTORY>
  │      └── <GAME_DIRECTORY>
  │          ├── app
  │          ├── app
Line 23: Line 22:
  │          └── sce_sys
  │          └── sce_sys
  │              ├── icon0.png
  │              ├── icon0.png
  │              └── param.sfo //Trimed Down version of the game's original param.sfo(or equivalent file)
  │              └── [[System_File_Object_(SFO)_(PSF)|param.sfo]] //Trimed Down version of the game's original param.sfo (or equivalent file)
  ├── PGAME // PSP Games
  ├── PGAME // PSP Games
  │  └── <CONSOLE_ID>  
  │  └── <PSN_ACCOUNT_ID>  
  │      └── <GAME_DIRECTORY>
  │      └── <GAME_DIRECTORY>
  │          ├── game
  │          ├── game
Line 37: Line 36:
  │              └── param.sfo //Same as application's original param.sfo
  │              └── param.sfo //Same as application's original param.sfo
  ├── PSAVEDATA // PSP and PS1 Save Data Directory
  ├── PSAVEDATA // PSP and PS1 Save Data Directory
  │  └── <CONSOLE_ID>  
  │  └── <PSN_ACCOUNT_ID>  
  │      ├── <SAVE_DIRECTORY> //Structure for PSP Saves
  │      ├── <SAVE_DIRECTORY> //Structure for PSP Saves
  │      │  ├── ICON0.PNG
  │      │  ├── ICON0.PNG
Line 50: Line 49:
  │          └── SCEVMC1.VMP
  │          └── SCEVMC1.VMP
  ├── PSGAME //PS1 games
  ├── PSGAME //PS1 games
  │  └── <CONSOLE_ID>  
  │  └── <PSN_ACCOUNT_ID>  
  │      └── <GAME_DIRECTORY>
  │      └── <GAME_DIRECTORY>
  │          ├── game
  │          ├── game
Line 62: Line 61:
  │              └── param.sfo //Same as application's original param.sfo
  │              └── param.sfo //Same as application's original param.sfo
  ├── PSM //PSM games
  ├── PSM //PSM games
  │  └── <CONSOLE_ID>  
  │  └── <CPSN_ACCOUNT_ID>  
  │      └── <GAME_DIRECTORY>
  │      └── <GAME_DIRECTORY>
  │          ├── app
  │          ├── app
Line 71: Line 70:
  │              └── param.sfo //Trimed Down version of the game's original param.sfo(or equivalent file)
  │              └── param.sfo //Trimed Down version of the game's original param.sfo(or equivalent file)
  └── SYSTEM //PSV System Backups
  └── SYSTEM //PSV System Backups
     └── <CONSOLE_ID>  
     └── <PSN_ACCOUNT_ID>  
         └── <BACKUP_DIRECTORY>
         └── <BACKUP_DIRECTORY>
             ├── <BACKUP_NAME>.psvimg
             ├── <BACKUP_NAME>.psvimg
Line 77: Line 76:


=== Notes ===
=== Notes ===
*'<PSN_ACCOUNT_ID>' is a unique ID comprised of 16 hexadecimal characters, and doesn't change for a given PSN Account(this isn't just used with PSV, it's also used with PSP)


*".psvimg", ".psvmd" are encrypted.
*".psvimg", ".psvmd" are encrypted.
Line 84: Line 85:
*"license.psvimg" files have a fixed size of 0xE40 bytes.
*"license.psvimg" files have a fixed size of 0xE40 bytes.


*".psvinf" are used only with PSV saves, and have a fixed size of 0x8 bytes. This won't change for a given PSN Account/Console combination.
*"savedata.psvinf" are used only with PSV saves, and have a fixed size of 0x8 bytes. This won't change for a given PSN Account, as it contains the <PSN_ACCOUNT_ID> in hexadecimal(big endian relative to the <PSN_ACCOUNT_ID>).


*The PS Vita System backup <BACKUP_DIRECTORY> name is structured in the format "YYYYMMDDHHMM-NUM". So the first PS Vita system backup on the 23rd of July 2014 at 6:30PM would have a directory name of "201407231830-01". If a user managed to make a second backup in the same minute the directory name of the backup would be "201407231830-02". The "<BACKUP_NAME>" found in "<BACKUP_NAME>.psvimg" and "<BACKUP_NAME>.psvmd" files are the same as the <BACKUP_DIRECTORY> name of the directory they are contained in.
*The PS Vita System backup <BACKUP_DIRECTORY> name is structured in the format "YYYYMMDDHHMM-NUM". So the first PS Vita system backup on the 23rd of July 2014 at 6:30PM would have a directory name of "201407231830-01". If a user managed to make a second backup in the same minute the directory name of the backup would be "201407231830-02". The "<BACKUP_NAME>" found in "<BACKUP_NAME>.psvimg" and "<BACKUP_NAME>.psvmd" files are the same as the <BACKUP_DIRECTORY> name of the directory they are contained in.


*Saves Contained in the "/PSAVEDATA/<CONSOLE_ID>/" folder, are of the same format as PSP saves as they existed on the PSP. So original PSP saves can be transferred to the Vita by placing them in this folder. Restrictions on copying PSP saves to the PSVita vary depending on the CMA version and PSVita version.
*Saves Contained in the "/PSAVEDATA/<PSN_ACCOUNT_ID>/" folder, are of the same format as PSP saves as they existed on the PSP. So original PSP saves can be transferred to the Vita by placing them in this folder. Restrictions on copying PSP saves to the PSVita vary depending on the CMA version and PSVita version.
 
==Decyption==
CMA Backup Files Can be Decrypted using PSVIMGTOOLS https://github.com/yifanlu/psvimgtools/releases
The decryption key is determined by your PSN Account ID (AID)
To get your CMA Key from your PSN Key you can goto cma.henkaku.xyz
 
the syntax to decrypt a CMA Backup is
 
psvimg-extract -k <CMA KEY> <Path To psvimg file> <Output Folder>


== Windows Registry Entries ==
== Windows Registry Entries ==

Latest revision as of 08:04, 29 June 2017

<CMA APP Backup Directory>
├── APP // PSV Games
│   └── <PSN_ACCOUNT_ID> 
│       └── <GAME_DIRECTORY>
│           ├── app
│           │   ├── app.psvimg
│           │   └── app.psvmd
│           ├── appmeta
│           │   ├── appmeta.psvimg
│           │   └── appmeta.psvmd
│           ├── license
│           │   ├── license.psvimg
│           │   └── license.psvmd
│           ├── patch //Only used when the application which has been backed-up, has been updated
│           │   ├── patch.psvimg
│           │   └── patch.psvmd
│           ├── savedata  //Only used when the application which has been backed-up, has created Savedata
│           │   ├── savedata.psvimg
│           │   ├── savedata.psvinf
│           │   └── savedata.psvmd
│           └── sce_sys
│               ├── icon0.png
│               └── param.sfo //Trimed Down version of the game's original param.sfo (or equivalent file)
├── PGAME // PSP Games
│   └── <PSN_ACCOUNT_ID> 
│       └── <GAME_DIRECTORY>
│           ├── game
│           │   ├── game.psvimg
│           │   └── game.psvmd
│           ├── license
│           │   ├── license.psvimg
│           │   └── license.psvmd
│           └── sce_sys
│               ├── icon0.png
│               └── param.sfo //Same as application's original param.sfo
├── PSAVEDATA // PSP and PS1 Save Data Directory
│   └── <PSN_ACCOUNT_ID> 
│       ├── <SAVE_DIRECTORY> //Structure for PSP Saves
│       │   ├── ICON0.PNG
│       │   ├── PARAM.SFO
│       │   ├── PIC1.PNG (not always used)
│       │   └── <save specific data>
│       └── <SAVE_DIRECTORY> //Structure for PS1 Saves
│           ├── CONFIG.BIN
│           ├── ICON0.PNG
│           ├── PARAM.SFO
│           ├── SCEVMC0.VMP
│           └── SCEVMC1.VMP
├── PSGAME //PS1 games
│   └── <PSN_ACCOUNT_ID> 
│       └── <GAME_DIRECTORY>
│           ├── game
│           │   ├── game.psvimg
│           │   └── game.psvmd
│           ├── license
│           │   ├── license.psvimg
│           │   └── license.psvmd
│           └── sce_sys
│               ├── icon0.png
│               └── param.sfo //Same as application's original param.sfo
├── PSM //PSM games
│   └── <CPSN_ACCOUNT_ID> 
│       └── <GAME_DIRECTORY>
│           ├── app
│           │   ├── app.psvimg
│           │   └── app.psvmd
│           └── sce_sys
│               ├── icon0.png
│               └── param.sfo //Trimed Down version of the game's original param.sfo(or equivalent file)
└── SYSTEM //PSV System Backups
    └── <PSN_ACCOUNT_ID> 
        └── <BACKUP_DIRECTORY>
            ├── <BACKUP_NAME>.psvimg
            └── <BACKUP_NAME>.psvmd

Notes[edit | edit source]

  • '<PSN_ACCOUNT_ID>' is a unique ID comprised of 16 hexadecimal characters, and doesn't change for a given PSN Account(this isn't just used with PSV, it's also used with PSP)
  • ".psvimg", ".psvmd" are encrypted.
  • ".psvmd" files have a fixed size of 0xC0 bytes.
  • "license.psvimg" files have a fixed size of 0xE40 bytes.
  • "savedata.psvinf" are used only with PSV saves, and have a fixed size of 0x8 bytes. This won't change for a given PSN Account, as it contains the <PSN_ACCOUNT_ID> in hexadecimal(big endian relative to the <PSN_ACCOUNT_ID>).
  • The PS Vita System backup <BACKUP_DIRECTORY> name is structured in the format "YYYYMMDDHHMM-NUM". So the first PS Vita system backup on the 23rd of July 2014 at 6:30PM would have a directory name of "201407231830-01". If a user managed to make a second backup in the same minute the directory name of the backup would be "201407231830-02". The "<BACKUP_NAME>" found in "<BACKUP_NAME>.psvimg" and "<BACKUP_NAME>.psvmd" files are the same as the <BACKUP_DIRECTORY> name of the directory they are contained in.
  • Saves Contained in the "/PSAVEDATA/<PSN_ACCOUNT_ID>/" folder, are of the same format as PSP saves as they existed on the PSP. So original PSP saves can be transferred to the Vita by placing them in this folder. Restrictions on copying PSP saves to the PSVita vary depending on the CMA version and PSVita version.

Decyption[edit | edit source]

CMA Backup Files Can be Decrypted using PSVIMGTOOLS https://github.com/yifanlu/psvimgtools/releases The decryption key is determined by your PSN Account ID (AID) To get your CMA Key from your PSN Key you can goto cma.henkaku.xyz

the syntax to decrypt a CMA Backup is

psvimg-extract -k <CMA KEY> <Path To psvimg file> <Output Folder>

Windows Registry Entries[edit | edit source]

Location:

HKEY_CURRENT_USER\Software\Sony Corporation\Content Manager Assistant