source code de xboxupd.bin de un update de xbox 360

Link: http://www.yousendit.com/download/elNJbGtITmExUUEwTVE9PQ


y espero que no vuelvan los comentarios tontos... si no saveis lo que es yo tampoco tengo que estar obligado a explicaros que es... sonará muy duro ... pero yo tampoco tengo mucha idea y ayudo en lo que puedo , si no sabeis valorar eso . lo siento mucho . pero para eso no posteeis en este hilo

ACTUALIZACION:

http://www.yousendit.com/download/elNKZFhqSEJnYU0wTVE9PQ

parece ser que lo hice mal antes ... aver si esta vez salió mejor :-d
Y esto significa que..... ¿que significa? [jaja]
un pequeño avance.... :-D [fumeta]
Es ensamblador, ¿pero que linea de código te llamó la atención? -.-
Yo creo que no sabe ni lo que a puesto [qmparto] [qmparto] [qmparto]
KChito escribió:Yo creo que no sabe ni lo que a puesto [qmparto] [qmparto] [qmparto]


así dan ganas he.... ratataaaa [uzi]
KChito escribió:Yo creo que no sabe ni lo que a puesto [qmparto] [qmparto] [qmparto]


El foro de scene no es para burlarse de las personas, sepa o no lo que diga, las cosas pueden comentarse de forma constructiva y sin burlarse.
Flash78 escribió:
El foro de scene no es para burlarse de las personas, sepa o no lo que diga, las cosas pueden comentarse de forma contructiva y sin burlarse.


gracias flash... he borrado el link del source code... si te interesa te lo paso por mp... un saludo
Que es esto? que ando perdido.....
Flash78 escribió:El foro de scene no es para burlarse de las personas, sepa o no lo que diga, las cosas pueden comentarse de forma constructiva y sin burlarse.
Si lo e ofendido lo siento de verdad, pero seamos sinceros a puesto algo que esta claro que muy pocas personas lo entienden,si alguien lo explica estaria agradecido. De todas formas mi comentario era tan solo para hacer lo que se llama por aqui "una gracia", esta claro que el humor gaditano es muy diferente, de todas formas lo dicho, si se a sentido ofendido lo siento.
adriangp14 escribió:
gracias flash... he borrado el link del source code... si te interesa te lo paso por mp... un saludo


"es mi scatergories y me lo llevo"

¿porque no vuelves a poner el link del source code? a mi me interesa, y si no lo vuelves a poner, hilo cerrado, porque para hacerse notar, se chapa y a otra cosa.
Link: http://www.yousendit.com/download/elNJbGtITmExUUEwTVE9PQ


y espero que no vuelvan los comentarios tontos... si no saveis lo que es yo tampoco tengo que estar obligado a explicaros que es... sonará muy duro ... pero yo tampoco tengo mucha idea y ayudo en lo que puedo , si no sabeis valorar eso . lo siento mucho . pero para eso no posteeis en este hilo


"es mi scatergories y me lo llevo"



no me parece muy correcto tu funcionamiento.... yo no tengo por que aguantar las tonterias de algunos usuarios... y si decidí quitar el enlace.. el post es mio no?..... y yo no estoy aqui para hacerme notar... , para hacerme notar me meto en una discoteca con un modem de gorro y un cable de red de cinturón y listo....
saludos y sin malos rollos.


aqui teneis lo que significa un poco el ASM

http://en.wikipedia.org/wiki/Assembly_language#Assembler
No tiene la pinta de ser lo que se dice que es....

Esto tiene la pinta de ser un código desensamblado con el IDA, pero dudo que tenga nada que ver con la Xbox360...
Suponiendo que sea de un Binario de X360, lo han desensamblado como codigo Intel X86, por lo que no sirve de nada lo que pone.
Los comandos de preprocesado : .686p .mmx indican que el ensamblador es codigo x86 con MMX.
Tiene llamadas a interrupciones de DOS.
Si revisais los comentarios veréis que hablan de 80287, 286, AT's, basic interpreter, PC/XT ....

O es un binario desensamblado como ejecutable dos, cosa que dudo... o es un programa DOS...

Se agradece la buena intención, pero me parece que te han tomado el pelo...
adriangp14 escribió:Link: http://www.yousendit.com/download/elNJbGtITmExUUEwTVE9PQ

