Talk:Online Connections
VSH.elf 4.30
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 006E8FC0 73 70 2D 69 6E 74 00 00 00 00 00 00 00 00 00 00 sp-int.......... 006E8FD0 FF FF FF FF 00 00 00 00 FC A4 DD 70 A2 42 E4 C3 ÿÿÿÿ....ü¤Ýp¢Bäà 006E8FE0 CC F1 5F D6 AE 8F 0A E7 87 49 D1 B3 52 F4 DA 4D Ìñ_Ö®..ç‡IѳRôÚM 006E8FF0 9D E0 04 E9 F2 D7 2F 6D E3 77 69 9B C2 E5 F8 3A .à.éò×/mãwi›Âåø: 006E9000 4C 28 EE A5 75 DB EA A2 93 F3 83 5E 8B 7A FA 9A L(î¥uÛꢓóƒ^‹zúš 006E9010 16 57 3A D5 B0 DE EB CC E1 A7 C5 4C 66 B9 03 AE .W:Õ°ÞëÌá§ÅLf¹.® 006E9020 41 86 FB D7 EE B2 3F 16 E6 7A 19 42 0B 26 21 14 A†û×î²?.æz.B.&!. 006E9030 08 B9 17 15 AC C3 D1 99 8A 37 A4 63 9F AF F0 64 .¹..¬ÃÑ™Š7¤cŸ¯ðd 006E9040 E9 F9 0C 0F EC B2 8C 81 3F A9 F6 49 07 4C 9A 33 éù..첌.?©öI.Lš3 006E9050 03 92 EA 2B 91 C3 FD 37 32 D1 DF ED 7C A1 51 A2 .’ê+‘Ãý72Ñßí|¡Q¢ 006E9060 19 26 F0 B3 15 10 7B F1 FB EA 89 29 E6 8A B3 97 .&ð³..{ñûê‰)抳— 006E9070 20 00 00 00 00 02 00 01 00 03 00 00 00 04 00 00 ............... 006E9080 00 00 00 00 14 A3 21 4C 53 27 08 49 D6 15 B2 A2 .....£!LS'.IÖ.²¢ 006E9090 69 4F 24 C7 FB 39 1D 0C C3 38 0B 12 7B 2A 5F 0C iO$Çû9..Ã8..{*_. 006E90A0 FF 99 89 FE 4E DF 0F 1E 46 7B 2C 7F 2C 8F AF D4 ÿ™‰þNß..F{,.,.¯Ô 006E90B0 03 24 0D 92 E9 7A 4B 6E AA 3C 38 38 92 0D 8F 5C .$.’ézKnª<88’..\ 006E90C0 D8 9F 2A 75 DE D5 21 02 FC 06 40 D5 9C B2 5A 69 ØŸ*uÞÕ!.ü.@Õœ²Zi 006E90C8 passphrase (PSN) 0x40 006E90D0 8E E9 7B 38 33 04 49 64 FF ED 34 F1 CC 9A C3 83 Žé{83.Idÿí4ñ̚à 006E90E0 31 7D 91 AB 0C 94 B8 6F 1F EE A0 68 79 81 CC F5 1}‘«.”¸o.î hy.Ìõ 006E90F0 69 2D 2B 50 0A F9 B9 F8 71 C8 9E 0C 5A 79 90 2F i-+P.ù¹øqÈž.Zy./ 006E9100 4E BD 4E 13 50 53 33 5F 43 20 30 2E 30 30 00 00 N½N.PS3_C 0.00.. 006E9110 00 00 D7 04 21 F2 92 9C E3 65 6B AC 5D F8 B1 9A ..×.!ò’œãek¬]ø±š 006E9120 5C 27 13 02 90 C6 EA 04 F0 BE B2 7D 13 DC 20 4E \'...Æê.ð¾²}.Ü N 006E9130 4F 25 9A 3E 48 5A A7 6D 50 F5 84 67 BD 9E D7 76 O%š>HZ§mPõ„g½ž×v 006E9140 07 55 65 91 3A C8 8D 2B CC 2B 2F A4 D6 5F 08 28 .Ue‘:È.+Ì+/¤Ö_.( 006E9150 1F A2 4C 4E D1 96 1D 40 9C 3B FA EE 60 A5 9A 80 .¢LNÑ–.@œ;úî`¥š€ 006E9160 CB 0D EF C2 CE 93 87 7A 38 67 16 15 8C A5 A8 EE Ë.ïÂΓ‡z8g..Œ¥¨î 006E9170 26 60 8E 0E 03 DE 05 BB ED D0 D4 03 38 40 B5 0E &`Ž..Þ.»íÐÔ.8@µ. 006E9180 B8 57 30 B2 25 08 C2 AE F9 D3 87 BD 59 4D 19 44 ¸W0²%.®ùÓ‡½YM.D 006E9190 AE 83 00 00 00 02 00 01 00 6D 99 20 00 03 00 00 ®ƒ.......m™ .... 006E91A0 00 6D 99 68 00 04 00 00 00 6D 99 60 00 00 00 00 .m™h.....m™`.... 006E91B0 00 00 00 00 00 02 00 01 00 6D 99 58 00 03 00 00 .........m™X.... 006E91C0 00 6D 99 10 00 04 00 00 00 6D 99 08 00 00 00 00 .m™......m™..... 006E91D0 00 00 00 00 00 02 00 01 00 6D 99 30 00 03 00 00 .........m™0.... 006E91E0 00 6D 99 28 00 04 00 00 00 6D 99 18 00 00 00 00 .m™(.....m™..... 006E91F0 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF ....ÿÿÿÿÿÿÿÿÿÿÿÿ 006E9200 00 00 00 00 FF FF FF FF 00 00 00 00 FF FF FF FF ....ÿÿÿÿ....ÿÿÿÿ 006E9210 FF FF FF FF 00 68 07 B8 00 68 07 C0 00 00 00 00 ÿÿÿÿ.h.¸.h.À.... 006E9220 00 00 00 00 00 00 00 00 00 00 01 BB 00 00 00 00 ...........».... 006E9230 01 00 00 00 00 00 00 02 83 00 00 00 00 00 00 00 ........ƒ.......
to add
<deroad> @eussNL there is a thing not written in the wiki (i can't access now, don't know why) http://xmb-e.dl.playstation.net/ <deroad> a guy told me that homebrews under PSN category sends this to sony: xmb-e.dl.playstation.net/xmb/l?env=np&serv=PSChannel&cc=us
found in explore_plugin.sprx --Nas plugi 04:58, 9 August 2013 (MSK)
Ports
http://portforward.com/cports.htm
3.55 spoofed with jailbait SEN/PSN enabler
http://www.ps3hax.net/showthread.php?t=38472&page=18
Title | Status | Remarks |
---|---|---|
Army of Two the 40th day | Yes | |
Battlefield 1943 (PSN) | Yes | |
Battlefield BC2 | Yes | work with last update (1.05) |
Battlefield 3 | Yes | only invite |
Blur | Yes | |
Borderlands | Yes | |
Burnout Paradise and DLC (PSN) | Yes | |
Burnout | Yes | |
Call of Duty 4 | Yes | |
Call of Duty Black Ops | No | param.sfo edit app version to 1.13 |
Call of Duty Modern Warfare 2 | Yes | Needs update 1.12 |
Call of Duty Modern Warfare 3 (TB) | No | |
Call of Duty World At War | Yes | |
Call of Juarez: Bond by Blood | Yes | |
Crash Bandicot (PSN) | Yes | |
Crysis 2 | Yes | |
Dead Rising 2 | Yes | |
Dead Space 2 | Yes | |
Dragon Ball Raging Blast 2 | Yes | |
Far Cry 2 | Yes | |
FIFA11 | Yes | |
FIFA12 | Yes | param.sfo edit app version to 1.07 (that way hard to find match!) OR backup EBOOT.BIN & fifazf.self (leave param.sfo original), update game to 1.06 replace EBOOT.BIN & fifazf.self with backuped one. (That way it found matches quickly BUT! for me fifa lags ALOOOT in both kick off and online head to head, controls lags, replay lags like 2 FPS .... ) |
Fifa Street (TB) | Yes | |
GTA IV | Yes | |
Homefront | Yes | |
Infamous 2 | No | |
Killzone 2 | Yes | |
Killzone 3 | No | |
Little Big Planet GOTY | Yes | |
Lara Croft: Guardian of Light | Yes | |
Marvel Ultimate Alliance 2 | Yes | |
Marvel vs Capcom 3 | Yes | |
MK vs Dc | Yes | |
Mortal Kombat 9 | Yes | |
Naruto Ultimate Ninja Storm 2 | Yes | |
NBA 2k11 | Yes | |
NBA 2k12 | No | |
Need for Speed Hot Pursuit | No | |
Need for Speed Undercover | No | |
PES11 | Yes | |
PES12 | Yes | |
Pure | Yes | |
Red Dead Redemption: Undead Nightmare | Yes | work with last update |
Rage | Yes | Join? |
Resident Evil 5 Gold edition | Yes | |
Ridge Racer 7 | Yes | |
Saints Row 2 | Yes | |
Singularity | Yes | |
Smackdown vs RAW 2011 | Yes | |
Tekken 6 | Yes | |
Top Spin 4 | No | |
Transformers: War For Cybertron | Yes | Update 1.01 |
Tron: Evolution | Yes | Update 1.02 |
Uncharted 3 | No | Update does not work |
Unreal Tournament 3 | Yes | Update 2.00 |
Virtual Tennis 4 | Yes | |
White Knight Chronicles | Yes | Update 1.01 |
WWE All Stars | Yes | |
Yes | ||
Yes | ||
No | ||
No |
Passphrase, ID, Sig
So a little bit about the passphrase and ID... the passphrase is 128 bytes encrypted.
SceNpCommunicationId communication_id = {
{'N','P','X','S','0','0','0','0','5'},
'\0',
0,
0
};
SceNpCommunicationPassphrase communication_passphrase = {
{
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa
}
};
SceNpCommunicationId *get_np_communication_id(void)
{
return &communication_id;
}
SceNpCommunicationPassphrase *get_np_communication_passphrase(void)
{
return &communication_passphrase;
}
I shouldn't really have to explain this but just in case...
ID
static const SceNpCommunicationId s_communication_id = {
{'N','P','X','S','0','0','0','2','7'},
'\0',
0,
0
};
This is the format in which the NP ID will be displayed (don't know much about it).
The request for the ID is very simple:
const SceNpCommunicationId* NpConf::npCommId(int i)
{
(void)i;
return(&s_communication_id);
}
Passphrase
As we know it's 128 bytes encrypted. Displayed like so...
static const SceNpCommunicationPassphrase s_communication_passphrase = {
{
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,
0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa,0xaa
}
};
The auth is as simple as the IDs.
const SceNpCommunicationPassphrase* NpConf::npCommPassphrase(int i)
{
(void)i;
return(&s_communication_passphrase);
}
Also, this a encrypted passphrase (maybe) from 4.00 it's taken from the same format in the code above but there's a lot more characters...
8dade4164f15e26e323668124aa89083b44414c66db2bddcc0ef67f6ca4c1eedc364db4800b62d63e5ecb33e2a1b4db4edc1ee3802a042f06d600eb5cb40236cefcda6136c5a26dd624a1a2fc197b25a4a3b06660f0d3f44bf538971089e44a91169f062c6743dd701f90f256ab5ab539dc943e057303559f66057b39e49b661
Sig
Digital Signature (know nothing about it).
Not sure how it's displayed but it's auth is simple.
const SceNpCommunicationSignature* NpConf::npCommSig(int i)
{
(void)i;
return 0;
}
gen_keying_material.py
#!python2
import sys, os, struct, hashlib, re
if len(sys.argv) < 6:
script_file_name = os.path.split(sys.argv[0])[1]
print 'usage: {0} <premaster secret> <client random> <server random> <session id> <log file>'.format(script_file_name)
sys.exit()
def clean_whitespace(s):
return re.sub(r'\s+', '', s)
ssl3_premaster_secret_size = 48
ssl3_random_size = 32
ssl3_session_id_size = 32
premaster_secret = clean_whitespace(sys.argv[1]).decode('hex')
client_random = clean_whitespace(sys.argv[2]).decode('hex')
if len(client_random) != ssl3_random_size:
print 'error: client random should have {0} bytes'.format(ssl3_random_size)
sys.exit()
server_random = clean_whitespace(sys.argv[3]).decode('hex')
if len(server_random) != ssl3_random_size:
print 'error: server random should have {0} bytes'.format(ssl3_random_size)
sys.exit()
session_id = clean_whitespace(sys.argv[4]).decode('hex')
if len(session_id) != ssl3_session_id_size:
print 'error: session id should have {0} bytes'.format(ssl3_session_id_size)
sys.exit()
log_file_path = sys.argv[5]
if os.path.exists(log_file_path) and not os.path.isfile(log_file_path):
print 'error: invalid log file specified'
sys.exit()
def sha1(data):
return hashlib.sha1(data).digest()
def md5(data):
return hashlib.md5(data).digest()
def ssl3_prf(secret, rnd1, rnd2):
result = ''
for salt in ['A', 'BB', 'CCC']:
result += md5(secret + sha1(salt + secret + rnd1 + rnd2))
return result
master_secret = ssl3_prf(premaster_secret, client_random, server_random)
with open(log_file_path, 'a') as log_file:
log_file.write('RSA Session-ID:{0} Master-Key:{1}\n'.format(session_id.encode('hex').upper(), master_secret.encode('hex').upper()))