Talk:Content Manager Assistant

From Vita Developer wiki
Revision as of 18:48, 9 May 2013 by Deroad (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search



The only thing CMA is doing is a POST request to grab the latest psp2-updatelist.xml. I’ve analyzed the CMA.exe (main application), CMANPLib.dll (NP handler) and the CMAMetaGen.dll (Metadata parser) files and there doesn’t seem to be any relevant data being sent back to the servers. From CMANPLib.dll: (http://pastebin.com/a5VS1wPJ) ::

    - CMA client info:
    ContentManagerAssistantW/1.0
    User-Agent
     
    - PSN data:
    urn:service-entity:psn (URN service)
    IV0001-NPXS01010_00 (Ticket ID)
     
    - Pseudo functioning:
    open("POST", "https://auth.ac.playstation.net/np/auth");
    setHeader("Content-Type", "application/x-www-form-urlencoded");
    setHeader("Content-length", data_length);
    setHeader("X-NP-Status", "OK");
    setHeader("X-NP-Version", "3.0");
    setHeader("NG", "1.0");
     
    - Vars:
    loginid
    password
    deviceid
    serviceid
    serviceentity
    first
     
    - Defines:
    maxsize = 65536
    type = 0
     
    - Format:
    <%016llx%016llx%016llx%016llx>

Patching the GetTicket function call in CMANPLib.dll should do the trick.

Source: http://wololo.net/wagic/2011/12/27/ps-vita-compulsory-system-update-1-510/comment-page-1/#comment-88476


CMA application collects much more information than it’s supposed to.

Basically, the main executable hooks CMANPLib.dll in order to start a network NP connection with the Sony servers and it hooks the CMAMetaGen.dll to parse every single file that goes through the application. During execution, each file’s data is collected and stored in a security cookie which is shared through the NP connection. However, the mandatory firmware update does not seem to be related to this. The CMA application itself does this on it’s own. Apparently, updates to the CMA application alone are just enough to trigger the firmware mismatch error (still need to investigate this).

What’s really concerning is that every single file is analyzed with the proprietary dll and the generated data fields ARE sent back through the cookie. Properties like “copyright”, “appli_description”, “content_path”, “permission_type”, “drm_string”, “marlin_id”, to name a few, are associated with the user’s files’.

I’ve also found some references to files used for media handling in a new .prx format. Their names are somewhat intriguing:

RiffPromoter.suprx
AACPromoter.suprx
Mp3Promoter.suprx
MsvPromoter.suprx
tiff_promoter.suprx
png_promoter.suprx
jpeg_promoter.suprx
gif_promoter.suprx
bmp_promoter.suprx

Source: http://wololo.net/wagic/2011/12/27/ps-vita-compulsory-system-update-1-510/comment-page-1/#comment-88502


CMA-PS Vita dialog

[mtp_dev_attach:56] VITA(id=5) is attached
[cmdThreadRoutine:148] Check DeviceStatus: OK
[SendCommand:1429]
[SendCommand:1432]
[printOperation:815] ---- Operation: OperationCode_GetDeviceInfo[0x1001] [Transaction=0]---
[SendCommand:1446]
[cellUsbMtpSendCommand:1010] Before cellUsbdBulkTransfer
[SendCommandDone:308] SendCommandDone
[RecvResponseDone:334] RecvResponseDone
[cmdThreadRoutine:155] GetDeviceInfo: OK [0]
[printDevInfo:767] --------------- Device Info Dataset ----------------
[printDevInfo:770]  Standard Version        = 100
[printDevInfo:771]  MTP Vendor Extension ID = 6
[printDevInfo:772]  MTP Version             = 100
[printDevInfo:773]  MTP Extensions          = microsoft.com: 1.0; scei.co.jp/psvita:1.0.0.1.0; sony.net/MRLN: 1.0
[printDevInfo:774]  Functional Mode         = 0
[printDevInfo:775]  ...
[printDevInfo:776]  Manufacturer            = Sony Computer Entertainment Inc.
[printDevInfo:777]  Model                   = PlayStation(R)Vita
[printDevInfo:778]  Device Version          = 1.51
[printDevInfo:779]  Serial Number           = 
[printOperation:815] ---- Operation: OperationCode_OpenSession[0x1002] [Transaction=1]---
[SendCommand:1446]
[cellUsbMtpSendCommand:1010] Before cellUsbdBulkTransfer
[SendCommandDone:308] SendCommandDone

(dump made by HI_Ricky on IRC)

savedata.psvinf[edit source]

contains the current account id