› Foros › Xbox 360 › Exploits y homebrew
gobo26 escribió:Una pregunta que me hago desde un tiempo es si conocer el valor de los efuses en la version actual (despues del update de enero) podria suponer un avance. Es que si fuera asi quiza se pudiera leer ese valor con algun tipo de circuiteria externa. No se si sera posible ni nada ya os digo que solo es curiosidad.
cjsosa escribió:
Conclusión del estado actual:
De hecho, si quitas la r6t3, pues los efuses no cambiarán.... y esto es la pescadilla que se come la cola. (el huevo o la gallina, quien está primero). Los lees y ya está. Pero solo los puedes leer para los kernel vulnerables.
RAID escribió:
Lo que no tengo Claro es si al quitar la resistencia impedimos q se modifiquen los efuses al actualizar o solo el efuse q permite el donwgrade.
Un Saludo.
RAID escribió:Viendo q no me llega el Infectus cogeré el flashdump obtenido desde linux y le aplicare el programa de crc32 de probutus haber si funciona mañana os contare.
Os Dejo una imagen de como esta quedando, a falta de ver como coloco un interruptor para no tener q sacar el disco HD y poder conmutar entre ultimo kernel q tendra la NAND de la placa base y el de la X D Vulnerable.
Un Saludo, Raid.
kikofras_cs escribió:Buenas.
He estado leyendome todos los posts de este hilo. El trabajo de flash como siempre es bienvenido.
Lo que no me keda claro es:
1- si compilas en linux, como lo puedes usar todo el tuto desde linux?
2- funciona bien el archivo compilado del compañero que hizo la "prueba"?
3- donde puedo conseguir un lector de targetas como el del tutorial?
Bueno, despues:
tengo 2 consolas, una cn el parche de mayo y otra con el kernel 2852 o algo asi, de los primeros, digo 2852 como podria decir 2582, no me acuerdo bien nbien, pero es del 2005 y no ha tokado el live en toda su historia, tampoco leds tokahuevs.
Bueno, yo estoy dispuesto a hacer las pruebas ke hagan falta, con las 2 consolas por el tema del eFuse,
hablando del eFuse:
---> es cierto que en el parche del 7 de mayo te lo funden? esta es la pregunta mas importante de mi post, dado que si de verdad te lo funden, ya eske ni me molesto en abrir mi consola baneada( cn todos los parches del kernel)
cn la otra consola si puedo, y kiero usarla como linux y para jugar
tngo unas ganas increibles.
os agradezco a toda la gente ke colabora cn opiniones, pruebas, experiencias y sobretodo a akellos ke hacen posible que gente como yo disfrute de su hobbie.
gracias
kikofras
RAID escribió:Yo en ebay he pedido el mismo lector q el tutorial y una tarjeta Xd olympus de 64mb todo con portes 24 Euros.
Tienda
http://stores.ebay.es/Expressprocessing
Venga q esto se anima
haute escribió:Siento decirte que no vale cualquier lector, solo 2 modelos comentados en este mismo hilo.
Y respecto a los tutoriales, pues no tengo tiempo.
Pero Jixo ya tiene mis fotos y las pondr en breve en la zona wiki supongo
saludos
hay q cortar el CE para alimentarlo a 3,3v y conectar a lavez la corriente de la Xbox y el lector
cjsosa escribió:SiMoNiNi,
te lo aclaro.
A) tienes que volcar los datos de tu TSOP. Hay varias maneras, con un wilken, con un analizador lógico, o con el Infectus. Yo lo hice con este último.
cjsosa escribió:A) tienes que volcar los datos de tu TSOP. Hay varias maneras, con un wilken, con un analizador lógico , o con el Infectus. Yo lo hice con este último.
cjsosa escribió:SiMoNiNi,
te lo aclaro.
En particular, con los lectores actuales no se puede acceder en
PD.- ya tengo todo soldado, pero tengo que comprobar un par de cosas antes. Mañana posteo unas imagenecillas de como quedo el chiringo montado.
xt5 escribió:si tu 360 corre linux, puedes volcarlo con un programa que anda en xbh.net, pero tendras que reconstruir los 16 bytes restantes para cada sector de la NAND con con el programa que libero SeventhSon http://www.xboxhacker.net/index.php...g49847#msg49847
xt5 escribió:
volcar una NAND con un analizador logico??
si tu 360 corre linux, puedes volcarlo con un programa que anda en xbh.net, pero tendras que reconstruir los 16 bytes restantes para cada sector de la NAND con con el programa que libero SeventhSon http://www.xboxhacker.net/index.php?topic=7924.msg49847#msg49847
// ----------------------------------------------------------------------------
// testapp for xbox360 done by probutus + fix ecc seventhson
// ----------------------------------------------------------------------------
// includes:
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define NAND_BLOCK 528
#define NAND_DATA 512
#define NAND_ECC_BNR_LSB 512
#define NAND_ECC_BNR_MSB 513
#define NAND_ECC_DATA 514
#define NAND_ECC_PAGEMARKER 517
#define NAND_ECC_CKSUM0 524
#define NAND_ECC_CKSUM1 525
#define NAND_ECC_CKSUM2 526
#define NAND_ECC_CKSUM3 527
static void print_line(unsigned char *sector,int n)
{
int i=0; int j=0;
for(i=0;i<(n);i++)
{
printf("%08x ",i*16);
for (j=0;j<16;j++)
{
printf("%02x ",sector[j]);
}
printf(" |");
for (j=0;j<16;j++)
{
if (isprint(sector[j]))
{
printf("%c",sector[j]);
}
else
{
printf(".");
}
}
printf("|\n");
sector+=16;
}
}
// CRC parameters (default values are for CRC-32):
void calcecc(unsigned long *data, unsigned char *edc)
{
int i=0, val=0;
unsigned long v;
for (i = 0; i < 0x1066; i++)
{
if (!(i & 31))
{
if (i == 0x1000)
data = (unsigned long *)edc;
v = ~*data++; /* byte order: LE */
}
val ^= v & 1;
v>>=1;
if (val & 1)
val ^= 0x6954559;
val >>= 1;
}
val = ~val;
printf("%X\n",val);
edc[0xC] = ((val << 6) | (edc[0xC] & 0x3F)) & 0xFF;
edc[0xD] = (val >> 2) & 0xFF;
edc[0xE] = (val >> 10) & 0xFF;
edc[0xF] = (val >> 18) & 0xFF;
}
int main(int argc, char *argv[])
{
// test program for checking four different CRC computing types that are:
// crcbit(), crcbitfast(), crctable() and crctablefast(), see above.
// parameters are at the top of this program.
// Result will be printed on the console.
int i;
struct stat flashstat;
off_t flashsize=0, current;
unsigned char string[528]={0};
int fd=0, outfd=0,offset=0;
char *flashfilename=NULL;
char *outname=NULL;
char *argument=NULL;
void *data=string;
long oldecc=0,newecc=0;
int ret=0;
int operation=0;
// check parameters
switch (argc)
{
case 3:
argument=argv[1];
flashfilename=argv[2];
break;
case 4:
argument=argv[1];
flashfilename=argv[2];
outname=argv[3];
break;
default:
printf("error: usage: %s ARGUMENT INFILE [outfile]\n where argument is remove or add",argv[0]);
return 1;
break;
}
if((fd = open(flashfilename, O_RDONLY)) == -1)
{
printf("open of file %s failed!",flashfilename);
close(fd);
return 1;
}
if (fstat(fd,&flashstat)!=0)
{
printf("fstat failed!\n");
close(fd);
return 1;
}
flashsize=flashstat.st_size;
printf("flashsize:%X\n",flashsize);
if (strcmp(argument,"remove")==0)
{
if (((flashsize%NAND_BLOCK)!=0) || (flashsize==0))
{
printf("flashsize incorrect!\n");
close(fd);
return 1;
}
else
{
outfd=open(outname,O_CREAT|O_WRONLY|O_TRUNC,S_IRUSR|S_IWUSR);
if (outfd<0)
{
printf("couldnt create file %s\n",outname);
}
else
{
int i,size=flashsize/NAND_BLOCK;
for (i=0;i<size;i++)
{
if (lseek(fd,(off_t)(i*NAND_BLOCK),SEEK_SET)==-1)
{
printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, flashfilename);
close(outfd);
}
else
{
unsigned char data[NAND_BLOCK]={0};
if (read(fd,data,NAND_BLOCK)<=0)
{
printf("error in reading file %s\n",outname);
close(outfd);
}
else
{
if (lseek(outfd,0,SEEK_END)==-1)
{
printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, outname);
close(outfd);
}
else
{
if (write(outfd,data,NAND_DATA)<=0)
{
printf("could not write to file %s\n",outname);
close(outfd);
return 1;
}
}
}
}
}
}
}
}
/******** END REMOVE ************/
if (strcmp(argument, "add")==0)
{
if (((flashsize%NAND_DATA)!=0) || (flashsize==0))
{
printf("flashsize incorrect!\n");
close(fd);
return 1;
}
outfd=open(outname,O_CREAT|O_WRONLY|O_TRUNC,S_IRUSR|S_IWUSR);
if (outfd<0)
{
printf("couldnt create file %s\n",outname);
}
else
{
int i,size=flashsize/NAND_DATA;
#ifdef DEBUG
printf("size:%X flashsize:%X\n",size,flashsize);
#endif
for (i=0;i<size;i++)
{
if (lseek(fd,(off_t)(i*NAND_DATA),SEEK_SET)==-1)
{
printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, flashfilename);
close(outfd);
}
else
{
unsigned char data[NAND_BLOCK]={0};
if (read(fd,data,NAND_DATA)<=0)
{
printf("error in reading file %s\n",outname);
close(outfd);
}
else
{
unsigned int blocknr=i/0x20; /*pagenr DIV 32=BLOCKNR */
unsigned char bnr_msb=blocknr>>8;
unsigned char bnr_lsb=blocknr&0xFF;
#ifdef DEBUG
printf ("blocknr%X msb:%X lsb:%X\n",blocknr,bnr_msb,bnr_lsb);
#endif
if ((data[0]==0xff) && (data[1]==0xff) && (data[2]==0xff) && (data[3]=0xff))
{
/*Empty block*/
#ifdef DEBUG
printf("EMPTY block\n");
#endif
memset(&data[NAND_DATA],0xFFFFFFFF,16);
}
else
{
data[NAND_ECC_PAGEMARKER]=0xFF;
data[NAND_ECC_BNR_MSB]=bnr_msb;
data[NAND_ECC_BNR_LSB]=bnr_lsb;
calcecc(&data[0],&data[512]);
}
if (lseek(outfd,0,SEEK_END)==-1)
{
printf("couldnt seek to %X for file %s\n",i*NAND_BLOCK, outname);
close(outfd);
}
else
{
if (write(outfd,data,NAND_BLOCK)<=0)
{
printf("could not write to file %s\n",outname);
close(outfd);
return 1;
}
}
}
}
}
}
}
/********************************/
/************** CHECK ********************/
if (strcmp(argument,"check")==0)
{
if (((flashsize%NAND_BLOCK)!=0) || (flashsize==0))
{
printf("flashsize incorrect!\n");
close(fd);
return 1;
}
else
{
int i,size=flashsize/NAND_BLOCK;
printf("size:%d fsize:%d\n",size,flashsize);
for (i=0;i<size;i++)
{
unsigned char data[NAND_BLOCK]={0};
if (read(fd,data,NAND_BLOCK)<=0)
{
printf("error in reading file %s\n",outname);
}
else
{
/*data[514]=0; EXTA BYTES data[520]=0;data[521]=0;*/
//calcecc(&data[0],&data[512]);
if ((data[514]!=0) && (data[514]!=0xFF))
print_line(&data[512],1);
}
}
}
}
close(fd);
return(0);
}
SiMoNiNi escribió:me falta el kingkong tb me lo pillare.
WiLoW69 escribió:me falta el lector, q no se si es este http://cgi.ebay.co.uk/Olympus-XD-SmartMedia-USB-card-reader-Camedia-SW_W0QQitemZ7506435749QQihZ017QQcategoryZ18872QQtcZphotoQQcmdZViewItem
Es el lector q se comenta??
WiLoW69 escribió:Y relamente para q sirve el lector?? Creo haber entendido dos cosas, una es q para grabar los dump d las nand,
WiLoW69 escribió: y otra para soldarlo a la Xbox y leer la nand de la consola como si fuera una tarjeta??
WiLoW69 escribió:Estoy en lo cierto??
WiLoW69 escribió:Gracias cjsosa.
Ahora una pregunta.
Hay algun manual q venga mas o menos detallado, de como hacer todo el proceso?? y q programas hay q usar??
Gracias a to2.
cjsosa escribió:
gue poniendo un cable entre la via de CE que hemos empleado anteriormente para medir la continuidad y el terminal del condensador marroncito gandulo que hay pegado a la TSOP.
Bueno,
espero que le sea de ayuda a alguien.