21.01.2014, 09:17
|
|
Модель консоли: Все PSP
Прошивка: 5.00 m33-6
Регистрация: 20.01.2010
Сообщений: 3,415
Вы сказали Спасибо: 2,368
Поблагодарили 1,617 раз(а) в 873 сообщениях
Сила репутации: 1Репутация: 1617 
(обеспечено прекрасное будущее)
|
Как всегда все оказалось намного сложнее. Сейчас делаем реверс алгоритма шифрации TN.BIN, чтобы вытащить алгоритм декомпрессии)) Может по пути обнародуем kernel эксплоит ТНа.
TN.DECODER
loc_00000078:
//0x00000078
// div $a2, $t4
LO = (s32)a2 / (s32)t4;
HI = (s32)a2 % (s32)t4;
//0x0000007C
// lbu $v0, 0x0($t0)
v0 = *(u8 *)(t0);
//0x00000080
// lbu $a0, 0x0($a0)
a0 = *(u8 *)(a0);
//0x00000084
// xori $v0, $v0, 0x1A
v0 = v0 ^ 0x1A;
//0x00000088
// xor $v0, $v0, $a0
v0 = v0 ^ a0;
//0x0000008C
// mfhi $v1
v1 = HI;
//0x00000090
// srav $v1, $t2, $v1
v1 = (s32)t2 >> v1;
//0x00000094
// mult $a2, $a3
LO = (s32)a2 * (s32)a3;
HI = ((s32)a2 * (s32)a3) >> 32;
//0x00000098
// addiu $a3, $a3, 0x1
a3 = a3 + 1;
//0x0000009C
// mflo $a0
a0 = LO;
//0x000000A0
// xor $v1, $v1, $a0
v1 = v1 ^ a0;
//0x000000A4
// ext $v1, $v1, 5, 8
v1 = (v1 >> 5) & 0xFF;
//0x000000A8
// divu $t1, $t3
LO = (u32)t1 / (u32)t3;
HI = (u32)t1 % (u32)t3;
//0x000000AC
// xor $v0, $v0, $v1
v0 = v0 ^ v1;
//0x000000B0
// addiu $v0, $v0, -0x20
v0 = v0 - 0x20;
//0x000000B4
// xori $v0, $v0, 0x20
v0 = v0 ^ 0x20;
//0x000000B8
// sb $v0, 0x0($t0)
*(u8 *)(t0) = v0;
//0x000000BC
// addiu $t0, $t0, 0x1
t0 = t0 + 1;
//0x000000C0
// mfhi $a2
a2 = HI;
//0x000000C4
// sltu $v0, $a1, $a3
v0 = (u32)a1 < (u32)a3;
//0x000000C8
// addiu $t1, $a2, 0x1
t1 = a2 + 1;
//0x000000CC
// addu $a0, $a2, $s0
a0 = a2 + s0;
//0x000000D4 delay slot
// sllv $t2, $t5, $a3
t2 = t5 << a3;
//0x000000D0
// beqz $v0, loc_00000078
if(v0) goto loc_00000078;
|
|
|