no me parece muy correcto tu funcionamiento.... yo no tengo por que aguantar las tonterias de algunos usuarios... y si decidí quitar el enlace.. el post es mio no?..... y yo no estoy aqui para hacerme notar... , para hacerme notar me meto en una discoteca con un modem de gorro y un cable de red de cinturón y listo....
saludos y sin malos rollos.


aqui teneis lo que significa un poco el ASM

http://en.wikipedia.org/wiki/Assembly_language#Assembler


Se lo que es Ensamblador, gracias...

Y disculpa si mi post y/o mi MP te han sentado mal, pero abriste un hilo para poner un link a un codigo fuente, y dicho codigo fuente fue borrado por ti, asi que el hilo dejo de ser relevante. lo unico que te solicite fue, o que repusieras el link (cosa que has hecho y te doy las gracias) o pidieras que cerraran el hilo antes que lo solicitara yo.

ahora, y analizando y quoteando un poco el ASM...
; File Name   :   C:\xbox\xbox\xboxupd.bin
; Format      :   Binary file
; Base Address:   0000h Range: 0000h - 393C0h Loaded length: 393C0h

      .686p
      .mmx
      .model flat

; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

; Segment type:   Pure code
seg000      segment   byte public 'CODE' use32
      assume cs:seg000
      assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing

loc_0:               ; DATA XREF: seg000:0001AE20o
      inc   ebx
      inc   esi
      push   ss
      jg   short $+2
      add   [eax+0], al
[...]


no me ha hecho falta leer mas. este es un desensamblado de un update PARA XBOX, no para Xbox360, luego esta fuera de lugar en XBOX360->Scene. Voy a reportar el hilo para que te lo muevan a XBOX->Scene.

No te confundas, te doy las gracias por tu aportacion y te pido perdon si te he hecho sentir mal, a la vez que te animo a que sigas participando.

un saludo.
Viendo como a evolucionado el hilo ahora mi citaria a mi mismo.
KChito escribió:pero seamos sinceros a puesto algo que esta claro que muy pocas personas lo entienden
Y si el que a abierto el post lo entiende menos todavia pues vamos listos.

Imaginaos que ahora yo abro un hilo con el siguiente tema por ejemplo:
"NOTICION ya se pueden manipular los lectores para cargar copias de seguridad". ¿Que pasaria?, Esta claro la gente se me echaria encima. A lo que yo responderia, lo siento solo queria colaborar.

Colaborar esta muy bien pero hay que saber lo que se postea para luego si quieres dar tu opinion o entrar en debate, pero esto desde mi punto de vista es un post morralla. Que quereis que diga pero Manolete si no sabes torear para que te metes.
si es lo hice con el ida y vi que forzando la analización iva saliendo linea de codigo ... yo me entiendo muy bien con el procesador mips r3000 y sé que da igual el procesador que pongas .. si pones bien el rom address y eliges todo el codigo y aprietas "c" y le das a force .. y luego convert direct to code.. me lo hace bien y puedo pasarlo al ma32asm y luego cambiar codigo y ensamblar sin ningun problema y funcionan bien... por que en el principio del asm diga que es para x86 no tiene nada que ver creanme... otra cosa es que en este caso el IDA no lo haya hecho bien ... de eso no me hago responsable... pero como lograba salir linea de codigo.. pensé...¿ y si esto no se ha dado cuenta nadie ? y lo posteé .... y por cierto si es de xbox 360 lo descomprimí el update con el pirstool y exactamente el nombre del archivo del update es : su20076000_00000000 y tenia varios archivos dentro como: $flash_xefu.xexp,$flash_xam.xexp,$flash_mfgbootlauncher.xexp,$install_extender.xex...... y que yo sepa la xbox 1 son .xbe no?.... y los de xbox 360 .xex ..... bueno.. si no sirve para nada lo que puse que lo chapen y ya está :-D
adriangp14 escribió:si es lo hice con el ida y vi que forzando la analización iva saliendo linea de codigo ... yo me entiendo muy bien con el procesador mips r3000 y sé que da igual el procesador que pongas .. si pones bien el rom address y eliges todo el codigo y aprietas "c" y le das a force .. y luego convert direct to code.. me lo hace bien y puedo pasarlo al ma32asm y luego cambiar codigo y ensamblar sin ningun problema y funcionan bien... por que en el principio del asm diga que es para x86 no tiene nada que ver creanme... otra cosa es que en este caso el IDA no lo haya hecho bien ... de eso no me hago responsable... pero como lograba salir linea de codigo.. pensé...¿ y si esto no se ha dado cuenta nadie ? y lo posteé .... y por cierto si es de xbox 360 lo descomprimí el update con el pirstool y exactamente el nombre del archivo del update es : su20076000_00000000 y tenia varios archivos dentro como: $flash_xefu.xexp,$flash_xam.xexp,$flash_mfgbootlauncher.xexp,$install_extender.xex...... y que yo sepa la xbox 1 son .xbe no?.... y los de xbox 360 .xex ..... bueno.. si no sirve para nada lo que puse que lo chapen y ya está :-D


