Appliance Information Manager: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
m (Reverted edits by 191.102.176.176 (talk) to last revision by CelesteBlue)
Tag: Rollback
Line 99: Line 99:
</source>
</source>


There’s nothing to be embarrassed about.
== 0x19005 - Get Open PS ID ==


There is so much new technology and so much to learn…
* Returns the console's [[OpenPSID]].


And there’s an incredible amount of noise online!
calling from GameOS:
<source lang="c">
struct ss_aim_get_open_ps_id {
    u8 field0[16];
};


Up until now, technically challenged people have had a rough time of it online.
int cellSsAimGetOpenPsId(out:uint8[0x10])
 
</source>
I say up until now, because a brand new technology has just been born.
 
It’s called auto tags and what it can do will blow you away.
 
Imagine having a funnel with dozens of buttons, automations, emails and more.
 
The stress of learning how to put it all together, make sure it’s all connected, editing all the buttons, emails, etc with your own links.
 
The thought of it is daunting to even a seasoned veteran in the online space like me!
 
Now imagine, there was a way to have tags in all of those buttons, links, signatures etc.
 
And all you have to do is enter your name and affiliate links ONCE in one area.
 
And they’re pulled automagically across every part of your funnel.
 
No editing required!
 
Sounds kind of like magic right?
 
And it does work like magic, and it’s the system my friend’s been working on for over a year.
 
Now it’s okay to be a bit technically challenged :)  
 
Plus we have a live weekly call every week to make sure you are supported every step of the way.
 
Take the first step to creating your affiliate marketing business today by clicking here.
 
rpmsystem.net
 
Kind regards,
 
Peter Cunnigham


== 0x19006 - unkonwn ==
== 0x19006 - unkonwn ==

Revision as of 06:18, 11 August 2021

AIM (Appliance Info Manager) is a Process socket service supported by the hypervisor (lv1).

It is used to retrieve the IDPS, Target ID, Open PSID and PS Code from the EID0 data that is passed in.

Responsible is the isolated SPU module aim_spu_module.self from CoreOS / Flash.

This service is accessible from GameOS via syscall 867 and requires 0x40 Root flag (Capability Flags) set in Plaintext Capability Header.

internally loaded@ss_server2.fself
Function Id : 0x19000
Port:	      0x24

0x19000 - AIM

Packet ID Description Lv1 Parameter Usage Lv2Syscall Parameter notes
0x19002 Get Device Type uint8_t out[0x10]
0x19003 Get Device ID uint8_t out[0x10]
0x19004 Get PS Code uint8_t out[0x8]
0x19005 Get Open PS ID uint8_t out[0x10]
0x19006 Unknown void

0x19002 - Get Device Type

0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x85

calling from GameOS:

struct ss_aim_get_device_type {
    u8 field0[16];
};

int cellSsAimGetDeviceType(out:uint8[0x10]);

0x19003 - Get Device ID

  • Returns the console's IDPS.
0x00 0x00 0x00 0x01 0x00 0x89 0x00 0x0B 0x14 0x00 0xEF 0xDD 0xCA 0x25 0x52 0x66  .....‰....ïÝÊ%Rf

calling from GameOS:

struct ss_aim_get_device_id {
    u8 idps[16];
};

int cellSsAimGetDeviceId(out:uint8[0x10]);

0x19004 - Get PS Code

calling from GameOS:

struct ss_aim_get_ps_code {
    u8 field0[8];
};

int cellSsAimGetPsCode(out:uint8[8]);

0x19005 - Get Open PS ID

calling from GameOS:

struct ss_aim_get_open_ps_id {
    u8 field0[16];
};

int cellSsAimGetOpenPsId(out:uint8[0x10])

0x19006 - unkonwn

  • Usage found in bdp_BDVD for example... with 1 param (= 0)
  • Seems to be handled by lv2_kernel, not AIM itself.
  • It looks up for qa-flag (if flagged, sets token seed to an lv2 internal buffer), fself flag & device_id.

calling from GameOS:

int syscall(867, 0x19006);
  • note: this packet id doesnt need another parameter

Reverse Engineering in Lv1

Function Id: 0x19000
Port:	      0x24
Process:      5

If you want to check out about it or get more things documented, consider looking at for example:

  • coolstuff\hvdump315_reversing\proc_5\code_seg.idb
  • coolstuff\hvdump341_reversing\proc_5\code_seg.idb
  • coolstuff\hvdump355_reversing\proc_5\code_seg.idb

See also SPU_Isolated_Modules_Reverse_Engineering#aim_spu_module.