Editing PSN

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
{{Wikify}}
[[Category:Software]]
''this page needs cleanup and proper formatting''


= PSN Handshake Signup =
= PSN Handshake Signup =
Line 93: Line 94:
On finalize auth ps3 request profile settings is xml based process  
On finalize auth ps3 request profile settings is xml based process  


request profile with auth encoded with base64 and sends to a server with this :
request profile with auth encrypted to base64 and sends to a server with this :


Headers:
Headers:
Line 140: Line 141:
*Get profile need's other certicate to auth ssl connection in this case Dnas root 05
*Get profile need's other certicate to auth ssl connection in this case Dnas root 05


= Patching the PSN Ingame Login Message Dialog =
This was taken from MGO2.SELF, and reversed by SaveMGO2 guys, so credits to them.
<pre>
.text:0000000000AA08E8                li        r0, 1
.text:0000000000AA08EC                stw      r0, 0xC0+var_40(r1)
.text:0000000000AA08F0                b        loc_AA08F8
</pre>
<pre>
.text:0000000000AA08F8                addi      r3, r1, 0xC0+var_44
.text:0000000000AA08FC                bl        _cellNetCtl_cellNetCtlNetStartDialogLoadAsync # int cellNetCtlNetStartDialogLoadAsync(const struct CellNetCtlNetStartDialogParam *param)
</pre>
cellNetCtlNetStartDialogLoadAsync is the function that determines if the title is an online game, or offline game.
We found this out after a while, we have an 8 byte array that is passed onto the function by address.
We found out that if we change the byte array from:
<pre>
00 00 00 0c 00 00 00 01
</pre>
to
<pre>
00 00 00 0c 00 00 00 00
</pre>
then the title is an "offline" game, and doesn't require a log in.
After a while, I realized we didn't have to do weird stuff with our own functions and messy stuff, it's created in the assembly and stored in the address that is read.
So all we have to do, is change the immediate value from a 1 to a 0:
<pre>
li        r0, 1
</pre>
to
<pre>
li        r0, 0 
</pre>
Which will do what we need.
== How to ==
You find the offset where it is calling cellNetStartDialogLoadAsync(),
this will read in a struct:
-size
-type
-cid
type 0 = Network Game
type 1 = PSN required network game.
You can simply change it to a 0 and it will keep network libraries loaded, but will not require a login via PSN. You will have to go through the rest of the binary and fulfill all NP related library calls or patch them out as well... or it will reference library calls that have not been loaded.


= PSN Store =
= PSN Store =
To get installable packages you have downloaded to your console go to /dev_hdd0/vsh/game_pkg
the name will be garbled, so you'll be safer doing it one at a time.


== PSN INFINITY v2 - Open Beta ==
== PSN INFINITY v2 - Open Beta ==
App made by SKFU + iQD, source: http://streetskaterfu.blogspot.de/2012/03/psn-infinity-v2-open-beta.html<br />
App made by SKFU + iQD, source: http://streetskaterfu.blogspot.de/2012/03/psn-infinity-v2-open-beta.html<br />
Dependencies are OpenSSL + VC Redists: http://www.slproweb.com/products/Win32OpenSSL.html<br />
Dependencies are OpenSSL + VC Redists: http://www.slproweb.com/products/Win32OpenSSL.html<br />
https://web.archive.org/web/*/http://ps3devwiki.com/files/NP/infinity.zip<br />
http://www.ps3devwiki.com/files/NP/infinity.zip<br />
 
== PSN JSON Parser for PC ==
This simple script parse the online store json to an readable text.
The json is here: (you need to connect to store.sonyentertainmentnetwork.com, to see the data)
<pre>https://store.sonyentertainmentnetwork.com/kamaji/api/chihiro/00_09_000/gateway/store/v1/users/me/internal_entitlements?fields=drm_def</pre>
* [https://gist.githubusercontent.com/wargio/24af527aaa53a8781438/raw/57d7e090f22ea41b8ceecc8be8d398ec0480efc8/ps_store_json.sh ps_store_json.sh]
<pre>
Usage: ./ps_store_json.sh <internal_entitlements.json>
      Login into 'https://store.sonyentertainmentnetwork.com'
      Save the page 'https://store.sonyentertainmentnetwork.com/kamaji/api/chihiro/00_09_000/gateway/store/v1/users/me/internal_entitlements?fields=drm_def'
      Give the page to this script './ps_store_json.sh internal_entitlements.json
      it will return something like:


      ContentID:        UP0001-000000000_00-0000000000000000
== PSN PS3MFW TCL 4.11 only PS3 CFW 3.55 - Open Beta ==
      Content Name:    Game Name
      Content Size:    XXX Mb
      Content URL:      http://zeus.dl.playstation.net/cdn/xxxxxx/000000000_00/yyyy...yyyyyyy.pkg
      drmContentType:  n
      drmType:          m
      Publisher Name:  Game Publisher
      Title Name:      Game Name Demo
      Img URL:          https://image.api.np.km.playstation.net/images/......
</pre>


== PSN PS3MFW TCL Task - 4.11 only PS3 CFW 3.55 - Open Beta ==
It is one patch for PSN 4.11 IN CFW 3.55 RETAIL Beta using PS3MFW 0.2.1. Use with your responsibility.
It is one patch for PSN 4.11 IN CFW 3.55 RETAIL Beta using PS3MFW 0.2.1. Use with your responsibility.


Line 236: Line 163:
#
#


# Created By Boludoz
# Created By RazorX


# Priority: 700
# Priority: 700
Line 309: Line 236:
             catch_die {::patch_elf $elf $search 20 $replace} "Unable to patch self [file tail $elf]"
             catch_die {::patch_elf $elf $search 20 $replace} "Unable to patch self [file tail $elf]"


             log "WARNING: activating PSN requires SPROOF 3.41" 1
             log "WARNING: activating psn content offline requires reActPSN application" 1
         }
         }
     }
     }
}</pre>
}</pre>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)