¿ves adrian? ya vamos encaminando mas el hilo...

si el archivo era un XEX o hace referencia a archivos XEX, lo mas seguro es que sean ejecutables de XBOX360, y lo cual quiere decir, que pusiste mal la CPU para desensamblar el codigo.

La Xbox si era un x86-compatible (en concreto, un intel celeron dopado a 733mhz), pero su hermana mayor, esta basada en PowerPC, asi que como CPU a desensamblar deberias poner POWERPC.

por cierto, lo de 'que al principio diga que el codigo x86 no tiene nada que ver...', quizas sepas mucho de MIPS R3000 (era la CPU de PSone si mal no recuerdo), eso no lo pongo en duda, pero te puedo decir que ese codigo NO PUEDE SER DE XBOX360 puesto que, como te he dicho, la XBOX360 esta basada en PowerPC, que a su vez usa como juego de instrucciones, instrucciones RISC, mientras que el codigo que has posteado, usa instrucciones CISC y registros propios de un x86-compatible CPU.

Por favor, intenta meterle mano al IDA, y ponle que te desensamble codigo PowerPC.

Un saludo, y espero tus siguientes resultados.
De verdad, ¿tú tienes la mínima idea de lo que hablas?

adriangp14 escribió: y sé que da igual el procesador que pongas .. si pones bien el rom address y eliges todo el codigo y aprietas "c" y le das a force .. y luego convert direct to code.. me lo hace bien y puedo pasarlo al ma32asm y luego cambiar codigo y ensamblar sin ningun problema y funcionan bien... por que en el principio del asm diga que es para x86 no tiene nada que ver creanme...

Veamos, en el código que has puesto aparecen referenciados los registros eax, ebx y esi. Esos registros son propios de la arquitectura x86, así que ese código no compilaría en PPC, que es la arquitectura de la XBOX360. Lo que has hecho es decirle al IDA que interprete código binario de PPC como si fuese de x86.
otra cosa es que en este caso el IDA no lo haya hecho bien ... de eso no me hago responsable...

Creo que más que culpa del IDA, estamos ante un caso de PEBCAK.
pero como lograba salir linea de codigo.. pensé...¿ y si esto no se ha dado cuenta nadie ? y lo posteé ....

Si sirviese para algo, ya se habría dado cuenta alguien.
y por cierto si es de xbox 360 lo descomprimí el update con el pirstool y exactamente el nombre del archivo del update es : su20076000_00000000 y tenia varios archivos dentro como: $flash_xefu.xexp,$flash_xam.xexp,$flash_mfgbootlauncher.xexp,$install_extender.xex...... y que yo sepa la xbox 1 son .xbe no?.... y los de xbox 360 .xex ..... bueno.. si no sirve para nada lo que puse que lo chapen y ya está :-D


En esta parte estamos de acuerdo.
Si señor ahora si da gusto [oki]
ahora siii xD

lo he hecho con desamblador para powerpc

http://www.yousendit.com/download/elNKZFhqSEJnYU0wTVE9PQ

ahora ta mejor?? ay algo ay de interes?
yo aun intentaria refinarlo un poco mas... hay mucha 'basura' de bytes entre grupos de instrucciones, y eso normalmente indica que el IDA que estas usando no tiene el juego completo de instrucciones de Xenon (algo por otra parte normal, puesto que Xenon es un 'custom procesor').

¿podrias indicar a IDA que desensamble Power5 con Altivec? creo que por ahi podrian ir los tiros....
los .xex y .xexp estan encriptados, si los quieres desasemblar tienes que desencriptarlos primero y se transforman en un bien conocido executable PE.

pero la verdad aun asi no creo que hacer eso seria de ayuda alguna..
xt5 escribió:los .xex y .xexp estan encriptados, si los quieres desasemblar tienes que desencriptarlos primero y se transforman en un bien conocido executable PE.

pero la verdad aun asi no creo que hacer eso seria de ayuda alguna..



