Content Manager Assistant: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
 
(5 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
    └── <PSN_ACCOUNT_ID>  
  ¦   +-- <PSN_ACCOUNT_ID>  
        └── <GAME_DIRECTORY>
  ¦       +-- <GAME_DIRECTORY>
            ├── app
  ¦           +-- app
              ├── app.psvimg
  ¦           ¦   +-- app.psvimg
              └── app.psvmd
  ¦           ¦   +-- app.psvmd
            ├── appmeta
  ¦           +-- appmeta
              ├── appmeta.psvimg
  ¦           ¦   +-- appmeta.psvimg
              └── appmeta.psvmd
  ¦           ¦   +-- appmeta.psvmd
            ├── license
  ¦           +-- license
              ├── license.psvimg
  ¦           ¦   +-- license.psvimg
              └── license.psvmd
  ¦           ¦   +-- license.psvmd
            ├── patch //Only used when the application which has been backed-up, has been updated
  ¦           +-- patch //Only used when the application which has been backed-up, has been updated
              ├── patch.psvimg
  ¦           ¦   +-- patch.psvimg
              └── patch.psvmd
  ¦           ¦   +-- patch.psvmd
            ├── savedata  //Only used when the application which has been backed-up, has created Savedata
  ¦           +-- savedata  //Only used when the application which has been backed-up, has created Savedata
              ├── savedata.psvimg
  ¦           ¦   +-- savedata.psvimg
              ├── savedata.psvinf
  ¦           ¦   +-- savedata.psvinf
              └── savedata.psvmd
  ¦           ¦   +-- savedata.psvmd
            └── sce_sys
  ¦           +-- sce_sys
                ├── icon0.png
  ¦               +-- icon0.png
                └── [[System_File_Object_(SFO)_(PSF)|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)
  ├── PGAME // PSP Games
  +-- PGAME // PSP Games
    └── <PSN_ACCOUNT_ID>  
  ¦   +-- <PSN_ACCOUNT_ID>  
        └── <GAME_DIRECTORY>
  ¦       +-- <GAME_DIRECTORY>
            ├── game
  ¦           +-- game
              ├── game.psvimg
  ¦           ¦   +-- game.psvimg
              └── game.psvmd
  ¦           ¦   +-- game.psvmd
            ├── license
  ¦           +-- license
              ├── license.psvimg
  ¦           ¦   +-- license.psvimg
              └── license.psvmd
  ¦           ¦   +-- license.psvmd
            └── sce_sys
  ¦           +-- sce_sys
                ├── icon0.png
  ¦               +-- icon0.png
                └── 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
    └── <PSN_ACCOUNT_ID>  
  ¦   +-- <PSN_ACCOUNT_ID>  
        ├── <SAVE_DIRECTORY> //Structure for PSP Saves
  ¦       +-- <SAVE_DIRECTORY> //Structure for PSP Saves
          ├── ICON0.PNG
  ¦       ¦   +-- ICON0.PNG
          ├── PARAM.SFO
  ¦       ¦   +-- PARAM.SFO
          ├── PIC1.PNG (not always used)
  ¦       ¦   +-- PIC1.PNG (not always used)
          └── <save specific data>
  ¦       ¦   +-- <save specific data>
        └── <SAVE_DIRECTORY> //Structure for PS1 Saves
  ¦       +-- <SAVE_DIRECTORY> //Structure for PS1 Saves
            ├── CONFIG.BIN
  ¦           +-- CONFIG.BIN
            ├── ICON0.PNG
  ¦           +-- ICON0.PNG
            ├── PARAM.SFO
  ¦           +-- PARAM.SFO
            ├── SCEVMC0.VMP
  ¦           +-- SCEVMC0.VMP
            └── SCEVMC1.VMP
  ¦           +-- SCEVMC1.VMP
  ├── PSGAME //PS1 games
  +-- PSGAME //PS1 games
    └── <PSN_ACCOUNT_ID>  
  ¦   +-- <PSN_ACCOUNT_ID>  
        └── <GAME_DIRECTORY>
  ¦       +-- <GAME_DIRECTORY>
            ├── game
  ¦           +-- game
              ├── game.psvimg
  ¦           ¦   +-- game.psvimg
              └── game.psvmd
  ¦           ¦   +-- game.psvmd
            ├── license
  ¦           +-- license
              ├── license.psvimg
  ¦           ¦   +-- license.psvimg
              └── license.psvmd
  ¦           ¦   +-- license.psvmd
            └── sce_sys
  ¦           +-- sce_sys
                ├── icon0.png
  ¦               +-- icon0.png
                └── param.sfo //Same as application's original param.sfo
  ¦               +-- param.sfo //Same as application's original param.sfo
  ├── PSM //PSM games
  +-- PSM //PSM games
    └── <CPSN_ACCOUNT_ID>  
  ¦   +-- <PSN_ACCOUNT_ID>  
        └── <GAME_DIRECTORY>
  ¦       +-- <GAME_DIRECTORY>
            ├── app
  ¦           +-- app
              ├── app.psvimg
  ¦           ¦   +-- app.psvimg
              └── app.psvmd
  ¦           ¦   +-- app.psvmd
            └── sce_sys
  ¦           +-- sce_sys
                ├── icon0.png
  ¦               +-- icon0.png
                └── 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
     └── <PSN_ACCOUNT_ID>  
     +-- <PSN_ACCOUNT_ID>  
         └── <BACKUP_DIRECTORY>
         +-- <BACKUP_DIRECTORY>
             ├── <BACKUP_NAME>.psvimg
             +-- <BACKUP_NAME>.psvimg
             └── <BACKUP_NAME>.psvmd
             +-- <BACKUP_NAME>.psvmd


=== Notes ===
=== Notes ===


*'<PSN_ACCOUNT_ID>' is unique for every PS Vita console and is always comprised of 16 hexadecimal characters.
*'<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 91: Line 90:


*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.
*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