› Foros › Xbox 360 › Exploits y homebrew
Euler escribió:Natsu escribió:Yo creo que una de las primerisimas cosas que vamos a ver en 360 es un port directo de XBMC de la primera xbox, ojo digo port no emulacion, y ya con el tiempo lo iran mejorando o bien haran uno desde cero para 360.
Ya no eres tan escéptico???
Podrian hacer un port del XBMC de Xbox, aunque por proximidad, seguramente les vaya mejor partiendo del XBMC PPC para Mac.
paxama escribió:ooops yo tengo 2 consolas una baneada y otra sin banear y no pienso actualizar niguna de las 2
antes de actualizar me compro otro lector(benq,samsumg,hitachi) y lo flasheo con un ixtreme 1.50 parcheo las isos de los nuevos juegos para poder jugarlos y asi tener las dos consolas intactas para la verdadera scene
como me gustaria jugar a gc,sturn,ps2................
Natsu escribió:Euler escribió:Natsu escribió:Yo creo que una de las primerisimas cosas que vamos a ver en 360 es un port directo de XBMC de la primera xbox, ojo digo port no emulacion, y ya con el tiempo lo iran mejorando o bien haran uno desde cero para 360.
Ya no eres tan escéptico???
Podrian hacer un port del XBMC de Xbox, aunque por proximidad, seguramente les vaya mejor partiendo del XBMC PPC para Mac.
Es que me niego a creerlo, demasiados fakes bien documentados hemos tenido a lo largo de la historia con varias consolas.
Pero la esperanza esta ahi, de ser veridico espero que esto que comento pasase.
/* xenos.c - pseudo framebuffer driver for Xenos on Xbox 360
*
* Copyright (C) 2007, 2008 Georg Lukas <georg@boerde.de>
*
* Based on code by Felix Domke <tmbinc@elitedvb.net>
*
* This software is provided under the GNU GPL License v2.
*/
#include <cache.h>
#include <types.h>
#include <string.h>
#include <vsprintf.h>
#include "version.h"
/* activate NATIVE_RESOLUTION to change the screen resolution and disable
* scaling. This won't work on 1080i */
#define NATIVE_RESOLUTION
/* activate BUFFER_PREINIT to enable storing of the xell output before the
* xenos framebuffer is initialized. This should help with SMP issues. */
#define BUFFER_PREINIT
int xenos_width, xenos_height,
xenos_size;
/* Colors in BGRA: background and foreground */
#ifdef DEFAULT_THEME
uint32_t xenos_color[2] = { 0x00000000, 0xFFC0C000 };
#else
uint32_t xenos_color[2] = { 0xD8444E00, 0xFF96A300 };
#endif
/* can't initialize xenos_fb with zero due to late BSS init,
* instead init it in xenos_preinit() */
unsigned char *xenos_fb;
int cursor_x, cursor_y,
max_x, max_y;
struct ati_info {
uint32_t unknown1[4];
uint32_t base;
uint32_t unknown2[8];
uint32_t width;
uint32_t height;
};
/* set a pixel to RGB values, must call xenos_init() first */
inline void xenos_pset32(int x, int y, int color)
{
#define fbint ((uint32_t*)xenos_fb)
#define base (((y >> 5)*32*xenos_width + ((x >> 5)<<10) \
+ (x&3) + ((y&1)<<2) + (((x&31)>>2)<<3) + (((y&31)>>1)<<6)) ^ ((y&8)<<2))
fbint[base] = color;
#undef fbint
#undef base
}
inline void xenos_pset(int x, int y, unsigned char r, unsigned char g, unsigned char b) {
xenos_pset32(x, y, (b<<24) + (g<<16) + (r<<8));
/* little indian:
* fbint[base] = b + (g<<8) + (r<<16); */
}
extern const unsigned char fontdata_8x16[4096];
void xenos_draw_char(const int x, const int y, const unsigned char c) {
#define font_pixel(ch, x, y) ((fontdata_8x16[ch*16+y]>>(7-x))&1)
int lx, ly;
for (ly=0; ly < 16; ly++)
for (lx=0; lx < 8; lx++) {
xenos_pset32(x+lx, y+ly, xenos_color[font_pixel(c, lx, ly)]);
}
}
void xenos_clrscr(const unsigned int bgra) {
uint32_t *fb = (uint32_t*)xenos_fb;
int count = xenos_size;
while (count--)
*fb++ = bgra;
dcache_flush(xenos_fb, xenos_size*4);
}
void xenos_scroll32(const unsigned int lines) {
int l, bs;
bs = xenos_width*32*4;
/* copy all tile blocks to a higher position */
for (l=lines; l*32 < xenos_height; l++) {
memcpy(xenos_fb + bs*(l-lines),
xenos_fb + bs*l,
bs);
}
/* fill up last lines with background color */
uint32_t *fb = (uint32_t*)(xenos_fb + xenos_size*4 - bs*lines);
uint32_t *end = (uint32_t*)(xenos_fb + xenos_size*4);
while (fb != end)
*fb++ = xenos_color[0];
dcache_flush(xenos_fb, xenos_size*4);
}
void xenos_newline() {
#if 0
/* fill up with spaces */
while (cursor_x*8 < xenos_width) {
xenos_draw_char(cursor_x*8, cursor_y*16, ' ');
cursor_x++;
}
#endif
/* reset to the left */
cursor_x = 0;
cursor_y++;
if (cursor_y >= max_y) {
/* XXX implement scrolling */
xenos_scroll32(1);
cursor_y -= 2;
}
}
static inline void xenos_putch_impl(const char c) {
if (c == '\r') {
cursor_x = 0;
} else if (c == '\n') {
xenos_newline();
} else {
xenos_draw_char(cursor_x*8, cursor_y*16, c);
cursor_x++;
if (cursor_x >= max_x)
xenos_newline();
}
}
#ifdef BUFFER_PREINIT
/* size of the srollback buffer */
#define BUFFER 2048
int bufpos = 0;
unsigned char buffer[BUFFER];
#endif
void xenos_putch(const char c) {
if (!xenos_fb) {
#ifdef BUFFER_PREINIT
buffer[bufpos++] = c;
if (bufpos == BUFFER)
bufpos--;
#else
return;
#endif
} else {
xenos_putch_impl(c);
dcache_flush(xenos_fb, xenos_size*4);
}
}
/* This was added to improve userfriendlyness */
char* xenos_ascii = "\n"
" ======================================================\n"
" = ========================== ==== ==\n"
" = =============================== ===== == == =\n"
" = =============================== ========= ==== =\n"
" = ======== = ==== ==== === ==== ==== =\n"
" = ==== = == = == = == === === ==== =\n"
" = ======== ======= == == ===== == ==== =\n"
" = ======== ======= ===== ===== ===== == ==== =\n"
" = ======== ======= = == = === === == == =\n"
" = ======== ======== ==== ===== ===== ==\n"
" ======================================================\n"
"\n XeLL - Xenon Linux Loader " VERSION "\n\n";
void xenos_asciiart() {
char *p = xenos_ascii;
while (*p)
xenos_putch_impl(*p++);
dcache_flush(xenos_fb, xenos_size*4);
}
void xenos_init() {
struct ati_info *ai = (struct ati_info*)0x200ec806100ULL;
#ifdef NATIVE_RESOLUTION
uint32_t *gfx = (uint32_t*)0x200ec806000ULL;
/* setup native resolution, i.e. disable scaling */
int vxres = gfx[0x134/4];
int vyres = gfx[0x138/4];
int scl_h = gfx[0x5b4/4], scl_v = gfx[0x5c4/4];
if (gfx[0x590/4] == 0)
scl_h = scl_v = 0x01000000;
int interlaced = gfx[0x30/4];
int black_top = gfx[0x44/4];
int offset = gfx[0x580/4];
int offset_x = (offset >> 16) & 0xFFFF;
int offset_y = offset & 0xFFFF;
printf(" - virtual resolution: %d x %d\n", vxres, vyres);
printf(" - offset: x=%d, y=%d\n", offset_x, offset_y);
printf(" - black: %d %d, %d %d\n",
gfx[0x44/4], gfx[0x48/4], gfx[0x4c/4], gfx[0x50/4]);
printf(" - interlace flag: %x\n", interlaced);
int nxres = (vxres - offset_x * 2) * 0x1000 / (scl_h/0x1000);
int nyres = (vyres - offset_y * 2) * 0x1000 / (scl_v/0x1000) + black_top * 2;
printf(" - native resolution: %d x %d\n", nxres, nyres);
/* do not change res for interlaced mode! */
if (!interlaced) {
gfx[0x44/4] = 0; // disable black bar
gfx[0x48/4] = 0;
gfx[0x4c/4] = 0;
gfx[0x50/4] = 0;
gfx[0x590/4] = 0; // disable scaling
gfx[0x584/4] = (nxres << 16) | nyres;
gfx[0x580/4] = 0; // disable offset
gfx[0x5e8/4] = (nxres * 4) / 0x10 - 1; // fix pitch
gfx[0x134/4] = nxres;
gfx[0x138/4] = nyres;
}
#endif
xenos_fb = (unsigned char*)(long)(ai->base);
/* round up size to tiles of 32x32 */
xenos_width = ((ai->width+31)>>5)<<5;
xenos_height = ((ai->height+31)>>5)<<5;
xenos_size = xenos_width*xenos_height;
cursor_x = cursor_y = 0;
max_x = ai->width / 8;
max_y = ai->height / 16;
/* XXX use memset_io() instead? */
xenos_clrscr(xenos_color[0]);
#ifdef BUFFER_PREINIT
int pos;
for (pos = 0; pos < bufpos; pos++)
xenos_putch_impl(buffer[pos]);
if (bufpos == BUFFER - 1)
printf(" * Xenos FB BUFFER overrun!\n");
#endif
printf(" * Xenos FB with %dx%d (%dx%d) at %p initialized.\n",
max_x, max_y, ai->width, ai->height, xenos_fb);
xenos_asciiart();
}
sundarkness escribió:OK todo se oye muy bonito....pero....
Cuando haya una nueva actualizacion por parte de MS va a tapar este agujero, ¿omo jugariamos cuando lo requiera? que de seguro los discos van a traer el parche, ya que este problema no lo tenemos (o teniamos en la primera porque no se actualizaba la xbox como en las actuales consolas). Y por cierto con este agujero ya no tendriamos que flashear o se seguirán haciendo para jugar nuestros backups?
Pues seria lo ideal que estar desmontando a cada rato la consola, ya me acostumbre aunque no estaria mal ya no volver abrirla, al menos eso creo porque no se como sera la manera de hackear esta belleza, quizas sea como el Wii y la PSP.
VDF_Demon escribió:sundarkness escribió:OK todo se oye muy bonito....pero....
Cuando haya una nueva actualizacion por parte de MS va a tapar este agujero, ¿omo jugariamos cuando lo requiera? que de seguro los discos van a traer el parche, ya que este problema no lo tenemos (o teniamos en la primera porque no se actualizaba la xbox como en las actuales consolas). Y por cierto con este agujero ya no tendriamos que flashear o se seguirán haciendo para jugar nuestros backups?
Pues seria lo ideal que estar desmontando a cada rato la consola, ya me acostumbre aunque no estaria mal ya no volver abrirla, al menos eso creo porque no se como sera la manera de hackear esta belleza, quizas sea como el Wii y la PSP.
por el simple hecho amgo de que tenemos control total, es decir podemos parchar las updates para k no tapen el bug, o los juegos para k no requieran la update
sundarkness escribió:Ok. muchas gracias VDF_Demon y Mikel24.
Pero aun tengo la espinota, con esto ya no tenemos que pachear los lectores? En caso de que sea si, sera un ahorro de trabajo de la desmontada del lector.
Y para hacer el exploit es por medio del hypervisor, por medio de una partida modificada ó un firmware modificado?
arnezami en http://www.xboxhacker.net/index.php?top ... 1#msg79831 escribió:Correct. tmbinc has made it quite clear they will be releasing an expoit. This exploit is really cool. But it will give the exact thing we already had, just more convenient: a point where you have complete control of the entire system. But nothing more. So nobody should expect miracles from this exploit by itself.
And if one wants to run homebrew and/or other dash versions etc you need to build on top of (one of) the two exploits, namely one based on a DVD (KK) and now one based on JTAG+SMC. For this purpose I started the rebooter project which I divided into several phases. The first phase is being able to reboot cleanly (without any patches to the kernel). I have released my rebooter and have worked on it a couple of weeks. We made some progress and I released all I found but I got stuck and have repearedly asked for some help on the front of the GPU/interrupts/hardware programming etc since this is not a one man's job. At some point I lost interest and considered the project "on hold" as long as nobody of the top hackers/programmers could lend a hand to debug this (kernel) problem. Maybe this new hack will free up some of these hackers/hardware programmers. It's a hard problem which requires tedious debugging (or maybe one stroke of genius by resetting something that hasn't been reset, I don't know).
One thing is fundamentally different though: the current DMA attack takes place at around POST 6C so it is possible rebooting (or even patching the kernel on-the-fly) may be easier now. From what I understand the GPU has not been initialized by then and I always had a gut feeling this initialization was preventing the rebooter from working. We'll see how it goes.
http://www.xboxhacker.net/index.php?topic=7692.0 escribió:TheSpecialist:
Well from power-on:
1. 1BL (first bootloader, stored in ROM), this loads decrypts and starts:
2. CB (2BL, 2nd bootloader, stored in NAND), this this loads decrypts and starts:
3. CD. This loads, decrypts and decompresses CE, which contains the base kernel + base HV. It also loads decrypts and then starts:
4. CF. This loads, decrypts and decompresses CG, which contains the patches for kernel and HV. It then applies the patches and starts up the patched HV and then the patched kernel. Then it boots dash.
So basically it's like: 1BL -> 2 BL -> patch kernel and HV and start them -> boot dashboard.
Every step also checks signature for the next step of course.
J.Hunt escribió:con reprogramar la nand flash con un programador JTAG bastarà para ejecutar homebrew aunque en principio serà imposible cargar juegos sin un chip dual nand como el cygnos v2
Xavisu escribió:Se sabe cuando estara a la venta el Cygnos360 porque yo ya tengo el soldador caliente
jertocvil escribió:Xavisu escribió:Se sabe cuando estara a la venta el Cygnos360 porque yo ya tengo el soldador caliente
http://www.chipspain.com/cygnos-360-dua ... -2471.html
Mikel24 escribió:Esto esta que arde, estoy ansioso por ver de lo que son capaces de hacer para la 360
XBMC HD una realidad
Emulador Dreamcast (Ya hubo versión para la 1 xbox, aunque fue para algunos afortunados) PD: Nose porque no lo liberan
Pedir cosas como emulador de Gamecube/Wii me parece de momento algo difícil, aunque ojo no digo que no se pueda
Sinceramente con el XBMC HD me conformo (eso a nivel de Scene)
ya de backups, pues un USB Loader
me imagino que se acabo ya lo de comprar discos duros oficiales de Microsoft (porque menudos ladrones) ahora me imagino que se podrá comprar cualquier HDD y ponerlo hablo del SATA (no de los USB)
VDF_Demon escribió:>>>>ERROR>>>>
El Cygnos v2 no incluye el hack ni el exploit ni nada, lo unico que permite el Cygnos es arrancar dos kernels, es decir, arrancas uno oficial y uno parchado, y lo del DOWNGRADE esta mas que dicho...
SI ACTUALIZASTE NO AHY DOWNGRADE POSIBLE
VDF_Demon escribió:>>>>ERROR>>>>
El Cygnos v2 no incluye el hack ni el exploit ni nada, lo unico que permite el Cygnos es arrancar dos kernels, es decir, arrancas uno oficial y uno parchado, y lo del DOWNGRADE esta mas que dicho...
SI ACTUALIZASTE NO AHY DOWNGRADE POSIBLE
RepubliKano83 escribió:Os pediría un favor si alguien me puede ayudar.
Tengo una arcade que me toco metida todavia en la caja y obviamente está sin actualizar al nuevo dash.
¿Alguien me podría pasar una actualización(si es posible la anterior al 11 de agosto)o darme un link de donde puedo conseguirla?
Estaría muy agradecido.
Saludos
Xavisu escribió:VDF_Demon escribió:>>>>ERROR>>>>
El Cygnos v2 no incluye el hack ni el exploit ni nada, lo unico que permite el Cygnos es arrancar dos kernels, es decir, arrancas uno oficial y uno parchado, y lo del DOWNGRADE esta mas que dicho...
SI ACTUALIZASTE NO AHY DOWNGRADE POSIBLE
Estamos hablando siempre de la ultima actualizacion, no? y lo que pone en las caracteristicas de que tiene que ser de antes del 2007 y sin hdmi??
ges.one escribió:si no me equivoco con esto se podrán instalar juegos en el hdd sin necesidad de grabarel dsico verdad? y de igual manera ejecutarlso sin disco dentro no?
f5inet escribió:Xavisu escribió:VDF_Demon escribió:>>>>ERROR>>>>
El Cygnos v2 no incluye el hack ni el exploit ni nada, lo unico que permite el Cygnos es arrancar dos kernels, es decir, arrancas uno oficial y uno parchado, y lo del DOWNGRADE esta mas que dicho...
SI ACTUALIZASTE NO AHY DOWNGRADE POSIBLE
Estamos hablando siempre de la ultima actualizacion, no? y lo que pone en las caracteristicas de que tiene que ser de antes del 2007 y sin hdmi??
correcto, porque el ultimo kernel vulnerable no era compatible con las consolas HDMI (no tenian salida de video)
pero si arnezami termina de pulir su 'rebooter' se podra downgradear dichas consolas HDMI a los kernels vulnerables, y despues, mediante el 'rebooter' reiniciar en caliente la consola a un kernel compatible con HDMI
chencho_3 escribió:Dudas que me salen al respecto con este Xploit ...
1. Metiendolo dentro de la carcasa del HDD, se podrá usar cualquier HDD de 2.5"? WD ya tiene uno de 2,5" de 1Tb, eso sí a 250€
2. Se podran meter los juegos directamente en el HDD sin tener que pasar por el lector y sin necesidad de tener el disco dentro?
3. Como veis el Hardware de 360 para .mkvs o emular Dreamcast, PS2 o GameCube?
4. Sepodrá implementar solo por Soft o será necesarío una modificación fñisica?
5. Cuando se lanzará todo este meollo?
6. Habra que ir pensando en pillarse una Arcade sin actualizar o creeis que se acabará se implementando en el nuevo update?
SALUDOS
WiLoW69 escribió:RepubliKano83 escribió:Os pediría un favor si alguien me puede ayudar.
Tengo una arcade que me toco metida todavia en la caja y obviamente está sin actualizar al nuevo dash.
¿Alguien me podría pasar una actualización(si es posible la anterior al 11 de agosto)o darme un link de donde puedo conseguirla?
Estaría muy agradecido.
Saludos
No es muydificil buscar en el Google, pero vamos hay la tienes.
http://www.bloggames.es/juegos.php/Parches/XBOX-360/Xbox-360-System-Update-7371.html
spainfer escribió:No se necesita el chip dual nand, eso ya se ha dicho muchas veces, pero es muy recomendable para los que usen el live.
Y aunque mi inglés no me permite ser muy concreto al hablar del proceso de modificación que se necesita para que salte el xploit pero según pude leer no precisa de modificación de hardware, sólo se necesita reprogramar la nand flash con un cachivache que anunciarán en breve
VDF_Demon escribió:Toda esa explicación de como inicia la 360 está muy bien y eso de que es bug estaba presente desde es principio, pero ahí no veo la respuesta a mi pregunta y la vuelvo a exponer
¿como es que microsoft tapa el agujero antes de que se publique el exploit?
Pues esto paso por k el agujero esta presente desde la primera consola con el primer kernel,es decir el agujero existe desde el 11 de noviembre de 2005, microsoft debio conocer su existencia por las fechas de la NXE,al hacer el cambio masivo de dashboard, pero tenian que buscar una manera segura de actualizar el BL1 sin vulnerar la consola, pues para esto se requeria acceso a modo kernel, y en este modo injectar codigo a la ram supondria codigo no autorizado, debio introducir dicha seguridad en la update en la que "no hubo cambio visibles"
F0XHOUND escribió:Yo con un USB-Loader me daria con un canto en los dientes.
Los discos de doble capa estan carisimos y encima los ultimos que recibo de Opirata no va ni uno bien y reclamar en estas cosas es muy dificil, todo son largas y excusas.
Los emuladores estarian bien pero los tenemos en pc y en otras consolas, pero lo del USB-Loader o poder jugar a los juegos del LIVE sin pasar por LIVE es muy atractivo.
No se, espero que como han dicho en algun foro ingles sea cosa de horas o dias.