no estoy intentando desamblar ningun xex ni xexp estoy desamblando el xboxupd.bin!

voy a intentar lo que me dijistes de poner el otro procesador en un rato pongo resultados
xt5 escribió:pero la verdad aun asi no creo que hacer eso seria de ayuda alguna..
Bueno, peor es no hacer nada. Nunca se sabe.
adriangp14 escribió:

no estoy intentando desamblar ningun xex ni xexp estoy desamblando el xboxupd.bin!

voy a intentar lo que me dijistes de poner el otro procesador en un rato pongo resultados


una de las cientos de medidas que utilizaron los desarrolladores de la consola es NO DAR ACCESO A CODIGO SIN ENCRTIPAR, desde el segundo estado de carga TODO esta encriptado...

si quieres salir de la duda hacele un simple analisis de entropia a tu bin.
xt5 escribió:
una de las cientos de medidas que utilizaron los desarrolladores de la consola es NO DAR ACCESO A CODIGO SIN ENCRTIPAR, desde el segundo estado de carga TODO esta encriptado...

si quieres salir de la duda hacele un simple analisis de entropia a tu bin.


creo que lo que quieres decir es que no se permite la ejecucion de CODIGO SIN FIRMAR. es una pequeña pero elegante diferencia. dudo que este encriptado, puesto que en maquinas de alto rendimiento (y una consola de videojuegos lo es) no se suele encriptar el codigo a ejecutar por la sobrecarga que tendria la CPU en 'desencriptar' el codigo a ejecutar. otra cosa es que el .bin de marras este encriptado, pero por lo menos en Xbox y sus XBE, los ejecutables tenian codigo x86 plano, eso si, firmado.
f5inet escribió:
creo que lo que quieres decir es que no se permite la ejecucion de CODIGO SIN FIRMAR. es una pequeña pero elegante diferencia.


no quise decir eso que dices tu, dije que todo esta encriptado, no es excluyente a que este firmado.
KChito escribió: Bueno, peor es no hacer nada. Nunca se sabe.


+1

no quise decir eso que dices tu, dije que todo esta encriptado, no es excluyente a que este firmado.

-1
xt5 escribió:
no quise decir eso que dices tu, dije que todo esta encriptado, no es excluyente a que este firmado.


supongo que puedes probar eso con un datasheet, algun comentario de TheSpecialist o alguna pagina del SDK que apoye tu teoria.

hasta el momento, lo unico cierto es que los ejecutables ESTAN FIRMADOS, y que es el hipervisor quien comprueba esas firmas.
Bueno, pues de programacion apenas soy estudiante, pero viendo el titulo del post, puedo deducir que se trata de modificar el archivo de actualizacion de una xbox 360?

Por ejemplo, compilar una modificacion al dash, camuflarlo de actualizacion y simplemente aplicarlo?

Puedo estar estupidamente equivocado, pero no alguien puede decirme que tanto lo estoy?

PD: tal ves exagere al decir '' una actualizacion del dash'', me refiero a una modificacion (de cualquier tipo) y disfrasarla como actualizacion. X-D

Saludos [bye]
RAYDEN01 escribió:Bueno, pues de programacion apenas soy estudiante, pero viendo el titulo del post, puedo deducir que se trata de modificar el archivo de actualizacion de una xbox 360?

Por ejemplo, compilar una modificacion al dash, camuflarlo de actualizacion y simplemente aplicarlo?

Puedo estar estupidamente equivocado, pero no alguien puede decirme que tanto lo estoy?

PD: tal ves exagere al decir '' una actualizacion del dash'', me refiero a una modificacion (de cualquier tipo) y disfrasarla como actualizacion. X-D

Saludos [bye]


estas en lo correcto, Rayden01, pero el problema es el de siempre: no se puede ejecutar codigo sin firmar o con firma incorrecta en la Xbox360.

sin embargo, el estudio de la BIOS/Firmware y el como realiza la consola la actualizacion y el 'casamiento' entre el 1bl y el 2bl, y a posteriori entre el 2bl y el hipervisor puede ayudarnos a comprender como meter 'algo extra'

para mas info sobre el sistema de arranque de la X360, visita el wiki de EOL, seccion scene de x360
f5inet escribió:
estas en lo correcto, Rayden01, pero el problema es el de siempre: no se puede ejecutar codigo sin firmar o con firma incorrecta en la Xbox360.

