PS3 Hypervisor Reverse Engineering Progress is Detailed - 改機

By Suhail Hany
at 2010-11-17T22:23
at 2010-11-17T22:23
Table of Contents
http://ppt.cc/9isq
https://ps3wiki.lan.st/index.php/Hypervisor_Reverse_Engineering
(↑該網站憑證未經合法簽證,請注意)
graf_chokolo依約公佈了整個Hypervisor的逆向工程細節,東西很多,但可以注
意33.17 0x24000 - USB Dongle Authenticator的部份,裡面講到了USB Dongle
的Master Key。
0x24002 - Verify Response
* I have got access to this service and tested it with PSGroove
* The response body is 25 bytes large
* The first 3 bytes have to be 0x2E 0x02 0x02 or else the check fails
* The 16 bit at offset 3 is a dongle ID
* The dongle ID is checked if it's revoked or not
* When the verification succeedes then product mode is set to 1
* The service calculates USB Dongle Key from USB Dongle ID and USB
Dongle Master Key by using HMAC SHA-1
* The service uses HMAC SHA-1 to calculate the correct response
body from the challenge body and USB Dongle Key
* After that the service compares the calculated response body
with the given one that was sent to the service
* It seems that laid and paid from SS packet header are used in
decryption process
USB Dongle Master Key
* USB Dongle Master Key is stored encrypted in Process 6
* The encrypted key is 64 bytes large
* The decrypted key is 20 bytes large
* The USB Dongle Master Key is decrypted first time the service
0x24002 is used
* The USB Dongle Master Key is decrypted by using the service
0x200E (Decrpyt Master) of Vitual TRM Manager
* The decrypted USB Dongle Master Key is stored in Process 6 in
clear text (after first usage of this service)
* When decrpyption of USB Dongle Master Key fails then a dummy key
is used
* Unfortunately, in the HV dump 3.15 the USB Dongle Master Key was
not decrypted at the moment of dumping
Here is the encrypted USB Dongle Master Key from HV 3.15:
0x22 0xD5 0xD1 0x8C 0xFF 0xE2 0x4F 0xAC 0xEC 0x72 0xA2 0x42 0xA7 0x18 0x98 0x10
0x25 0x33 0xE0 0x96 0xF2 0xC1 0x91 0x0D 0x15 0x23 0xD3 0x07 0x74 0xE7 0x2B 0x72
0xDF 0xA6 0xDD 0xE9 0x68 0x8B 0x76 0x2A 0x6A 0x87 0x51 0x7F 0x85 0x39 0x0B 0xD4
0x20 0x3F 0x46 0x89 0x04 0x82 0xB7 0x30 0x84 0x89 0x4B 0xCC 0x9D 0xB1 0x24 0x7C
Here is the USB Dongle Master Dummy Key from HV 3.15:
0xD1 0xFC 0x57 0x55 0xBF 0x20 0xFA 0xB2 0xD4 0xA5 0x4A 0x0A 0x0C 0x5D 0x52 0x8E
0xDF 0x66 0xCD 0x74
USB Dongle ID Revoke List
* Process 6 contains a revoke list for USB Dongle IDs
* The revoke list is 0x2000 bytes large. It's a bitmap.
* Each bit represents a USB Dongle ID. If bit is 0 then USB Dongle
ID is revoked.
The following USB Dongle IDs are revoked in HV 3.15:
0, 2, 13, 32, 34, 176, 241
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
https://ps3wiki.lan.st/index.php/Hypervisor_Reverse_Engineering
(↑該網站憑證未經合法簽證,請注意)
graf_chokolo依約公佈了整個Hypervisor的逆向工程細節,東西很多,但可以注
意33.17 0x24000 - USB Dongle Authenticator的部份,裡面講到了USB Dongle
的Master Key。
0x24002 - Verify Response
* I have got access to this service and tested it with PSGroove
* The response body is 25 bytes large
* The first 3 bytes have to be 0x2E 0x02 0x02 or else the check fails
* The 16 bit at offset 3 is a dongle ID
* The dongle ID is checked if it's revoked or not
* When the verification succeedes then product mode is set to 1
* The service calculates USB Dongle Key from USB Dongle ID and USB
Dongle Master Key by using HMAC SHA-1
* The service uses HMAC SHA-1 to calculate the correct response
body from the challenge body and USB Dongle Key
* After that the service compares the calculated response body
with the given one that was sent to the service
* It seems that laid and paid from SS packet header are used in
decryption process
USB Dongle Master Key
* USB Dongle Master Key is stored encrypted in Process 6
* The encrypted key is 64 bytes large
* The decrypted key is 20 bytes large
* The USB Dongle Master Key is decrypted first time the service
0x24002 is used
* The USB Dongle Master Key is decrypted by using the service
0x200E (Decrpyt Master) of Vitual TRM Manager
* The decrypted USB Dongle Master Key is stored in Process 6 in
clear text (after first usage of this service)
* When decrpyption of USB Dongle Master Key fails then a dummy key
is used
* Unfortunately, in the HV dump 3.15 the USB Dongle Master Key was
not decrypted at the moment of dumping
Here is the encrypted USB Dongle Master Key from HV 3.15:
0x22 0xD5 0xD1 0x8C 0xFF 0xE2 0x4F 0xAC 0xEC 0x72 0xA2 0x42 0xA7 0x18 0x98 0x10
0x25 0x33 0xE0 0x96 0xF2 0xC1 0x91 0x0D 0x15 0x23 0xD3 0x07 0x74 0xE7 0x2B 0x72
0xDF 0xA6 0xDD 0xE9 0x68 0x8B 0x76 0x2A 0x6A 0x87 0x51 0x7F 0x85 0x39 0x0B 0xD4
0x20 0x3F 0x46 0x89 0x04 0x82 0xB7 0x30 0x84 0x89 0x4B 0xCC 0x9D 0xB1 0x24 0x7C
Here is the USB Dongle Master Dummy Key from HV 3.15:
0xD1 0xFC 0x57 0x55 0xBF 0x20 0xFA 0xB2 0xD4 0xA5 0x4A 0x0A 0x0C 0x5D 0x52 0x8E
0xDF 0x66 0xCD 0x74
USB Dongle ID Revoke List
* Process 6 contains a revoke list for USB Dongle IDs
* The revoke list is 0x2000 bytes large. It's a bitmap.
* Each bit represents a USB Dongle ID. If bit is 0 then USB Dongle
ID is revoked.
The following USB Dongle IDs are revoked in HV 3.15:
0, 2, 13, 32, 34, 176, 241
--
○ ____ _ _ _ _ ____ _ _ ____ _____ ____
。 ★(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
o _)(_ ) ( \ / )__) ) ( )( )(_)( ) / ● ‧
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_) ★
o
--
Tags:
改機
All Comments

By Anonymous
at 2010-11-22T21:52
at 2010-11-22T21:52
Related Posts
淡水徵人幫我改機

By Elvira
at 2010-11-17T20:29
at 2010-11-17T20:29
SONY更新了PSN使用規範了

By Doris
at 2010-11-17T18:26
at 2010-11-17T18:26
PS Downgrade Confirmed Working 100% …

By Kama
at 2010-11-17T14:21
at 2010-11-17T14:21
waiting for your slow usb device?

By Rebecca
at 2010-11-17T14:06
at 2010-11-17T14:06
PS Downgrade Confirmed Working 100% PSDG洗金ㄟ

By Hedda
at 2010-11-17T11:09
at 2010-11-17T11:09