Talk:ReDRM / Piracy dongles: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
---- | |||
that's the algo for masterdiscs</ | I kinda figured how it works already<br /> | ||
ps3gen dll has the static keys for masterdiscs</ | they patched lv1 and lv2<br /> | ||
you can also get it from sv_iso</ | and they have lv2 to check if the self keyset is 0x10 or higher<br /> | ||
the crappy sdk tool that generates masterdisc images for dex</ | if so it's sent to lv1 through a separate hypercall than hvsc99<br /> | ||
which sends the self or part of it to the usb hw<br /> | |||
which performs some crypto<br /> | |||
and returns a decrypted result to lv1<br /> | |||
at least that's what I got out of a few minutes of debugging<br /> | |||
I am pretty sure the keys are on the dongle<br /> | |||
the ones you play games with<br /> | |||
<pre> | |||
// do crypt | |||
unsigned char sector_key[16]; | |||
memset(sector_key, 0, 16); | |||
sector_key[12] = (sector_num & 0xFF000000)>>24; | |||
sector_key[13] = (sector_num & 0x00FF0000)>>16; | |||
sector_key[14] = (sector_num & 0x0000FF00)>> 8; | |||
sector_key[15] = (sector_num & 0x000000FF)>> 0; | |||
// encrypt sector | |||
aes_context aes_ctx; | |||
aes_setkey_enc(&aes_ctx, G_DEBUG_KEY, 128); | |||
aes_crypt_cbc(&aes_ctx, AES_ENCRYPT, aligned_size, sector_key, buff, buff); | |||
// decrypt | |||
aes_context aes_ctx; | |||
aes_setkey_dec(&aes_ctx, G_DEBUG_KEY, 128); | |||
aes_crypt_cbc(&aes_ctx, AES_DECRYPT, aligned_size, sector_key, buff, buff);</pre> | |||
that's the algo for masterdiscs<br /> | |||
ps3gen dll has the static keys for masterdiscs<br /> | |||
you can also get it from sv_iso<br /> | |||
the crappy sdk tool that generates masterdisc images for dex<br /> |
Revision as of 02:44, 24 October 2011
I kinda figured how it works already
they patched lv1 and lv2
and they have lv2 to check if the self keyset is 0x10 or higher
if so it's sent to lv1 through a separate hypercall than hvsc99
which sends the self or part of it to the usb hw
which performs some crypto
and returns a decrypted result to lv1
at least that's what I got out of a few minutes of debugging
I am pretty sure the keys are on the dongle
the ones you play games with
// do crypt unsigned char sector_key[16]; memset(sector_key, 0, 16); sector_key[12] = (sector_num & 0xFF000000)>>24; sector_key[13] = (sector_num & 0x00FF0000)>>16; sector_key[14] = (sector_num & 0x0000FF00)>> 8; sector_key[15] = (sector_num & 0x000000FF)>> 0; // encrypt sector aes_context aes_ctx; aes_setkey_enc(&aes_ctx, G_DEBUG_KEY, 128); aes_crypt_cbc(&aes_ctx, AES_ENCRYPT, aligned_size, sector_key, buff, buff); // decrypt aes_context aes_ctx; aes_setkey_dec(&aes_ctx, G_DEBUG_KEY, 128); aes_crypt_cbc(&aes_ctx, AES_DECRYPT, aligned_size, sector_key, buff, buff);
that's the algo for masterdiscs
ps3gen dll has the static keys for masterdiscs
you can also get it from sv_iso
the crappy sdk tool that generates masterdisc images for dex