sin embargo, el estudio de la BIOS/Firmware y el como realiza la consola la actualizacion y el 'casamiento' entre el 1bl y el 2bl, y a posteriori entre el 2bl y el hipervisor puede ayudarnos a comprender como meter 'algo extra'

para mas info sobre el sistema de arranque de la X360, visita el wiki de EOL, seccion scene de x360



no he podido sacar un codigo mas puro.... :-(..... me dá que viene comprimido....:-s alguna idea?
si el código va cifrado y firmado olvídate de perder el tiempo a lo tonto...

Salu2
victor123 está baneado por "Has sido expulsado definitivamente por troll. No vuelvas"
en esta consola es mas facil firmar como lo hace microsoft k lo k estais intentando hacer.
eso parece un desensamblado del actualizador de la xbox1, no de la xbox360.

Saludos
cuando la gente dice "por ahi no va la cosa", no es por joder, es para evitar crear falsas expectativas/ilusiones.

he mirado el famoso xboxupd.bin y claro que esta cifrado, eso era incuestionable. solo basta un pequeño analisis de entropia para confirmar que no es codigo de maquina. (por ej en winhex: simplemente presionando F2).

el archivo en cuestion simplemente contiene las secciones CF y CG de la NAND (encriptadas obviamente, COMO TODO EN LA 360).
para desencriptarla hay que usar el mismo procedimiento que se utiliza al desencriptar estas secciones en la NAND, para ello he creado un programa que las desencripta facilmente:
http://www.ingenieria-inversa.cl/files/xboxupdd.rar

para correrlo hay que poner:
xboxuppdd archivo key

donde la key es la famosa clave del 1BL en hexadecimal (cada uno sabra de donde la saca).

para quienes quieran animarse a _intentar_ hacer algo con la 360 aqui hay algunos tips:

-todo el codigo esta encriptado, NAND, SMC, XEXs sin importar en que containers vengan, en la 360 es asi POR DEFINICION.
-todas la paginas de codigo en estan encriptadas en la RAM, aunque tuviesemos acceso a hacer busmastering, no serviria de nada.
(el codigo se desencripta en tiempo de ejecucion, sin penalidad alguna claro esta, y a modo general hasta una MCU que corra a 5MHZ puede desencriptar codigo en tiempo de carga sin mayor impacto).
-intentar seguir con el tema de este hilo, es exactamente lo mismo que romper la cadena de seguridad del proceso de carga. (casi imposible)
-la 360 es una de las maquinas mas seguras que ha existido, la seguridad esta presente en cada parte del diseño (excepto el lector).
-no es la maquina ideal para aprender a hackear.
xt5 escribió:cuando la gente dice "por ahi no va la cosa", no es por joder, es para evitar crear falsas expectativas/ilusiones.

he mirado el famoso xboxupd.bin y claro que esta cifrado, eso era incuestionable. solo basta un pequeño analisis de entropia para confirmar que no es codigo de maquina. (por ej en winhex: simplemente presionando F2).

el archivo en cuestion simplemente contiene las secciones CF y CG de la NAND (encriptadas obviamente, COMO TODO EN LA 360).
para desencriptarla hay que usar el mismo procedimiento que se utiliza al desencriptar estas secciones en la NAND, para ello he creado un programa que las desencripta facilmente:
http://www.ingenieria-inversa.cl/files/xboxupdd.rar

para correrlo hay que poner:
xboxuppdd archivo key

donde la key es la famosa clave del 1BL en hexadecimal (cada uno sabra de donde la saca).

para quienes quieran animarse a _intentar_ hacer algo con la 360 aqui hay algunos tips:

-todo el codigo esta encriptado, NAND, SMC, XEXs sin importar en que containers vengan, en la 360 es asi POR DEFINICION.
-todas la paginas de codigo en estan encriptadas en la RAM, aunque tuviesemos acceso a hacer busmastering, no serviria de nada.
(el codigo se desencripta en tiempo de ejecucion, sin penalidad alguna claro esta, y a modo general hasta una MCU que corra a 5MHZ puede desencriptar codigo en tiempo de carga sin mayor impacto).
-intentar seguir con el tema de este hilo, es exactamente lo mismo que romper la cadena de seguridad del proceso de carga. (casi imposible)
-la 360 es una de las maquinas mas seguras que ha existido, la seguridad esta presente en cada parte del diseño (excepto el lector).
-no es la maquina ideal para aprender a hackear.


gracias .... no pretendo hackear nada ... pero gracias :D
37 respuestas