PSP хакинг и девелопмент Взгляд изнутри
18.01.2011, 19:09
Сообщение: #41 (932374)
Модель консоли: PSP 3004
Прошивка: 6.60 PRO-C2
Другие консоли: ps one
Регистрация: 07.02.2010
Возраст: 37
Сообщений: 122
Вы сказали Спасибо: 196
Поблагодарили 34 раз(а) в 25 сообщениях
Сила репутации:
1 Репутация: 34  
(на пути к лучшему)
Сообщение от
ToTAL_SUiCiDE
Ins|der , ну так в принципе могли бы и оф сдк
резонно) но вроде и без него неплохо люди справляются
Ins|der добавил 18.01.2011 в 19:09
Сообщение от
Acid_Jack
Но радует тот факт, что для того, чтобы запретить запуск на оф. прошивке контент, подписанный данными ключом, сони придётся менять сам кирк.
то есть убрать поддержку всех официальных приложений, подписанных им? это негуманно =)
Последний раз редактировалось Ins|der; 18.01.2011 в 19:10 .
Причина: добавил, подумав
18.01.2011, 20:15
Сообщение: #42 (932398)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
А это что за лабуда?
SCEkrit.c (v1.0): Compute Sony's Private Keys
// SCEkrit.c (v1.0): Compute Sony's Private Keys
// Based on Sven's sceverify.c
// -------------------------------------------------------------
// Compile by copying to fail0verflow's ps3tools and add
// SCEkrit.c to TOOLS in the Makefile.
// Depends on libgmp; add -lgmp to LDFLAGS
// - Aaron Lindsay / @AerialX
// And thanks gbcft!
// Copyright 2010 Sven Peter <svenpeter@gmail.com>
// Licensed under the terms of the GNU GPL, version 2
// http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
#include "tools.h"
#include "types.h"
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <gmp.h>
static int keyid = -1;
static u8 *ptr1 = NULL;
static u8 *ptr2 = NULL;
static u16 type;
typedef struct {
u16 flags;
u32 ****_offset;
u64 info_offset;
u32 app_type;
u64 filesize;
u64 header_len;
} fileinfo;
static fileinfo info1;
static fileinfo info2;
static struct keylist *klist = NULL;
static struct keylist *self_load_keys(fileinfo* info)
{
enum sce_key id;
switch (info->app_type) {
case 1:
id = KEY_LV0;
break;
case 2:
id = KEY_LV1;
break;
case 3:
id = KEY_LV2;
break;
case 4:
id = KEY_APP;
break;
case 5:
id = KEY_ISO;
break;
case 6:
id = KEY_LDR;
break;
default:
fail("invalid type: %08x", info->app_type);
}
return keys_get(id);
}
static void read_self_header(u8* ptr, fileinfo* info)
{
info->flags = be16(ptr + 0x08);
info->****_offset = be32(ptr + 0x0c);
info->header_len = be64(ptr + 0x10);
info->filesize = be64(ptr + 0x18);
info->info_offset = be64(ptr + 0x28);
info->app_type = be32(ptr + info->info_offset + 0x0c);
klist = self_load_keys(info);
}
static void read_pkg_header(u8* ptr, fileinfo* info)
{
info->flags = be16(ptr + 0x08);
info->****_offset = be32(ptr + 0x0c);
info->header_len = be64(ptr + 0x10);
info->filesize = be64(ptr + 0x18);
klist = keys_get(KEY_PKG);
}
static void decrypt(u8* ptr)
{
if (keyid < 0)
keyid = sce_decrypt_header(ptr, klist);
else if (keyid != sce_decrypt_header(ptr, klist))
fail("Both files must have the same key id");
if (keyid < 0)
fail("sce_decrypt_header failed");
if (sce_decrypt_data(ptr) < 0)
fail("sce_decrypt_data failed");
if (klist->keys[keyid].pub_avail < 0)
fail("no public key available");
if (ecdsa_set_curve(klist->keys[keyid].ctype) < 0)
fail("ecdsa_set_curve failed");
ecdsa_set_pub(klist->keys[keyid].pub);
}
static void verify_signature(u8* ptr, fileinfo* info, u8* hash, u8** s, u8** r)
{
u64 sig_len;
sig_len = be64(ptr + info->****_offset + 0x60);
*r = ptr + sig_len;
*s = *r + 21;
sha1(ptr, sig_len, hash);
printf("Signature\n");
if (ecdsa_verify(hash, *r, *s))
printf(" Status: OK\n");
else
printf(" Status: FAIL\n");
}
static void load_num(mpz_t n, u8* un)
{
char buffer[0x100];
char* ptr = buffer;
int i;
for (i = 0; i < 21; i++) {
sprintf(ptr, "%02x", un[i]);
ptr += 2;
}
mpz_set_str(n, buffer, 16);
}
static char* calculate_private_key(u8* us1, u8* us2, u8* uz1, u8* uz2, u8* un, u8* ur)
{
mpz_t s1, s2, z1, z2, n, r, k, dA;
mpz_inits(s1, s2, z1, z2, n, r, k, dA, NULL);
load_num(s1, us1); load_num(s2, us2); load_num(z1, uz1); load_num(z2, uz2); load_num(n, un); load_num(r, ur);
mpz_sub(z2, z1, z2);
mpz_sub(s2, s1, s2);
mpz_invert(s2, s2, n);
mpz_mul(k, z2, s2);
mpz_mod(k, k, n);
mpz_mul(s2, s1, k);
mpz_sub(s2, s2, z1);
mpz_invert(r, r, n);
mpz_mul(dA, s2, r);
mpz_mod(dA, dA, n);
// printf("k: %s\n", mpz_get_str(NULL, 16, k));
return mpz_get_str(NULL, 16, dA);
}
int main(int argc, char *argv[])
{
if (argc != 3)
fail("usage: scesekrit filename1 filename2");
ptr1 = mmap_file(argv[1]);
ptr2 = mmap_file(argv[2]);
type = be16(ptr1 + 0x0a);
if (type != be16(ptr2 + 0x0a))
fail("Files must be the same type");
if (type == 1) {
read_self_header(ptr1, &info1);
} else if(type == 3) {
read_pkg_header(ptr1, &info1);
} else
fail("Unknown type: %d", type);
if ((info1.flags) & 0x8000)
fail("devkit file; nothing to verify");
if (klist == NULL)
fail("no key found");
decrypt(ptr1);
if (type == 1) {
read_self_header(ptr2, &info2);
} else if(type == 3) {
read_pkg_header(ptr2, &info2);
} else
fail("Unknown type: %d", type);
if ((info2.flags) & 0x8000)
fail("devkit file; nothing to verify");
if (klist == NULL)
fail("no key found");
decrypt(ptr2);
u8* s1;
u8* s2;
u8 z1[21];
u8 z2[21];
u8* r1;
u8* r2;
u8 ec[21];
u8 n[21];
z1[0] = 0;
z2[0] = 0;
ecdsa_get_params(klist->keys[keyid].ctype, ec, ec, ec, n, ec, ec);
printf("%s ", argv[1]);
verify_signature(ptr1, &info1, z1 + 1, &s1, &r1);
printf("%s ", argv[2]);
verify_signature(ptr2, &info2, z2 + 1, &s2, &r2);
if (memcmp(r1, r2, 21))
fail("Both files must share the same r signature value.");
const char* dA = calculate_private_key(s1, s2, z1, z2, n, r1);
int len = strlen(dA);
int i;
printf("Private Key: ");
for (i = len / 2; i < 21; i++)
printf("00");
printf("%s\n", dA);
return 0;
}
Source
18.01.2011, 20:34
Сообщение: #43 (932404)
Регистрация: 20.02.2008
Сообщений: 68
Вы сказали Спасибо: 19
Поблагодарили 13 раз(а) в 11 сообщениях
Сила репутации:
1 Репутация: 14  
(на пути к лучшему)
Сообщение от
ErikPshat
А это что за лабуда?
SCEkrit.c (v1.0): Compute Sony's Private Keys
// SCEkrit.c (v1.0): Compute Sony's Private Keys
// Based on Sven's sceverify.c
// -------------------------------------------------------------
// Compile by copying to fail0verflow's ps3tools and add
// SCEkrit.c to TOOLS in the Makefile.
// Depends on libgmp; add -lgmp to LDFLAGS
// - Aaron Lindsay / @AerialX
// And thanks gbcft!
// Copyright 2010 Sven Peter <svenpeter@gmail.com>
// Licensed under the terms of the GNU GPL, version 2
// http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
#include "tools.h"
#include "types.h"
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#include <gmp.h>
static int keyid = -1;
static u8 *ptr1 = NULL;
static u8 *ptr2 = NULL;
static u16 type;
typedef struct {
u16 flags;
u32 ****_offset;
u64 info_offset;
u32 app_type;
u64 filesize;
u64 header_len;
} fileinfo;
static fileinfo info1;
static fileinfo info2;
static struct keylist *klist = NULL;
static struct keylist *self_load_keys(fileinfo* info)
{
enum sce_key id;
switch (info->app_type) {
case 1:
id = KEY_LV0;
break;
case 2:
id = KEY_LV1;
break;
case 3:
id = KEY_LV2;
break;
case 4:
id = KEY_APP;
break;
case 5:
id = KEY_ISO;
break;
case 6:
id = KEY_LDR;
break;
default:
fail("invalid type: %08x", info->app_type);
}
return keys_get(id);
}
static void read_self_header(u8* ptr, fileinfo* info)
{
info->flags = be16(ptr + 0x08);
info->****_offset = be32(ptr + 0x0c);
info->header_len = be64(ptr + 0x10);
info->filesize = be64(ptr + 0x18);
info->info_offset = be64(ptr + 0x28);
info->app_type = be32(ptr + info->info_offset + 0x0c);
klist = self_load_keys(info);
}
static void read_pkg_header(u8* ptr, fileinfo* info)
{
info->flags = be16(ptr + 0x08);
info->****_offset = be32(ptr + 0x0c);
info->header_len = be64(ptr + 0x10);
info->filesize = be64(ptr + 0x18);
klist = keys_get(KEY_PKG);
}
static void decrypt(u8* ptr)
{
if (keyid < 0)
keyid = sce_decrypt_header(ptr, klist);
else if (keyid != sce_decrypt_header(ptr, klist))
fail("Both files must have the same key id");
if (keyid < 0)
fail("sce_decrypt_header failed");
if (sce_decrypt_data(ptr) < 0)
fail("sce_decrypt_data failed");
if (klist->keys[keyid].pub_avail < 0)
fail("no public key available");
if (ecdsa_set_curve(klist->keys[keyid].ctype) < 0)
fail("ecdsa_set_curve failed");
ecdsa_set_pub(klist->keys[keyid].pub);
}
static void verify_signature(u8* ptr, fileinfo* info, u8* hash, u8** s, u8** r)
{
u64 sig_len;
sig_len = be64(ptr + info->****_offset + 0x60);
*r = ptr + sig_len;
*s = *r + 21;
sha1(ptr, sig_len, hash);
printf("Signature\n");
if (ecdsa_verify(hash, *r, *s))
printf(" Status: OK\n");
else
printf(" Status: FAIL\n");
}
static void load_num(mpz_t n, u8* un)
{
char buffer[0x100];
char* ptr = buffer;
int i;
for (i = 0; i < 21; i++) {
sprintf(ptr, "%02x", un[i]);
ptr += 2;
}
mpz_set_str(n, buffer, 16);
}
static char* calculate_private_key(u8* us1, u8* us2, u8* uz1, u8* uz2, u8* un, u8* ur)
{
mpz_t s1, s2, z1, z2, n, r, k, dA;
mpz_inits(s1, s2, z1, z2, n, r, k, dA, NULL);
load_num(s1, us1); load_num(s2, us2); load_num(z1, uz1); load_num(z2, uz2); load_num(n, un); load_num(r, ur);
mpz_sub(z2, z1, z2);
mpz_sub(s2, s1, s2);
mpz_invert(s2, s2, n);
mpz_mul(k, z2, s2);
mpz_mod(k, k, n);
mpz_mul(s2, s1, k);
mpz_sub(s2, s2, z1);
mpz_invert(r, r, n);
mpz_mul(dA, s2, r);
mpz_mod(dA, dA, n);
// printf("k: %s\n", mpz_get_str(NULL, 16, k));
return mpz_get_str(NULL, 16, dA);
}
int main(int argc, char *argv[])
{
if (argc != 3)
fail("usage: scesekrit filename1 filename2");
ptr1 = mmap_file(argv[1]);
ptr2 = mmap_file(argv[2]);
type = be16(ptr1 + 0x0a);
if (type != be16(ptr2 + 0x0a))
fail("Files must be the same type");
if (type == 1) {
read_self_header(ptr1, &info1);
} else if(type == 3) {
read_pkg_header(ptr1, &info1);
} else
fail("Unknown type: %d", type);
if ((info1.flags) & 0x8000)
fail("devkit file; nothing to verify");
if (klist == NULL)
fail("no key found");
decrypt(ptr1);
if (type == 1) {
read_self_header(ptr2, &info2);
} else if(type == 3) {
read_pkg_header(ptr2, &info2);
} else
fail("Unknown type: %d", type);
if ((info2.flags) & 0x8000)
fail("devkit file; nothing to verify");
if (klist == NULL)
fail("no key found");
decrypt(ptr2);
u8* s1;
u8* s2;
u8 z1[21];
u8 z2[21];
u8* r1;
u8* r2;
u8 ec[21];
u8 n[21];
z1[0] = 0;
z2[0] = 0;
ecdsa_get_params(klist->keys[keyid].ctype, ec, ec, ec, n, ec, ec);
printf("%s ", argv[1]);
verify_signature(ptr1, &info1, z1 + 1, &s1, &r1);
printf("%s ", argv[2]);
verify_signature(ptr2, &info2, z2 + 1, &s2, &r2);
if (memcmp(r1, r2, 21))
fail("Both files must share the same r signature value.");
const char* dA = calculate_private_key(s1, s2, z1, z2, n, r1);
int len = strlen(dA);
int i;
printf("Private Key: ");
for (i = len / 2; i < 21; i++)
printf("00");
printf("%s\n", dA);
return 0;
}
Source
http://psx-scene.com/forums/f6/scekr...ny-keys-74343/
Подписывальщик PS3 приложений, точнее не совсем. Просто получает волшебный ключ, которым можно потом подписать свое приложение для PS3.
18.01.2011, 20:43
Сообщение: #44 (932407)
Модель консоли: iPhone 5s
Прошивка: :)
Регистрация: 14.02.2010
Адрес: Поребрик-сити
Возраст: 32
Сообщений: 34
Вы сказали Спасибо: 11
Поблагодарили 10 раз(а) в 9 сообщениях
Сила репутации:
1 Репутация: 10  
(на пути к лучшему)
Ins|der , возможно официальные наработки сони избавили бы от массы проблем, связаных с недопониманием различных библиотек) В любом случае это дало бы толчок в разработке, если бы они сделали все софтовое наполнение опенсорсным. Но это врятли будет
While I met some boy while cross the Rivanna, Quasimana, rain came fisted and bright, it must be Alta Vada, Alta Vada tras.
18.01.2011, 23:15
Сообщение: #45 (932442)
Прошивка: 1xPS3 COBRA CEX-4.53
Другие консоли: 2xPSVITA 3.60 ENSO
Регистрация: 16.01.2008
Адрес: Планета земля
Сообщений: 3,135
Вы сказали Спасибо: 1,093
Поблагодарили 2,758 раз(а) в 1,167 сообщениях
Сила репутации:
1 Репутация: 2767  
(репутация неоспорима)
Zer01ne OpenIdea Team (OIP) Black Devs Team (BDT) SignMe
[IMG]http://img203.**************/img203/2104/signmeu.jpg[/IMG]
Only works on Windows, the application can only sign of PBP which have been compiled with the option (BUILD_PRX = 1) in the makefile "most current application.
источник
Вложения
Чтобы загружать вложения у Вас должно быть больше, чем 0 сообщений. А у Вас 0 сообщений.
Эти 3 пользователя(ей) сказали Спасибо akela1979 за это полезное сообщение:
19.01.2011, 07:16
Сообщение: #46 (932492)
Модель консоли: Все PSP
Прошивка: 5.00 m33-6
Регистрация: 20.01.2010
Сообщений: 3,422
Вы сказали Спасибо: 2,375
Поблагодарили 1,618 раз(а) в 874 сообщениях
Сила репутации:
1 Репутация: 1618  
(обеспечено прекрасное будущее)
akela1979 , Ни черта он не подписывает!
Zer01ne (aka Dridri85) всегда хотел быть впереди всех.
Поэтому и славился alpha/beta версиями
19.01.2011, 13:21
Сообщение: #47 (932583)
Модель консоли: xbox360 Fat
Прошивка: LT3.0
Другие консоли: Планшет :) , Galaxy NOTE 2
Регистрация: 26.07.2007
Адрес: Щёкино
Сообщений: 447
Вы сказали Спасибо: 45
Поблагодарили 101 раз(а) в 85 сообщениях
Сила репутации:
1 Репутация: 109  
(скоро придёт к известности)
Сообщение от
Frostegater
akela1979 , Ни черта он не подписывает!
Zer01ne (aka Dridri85) всегда хотел быть впереди всех.
Поэтому и славился alpha/beta версиями
Угу она пишет твоя прога типа в такой папке а там пусто
19.01.2011, 14:06
Сообщение: #48 (932604)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
Последний раз редактировалось ErikPshat; 19.01.2011 в 14:22 .
Этот пользователь сказал Спасибо ErikPshat за это полезное сообщение:
19.01.2011, 14:50
Сообщение: #49 (932616)
Модель консоли: PSP-3008
Прошивка: 5.03 GEN-C
Другие консоли: Dendy
Регистрация: 04.01.2009
Адрес: Йошкар-Ола
Сообщений: 15
Вы сказали Спасибо: 108
Поблагодарили 20 раз(а) в 8 сообщениях
Сила репутации:
1 Репутация: 20  
(на пути к лучшему)
Сообщение от
ErikPshat
Я уже потестил ее... Запустил PGE Lua, PicoDrive, bookR (смог подписать, только после распаковки файла data.psp PRXdecrypter'ом)
Этот пользователь сказал Спасибо dn3d за это полезное сообщение:
19.01.2011, 14:53
Сообщение: #50 (932618)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
Причём EBOOT.PBP шифруется прекрасно. А вот сопутствующие PRX что-то я не догнал, что с ними делать. Пытаюсь через prxEncryper прогнать, но прога не запускается с чужими PRX-ами.
А вот те Ибуты, что по одному, прекрасно запускаются на официалке.
Ну всё! Нас ждёт наводнение, всемирный потоп. Потому что PS3 идёт в параллельном направлении и даже немного опережает PSP.
19.01.2011, 14:57
Сообщение: #51 (932620)
Модель консоли: PSP-2x, PS3
Прошивка: 6.39 ME, 4.30E3
Регистрация: 08.01.2009
Сообщений: 103
Вы сказали Спасибо: 11
Поблагодарили 49 раз(а) в 23 сообщениях
Сила репутации:
1 Репутация: 49  
(на пути к лучшему)
ErikPshat , wololo же по полочкам расписал процесс подписывания
19.01.2011, 15:00
Сообщение: #52 (932624)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
Acid_Jack , а теперь по русски можешь объяснить, как подписать PRX.
19.01.2011, 15:03
Сообщение: #53 (932627)
Модель консоли: PSP-2x, PS3
Прошивка: 6.39 ME, 4.30E3
Регистрация: 08.01.2009
Сообщений: 103
Вы сказали Спасибо: 11
Поблагодарили 49 раз(а) в 23 сообщениях
Сила репутации:
1 Репутация: 49  
(на пути к лучшему)
В простом случае pbpunpack'ером извлечь из EBOOT.PBP файл DATA.PSP. Подписать DATA.PSP и упаковать его обратно в EBOOT.PBP.
19.01.2011, 15:08
Сообщение: #54 (932632)
Модель консоли: PSP-3008
Прошивка: 5.03 GEN-C
Другие консоли: Dendy
Регистрация: 04.01.2009
Адрес: Йошкар-Ола
Сообщений: 15
Вы сказали Спасибо: 108
Поблагодарили 20 раз(а) в 8 сообщениях
Сила репутации:
1 Репутация: 20  
(на пути к лучшему)
Сообщение от
Acid_Jack
В простом случае pbpunpack'ером извлечь из EBOOT.PBP файл DATA.PSP. Подписать DATA.PSP и упаковать его обратно в EBOOT.PBP.
А что будешь делать если кроме EBOOT.PBP у тебя в программе используется *.prx ??? при загрузке этого prx ЗЫЗа ругается)))
19.01.2011, 15:10
Сообщение: #55 (932633)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
Acid_Jack , нет, я спрашиваю как PRX зашифровать, а не EBOOT.PBP.
То есть, я так понял, что ntbridge.prx переименовать в DATA.PSP, запихать в EBOOT.PBP, зашифровать, потом извлечь и опять переименовать в ntbridge.prx .
19.01.2011, 15:12
Сообщение: #56 (932634)
Модель консоли: PSP-3008
Прошивка: 5.03 GEN-C
Другие консоли: Dendy
Регистрация: 04.01.2009
Адрес: Йошкар-Ола
Сообщений: 15
Вы сказали Спасибо: 108
Поблагодарили 20 раз(а) в 8 сообщениях
Сила репутации:
1 Репутация: 20  
(на пути к лучшему)
Сообщение от
ErikPshat
Acid_Jack , нет, я спрашиваю как PRX зашифровать, а не EBOOT.PBP.
То есть, я так понял, что ntbridge.prx переименовать в DATA.PSP, запихать в EBOOT.PBP, зашифровать, потом извлечь и опять переименовать в ntbridge.prx .
не получится, я так уже пробовал... такая же ошибка
Этот пользователь сказал Спасибо dn3d за это полезное сообщение:
19.01.2011, 15:12
Сообщение: #57 (932635)
Модель консоли: PSP-2x, PS3
Прошивка: 6.39 ME, 4.30E3
Регистрация: 08.01.2009
Сообщений: 103
Вы сказали Спасибо: 11
Поблагодарили 49 раз(а) в 23 сообщениях
Сила репутации:
1 Репутация: 49  
(на пути к лучшему)
Ух ты ж ёжик...
Если prx внешний, возможно, просто стоит обработать его prxEncrypter'ом.
19.01.2011, 15:13
Сообщение: #58 (932636)
Модель консоли: PSP-1004
Прошивка: 6.60 PROMOD
Другие консоли: iPad 3 WiFi
Регистрация: 18.12.2006
Адрес: Москва
Возраст: 57
Сообщений: 46,266
Вы сказали Спасибо: 27,001
Поблагодарили 42,549 раз(а) в 12,174 сообщениях
Сила репутации:
10 Репутация: 41744  
(репутация неоспорима)
За пару дней успеем подписать все приложения?
dn3d , вон SD6719 тоже уже успел подписать и выложить
Bookr )))
Сообщение от
Acid_Jack
обработать его prxEncrypter'ом
То-же ошибка. Не принимает его прога. Они видать должны быть как-то совместно подписаны или ключ к PRX-ам должен лежать в EBOOT'e.
Последний раз редактировалось ErikPshat; 19.01.2011 в 17:41 .
19.01.2011, 15:18
Сообщение: #59 (932639)
Модель консоли: PSP-2x, PS3
Прошивка: 6.39 ME, 4.30E3
Регистрация: 08.01.2009
Сообщений: 103
Вы сказали Спасибо: 11
Поблагодарили 49 раз(а) в 23 сообщениях
Сила репутации:
1 Репутация: 49  
(на пути к лучшему)
ErikPshat , и вторая версия тоже?
19.01.2011, 16:54
Сообщение: #60 (932671)
Модель консоли: PSP-1004
Прошивка: 6.61 PROMOD-C2p
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,734
Вы сказали Спасибо: 819
Поблагодарили 3,835 раз(а) в 2,013 сообщениях
Сила репутации:
1 Репутация: 3835  
(репутация неоспорима)
Вы на user mode ограничение и смену методов релокации болт положили?
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
Текущее время: 13:43 . Часовой пояс GMT +3.
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод:
zCarot
PSPx Forum - Сообщество фанатов игровых консолей.