Publicado Exploit GeoHot Hack PS3 (Leed Primer Mensaje)

J1M escribió:Estáis seguros que metiéndole el un pulso entre VCC (¿5V? el bus de la PS3 va a esa tensión tan alta?? ) y GND al micro le va a sentar bien?

Os habéis planteado generar el pulso entre Z (Alta impedancia) y GND???

La alta impedancia es fácil ponerla con un PIC, tan solo hay que poner un PIN como entrada(Z).

Por lo tanto los pulsos los generariamos poniendo alternadamente un PIN como entrada(Z) y seguidamente configurandolo como salida a nivel bajo(GND)

Con eso tendría sentido la frase de GeoHot donde dice: "Pulse the line circle in the picture LOW for ~40ns"

Es decir, no comenta en nignún lado que el pulso deba ser una señal cuadrada(VCC-GND), sino simplemente poner la linea a LOW, entiendo que el otro estado es Z, así no hay posibilidad de fastidiar el procesador(veo que le estais metiendo 5V) :S


No en ningun momento hay 5 Voltios hacia el bus. Los cinco voltios atacan la base de un transistor NPN que conmuta el bus a GND.
Depende... a qué circuito te refieres?

Si es al que postea el compañero sickness1 creo que no es así como funciona.

saludos.
En el circuito que planteo se coloca un diodo a la salida, otro debería colocarse en el bus de la PS3, de esta manera generamos una puerta or que jamas dañaría ningún uP ni la placa de la ps3 ya que las tensiones son del mismo nivel y de salida, jamas habría corrientes de retorno del uP a la PS3.

El colocar la salida de un uP en Alta Impedancia implica que existe una resistencia enorme a la entrada del uP lo cual no hace que el uP haga de entrada, sino emula un circuito abierto. Has de pensar que cuando tenemos 2 cables separados hay una resistencia en el aire de GOhm o TOhm, pero en realidad circula algo de corriente, aunque puede ser del orden de pA o inferior. Pues el uP en modo Z trata de hacer algo parecido a esto. Si pusiéramos solo el GND en mi opinión habría problemas. Yo soy más partidario de los diodos y utilizar tensiones que impliquen nivel a 1 ya que de esta forma la protección del diodo funciona y el ataque funciona.

Un saludo
J1M escribió:Depende... a qué circuito te refieres?

Si es al que postea el compañero sickness1 creo que no es así como funciona.

saludos.


Al mio:

SALIDA PIC ----> Base de transistor NPN
Colector ----> GND
Emisor ----> Bus de datos.

Mediante este sistema funciona perfecto, solo que 60ns en vez de 40ns.

Tambien he probado, como me has sugerido, alternando entre entrada (Alta impedancia) y salida, poniendo previamente el puerto a 0. El problema es que ahora no se como probarlo.

Para probar el anterior circuito con NPN, lo que hize fue usar una resistencia de 10K para poner una linea a 5 V que simulara el bus de datos. Cuando el pic activa la base del transistor, conmuta a tierra. Y la linea simulada a 5 V se pone a 0.

Ahora bien en el supuesto de que conecte la linea simulada de 5V al pin del pic, y juegue a cambiar entre entrada-salida. La linea siempre esta a 0, y no puedo comprobar la longitud del pulso.
Buenas sickness,

sickness1 escribió:El colocar la salida de un uP en Alta Impedancia implica que existe una resistencia enorme a la entrada del uP lo cual no hace que el uP haga de entrada, sino emula un circuito abierto.


Si, tienes razón pero yo me refería a como 'generar' esa Z con un PIC. Simplemente hay que poner el PIN en cuestión como entrada.

sickness1 escribió:Has de pensar que cuando tenemos 2 cables separados hay una resistencia en el aire de GOhm o TOhm, pero en realidad circula algo de corriente, aunque puede ser del orden de pA o inferior. Pues el uP en modo Z trata de hacer algo parecido a esto. Si pusiéramos solo el GND en mi opinión habría problemas.


Desde mi punto de vista esa corriente es totalmente despreciable. Qué problemas piensas puede ocasionar poner GND en el circuito? Tal y como lo planteo (y entiendo es como lo ha hecho Geohot) sencillamente se tratan de 'corromper' los datos de la linea del bus metiendole un ruido que hará caer la VCC(Vbus) que por allí circula a masa.

Evidentemente también puedes corromper los datos metiendo pulsos entre VCC y GND, ahora eso sí, es importante conocer cual es esa Vbus ... si no la puedes liar y gorda. Es por ello mi planteamiento, me da igual cual sea Vbus ya que los 'pulsos' se van a generar entre Z y GND.

EDITO!:

dreamgame escribió:Al mio:

SALIDA PIC ----> Base de transistor NPN
Colector ----> GND
Emisor ----> Bus de datos.


Ok! jejeje

No creo puedas verlo directamente con un osciloscopio, si a eso te refieres con probarlo... La única forma que tendrías de verlo sería generando una señal cuadrada(para emular el bus de la ps3) y visualizarla en el osciloscopio mientras activas el circuito del glicher.

Un saludillo!
El acceso intentantare conseguirlo, aun no es seguro.. Además, sigue estando el problema de que yo no sabría muy bien como explotar el fallo, por lo que "romper" mi PS3, no llevaría a nada :S
J1M escribió:
dreamgame escribió:Al mio:

SALIDA PIC ----> Base de transistor NPN
Colector ----> GND
Emisor ----> Bus de datos.


Ok! jejeje

No creo puedas verlo directamente con un osciloscopio, si a eso te refieres con probarlo... La única forma que tendrías de verlo sería generando una señal cuadrada(para emular el bus de la ps3) y visualizarla en el osciloscopio mientras activas el circuito del glicher.

Un saludillo!


Si, si he podido verlo en el caso del NPN. He simulado una linea de datos a 5V con un pullup en una linea aparte. Y cae a GND cuando pulso el transistor.

Imagen

La linea azul simula el bus de datos (pull-up), la amarilla el pulso generado.
J1M escribió:Buenas sickness,

sickness1 escribió:El colocar la salida de un uP en Alta Impedancia implica que existe una resistencia enorme a la entrada del uP lo cual no hace que el uP haga de entrada, sino emula un circuito abierto.


Si, tienes razón pero yo me refería a como 'generar' esa Z con un PIC. Simplemente hay que poner el PIN en cuestión como entrada.

sickness1 escribió:Has de pensar que cuando tenemos 2 cables separados hay una resistencia en el aire de GOhm o TOhm, pero en realidad circula algo de corriente, aunque puede ser del orden de pA o inferior. Pues el uP en modo Z trata de hacer algo parecido a esto. Si pusiéramos solo el GND en mi opinión habría problemas.


Desde mi punto de vista esa corriente es totalmente despreciable. Qué problemas piensas puede ocasionar poner GND en el circuito? Tal y como lo planteo (y entiendo es como lo ha hecho Geohot) sencillamente se tratan de 'corromper' los datos de la linea del bus metiendole un ruido que hará caer la VCC(Vbus) que por allí circula a masa.

Evidentemente también puedes corromper los datos metiendo pulsos entre VCC y GND, ahora eso sí, es importante conocer cual es esa Vbus ... si no la puedes liar y gorda. Es por ello mi planteamiento, me da igual cual sea Vbus ya que los 'pulsos' se van a generar entre Z y GND.


Desde mi punto de vista el colocar una señal de X voltios a masa puede conllevar como consecuencia que la corriente que circule por ese circuito sea enorme, ya que según la ley de Ohm V=R*I, si la R es pequeña la I tiene que ser grande. Es por eso que me preocupa el llevar la tensión del bus de la PS3 a GND. Has de pensar que mientras tengan la linea a GND sucederá algo de este estilo
BUS PS3:

_| |__| |__| |__

BUS de nuestro circuito a GND:
_____________

Salida: ________________

Cada vez que la ps3 intenta subir el pulso la corriente se podría disparar, las consecuencias pueden ser la rotura de un fusible, el apago momentaneo de la fuente hasta que se quite la condición de consumo de corriente, la caída de tensión, limitación de corriente o incluso quemar algún integrado.

Cuando comento de poner una tensión siempre sería la que utiliza el bus de la PS3 que seguro es de 3,3 o 5V, se puede medir con un filtro RC o sobre las salidas DC de la fuente de alimentación.

Así es como yo lo veo, lo cual no quiere decir que tenga porque ser así.

Un saludo
Albertoamo escribió:os dejo este link que explica lo que hay que hacer con el xploit, lo q pasa esq está en inglés, pero no se... yo creo q és intuitivo,pero si alguien puede poner poner una traduccion pués perfecto, está genial el link pq te pone todos los comandos y tal.
sin más aqui teneis el link http://xorloser.com/?p=162#more-162 espero que os pueda servir de utilidad


Eii gracias por tu aportación, en cuánto pueda cojo mi negrita haber si se pueden hacer algunas pruebas, creo que entre todos podremos aportar algo. Lo dicho, gracias.
sickness1 es que un 'triestado' cuando su estado es Z el circuito no se comporta de la forma en que dices, se comporta como un circuito abierto, es decir, cuando tienes algo enganchado a un bus y pones el estado de ese algo en alta impedancia haces que sea transparente para el bus. Leete esto que lo explican bastante bien:
http://es.wikipedia.org/wiki/Buffer_triestado

dreamgame tu diseño me parece bueno, el que yo planteo es similar al tuyo, en funcionamiento, pero elimina la necesidad de utilizar un transistor. Si metes un PIC o mejor dicho, un DsPIC (ya que con un 18F2550 a 48MHz no llegas a 40ns) vas a poder generar 'los pulsos' con solo 4 instrucciones en C.

Saludos!
Albertoamo escribió:os dejo este link que explica lo que hay que hacer con el xploit, lo q pasa esq está en inglés, pero no se... yo creo q és intuitivo,pero si alguien puede poner poner una traduccion pués perfecto, está genial el link pq te pone todos los comandos y tal.
sin más aqui teneis el link http://xorloser.com/?p=162#more-162 espero que os pueda servir de utilidad


Buen aporte, gracias!!!

Me alegra ver que esto cada vez está más aterrizado, de forma que nosotros los simples mortales, podamos incluso tocar.

Un saludo al foro
airmalaga escribió:
Albertoamo escribió:os dejo este link que explica lo que hay que hacer con el xploit, lo q pasa esq está en inglés, pero no se... yo creo q és intuitivo,pero si alguien puede poner poner una traduccion pués perfecto, está genial el link pq te pone todos los comandos y tal.
sin más aqui teneis el link http://xorloser.com/?p=162#more-162 espero que os pueda servir de utilidad


Buen aporte, gracias!!!

Me alegra ver que esto cada vez está más aterrizado, de forma que nosotros los simples mortales, podamos incluso tocar.

Un saludo al foro


ya hay xploit por soft? esque llevo unos dias perdidos en este tema..
pupila1992 escribió:ya hay xploit por soft? esque llevo unos dias perdidos en este tema..

El exploit es el de geohot (que necesita software y hardware). Lo que está haciendo xorloser (el creador del blog) es explicarlo para "noobs" con pasos sencillos en varios posts.

Por ahora sólo tenemos el primer post, la parte software (con un parche añadido por él para la versión 3.15 del firmware). Dice que en próximos posts explicará el hardware que ha usado. De manera que cuando acabe la serie de post casi todo el mundo podrá replicar el exploit en su PS3 (aunque por ahora sigue valiendo sólo para investigación, ya que a un usuario "normal" no le vale de nada un dump de su RAM).
He estado buscando mas opciones para acercarme a esos 40ns, sin desviarme mucho de lo que ya he avanzado.

Al ver que de un 18F2550 no voy a sacar mas de 48 Mhz, independientemente del cristal. He ido a buscar si habia algun PIC de la familia 18F que corriera mas. Y he encontrado varios que corren a 64 Mhz, incluso sin cristal y bastante mas baratos que los 18F2550. Eso si, sin USB.

El candidato es el 18F26K20. Corre a 64Mhz y tiene servicios de sobra para la tarea a realizar. Incluso me gusta mas que el 18F2550, ya que este funciona a 3.3V lo cual sera mas proximo al voltaje del bus de la Play 3.

Ahora toca esperar hasta el Martes a que llegue, aunque voy a hacer unas pruebas con unos NXP ARM9 que tambien son la leche de rapidos.
dreamgame con ese pic tampoco vas a poder llegar a la frecuencia necesaria ya que vas a conseguir un 'tick' cada 62,5ns...

Necesitas utilizar un dspic, el mas chungo y barato de ellos llega a los 120MHz y 30mips, con eso consigues sin ningun problema tu tick cada 40ns.
J1M escribió:dreamgame con ese pic tampoco vas a poder llegar a la frecuencia necesaria ya que vas a conseguir un 'tick' cada 62,5ns...
Necesitas utilizar un dspic, el mas chungo y barato de ellos llega a los 120MHz y 30mips, con eso consigues sin ningun problema tu tick cada 40ns.

Es que esto es un poco confuso, con los pic se puede calcular el tiempo segun esta formula:

Tiempo en us = 4 * 1 / F * 1

F = Frecuencia en Mhz

O sea que a 48 Mhz: 4 * 1 / 48 * 1 = 0.0833 us ---> 83 ns
Y a 65 Mhz : 4 * 1 / 65 * 1 = 0.0615 us ---> 61 ns

En ninguno de los casos el calculo entra en lo que buscamos.

Pero es un hecho del que ya he posteado varias fotos de la muestra del osciloscopio, de que con el PIC 18F2550 a 48 Mhz he conseguido un pulso de 65 ns ( +/- 5ns). Igual estoy forzando al PIC a ir mas rapido sin darme cuenta... pero por 2.5€ que vale el 18F26K20 creo que merece la pena probar.
Si dreamgame, estás haciéndole overclock al micro (dime que xtal tienes puesto y como tienes configurados los fuses). Comprueba que no se te caliente porque te puedes quedar sin él. Efectivamente si por probar no pasa nada, pero vamos, el dspic30f2011 sale por 3 euros.
J1M escribió:Si dreamgame, estás haciéndole overclock al micro (dime que xtal tienes puesto y como tienes configurados los fuses). Comprueba que no se te caliente porque te puedes quedar sin él. Efectivamente si por probar no pasa nada, pero vamos, el dspic30f2011 sale por 3 euros.


Ya me he quedado sin un par de ellos subiendo el reloj a ver cual era el valor minimo al que llegaba...

He estado mirando el DSPIC que dices, y me gusta bastante. En mi proveedor lo tienen por 2.83 € en formato PDIP. Asi que no se puede pedir mas. Muchas gracias por el consejo.

Lo que yo no tengo experiencia en los MCU de 16 bits estos. ¿Son muy diferentes a la hora de programar? He visto el juego de instrucciones que tienen, y son las mismas y alguna mas, que las de los 18F.

¿Tu has programado algo en estos bichos? Por si las dudas que puedan surgir.
Tengo más experiencia con los 'normales', con los dspic me he limitado a hacer parpadear un led... algo parecido a lo que se va a hacer aquí. Normalmente programo en C CCS, te pongo un código que pienso debería funcionar. Solamente se deberían ajustar los ciclos del delay ya que no he calculado el valor exacto para generar los 40ns.

#include <30F2011.h>
#fuses HS2_PLL16,NOPUT,NOBROWNOUT,NOWDT
#use delay(clock=120000000) // 120MHz con un cristal de 15MHz

void main(void)
{
   while(true)
   {
      output_low(PIN_B0); // Salida a Nivel bajo
      delay_cycles(1); // Retardo equivalente a un NOP (ajustar para conseguir los 40ns)
      output_float(PIN_B0); // Salida en Alta Impedancia
      delay_cycles(1);
   }
}
Jo tio, ¿y no tienes ninguno tu para probar? ¿Te falta alguna herramienta?

A mi hasta el Martes no me llegara ningun PIC.

( Con lo simple que es el codigo, es frustrante acercarse tan poco a poco )
Lo tengo todo en la office (en vez del 30f2011 tengo el 30f4012 pero para el caso es lo mismo!) :p ... hasta el lunes no vuelvo q ya me paso demasiado tiempo a la semana allí! jejeje
Pues nada, a esperar tocan...
Los pic soportan C????????? Dios, que lejos qudan aquellos tiempos en los que se programaban en ensambaldor :P
cRaZyByTe escribió:Los pic soportan C????????? Dios, que lejos qudan aquellos tiempos en los que se programaban en ensambaldor :P


Yo lo sigo haciendo... Sere un viejo ya....
Pues no se porqué lo haces... yo he programado un "city connection" en asm x86 y no se si el ASM de los pic es mas bonito pero con 2500 lineas de asm lo más que he conseguido es esto (no es la ultima version, la ultima tiene 2900 y tiene colores.. pero basicamente es lo mismo, se salta utilziando un pulsador conectado al puerto paralelo , es curioso). Y es una puta mierda el ensamblador, es facil cuando captas las ideas basicas, pero cualquier tonteria se convierte en un suplicio...

http://www.youtube.com/watch?v=t-646WYrous
Siempre han estado ahí los compiladores de C, pero en la univ nos puteaban con el ensamblador! jejeje q también queda lejos aquello si... XD

otia crazy, que moral! A mi me hicieron hacer el ahorcado y terminé hasta las narices... el tuyo ha tenido que ser también para no volver a tocar asm en la vida! jajajaja
(mensaje borrado)
J1M escribió:sickness1 es que un 'triestado' cuando su estado es Z el circuito no se comporta de la forma en que dices, se comporta como un circuito abierto, es decir, cuando tienes algo enganchado a un bus y pones el estado de ese algo en alta impedancia haces que sea transparente para el bus. Leete esto que lo explican bastante bien:
http://es.wikipedia.org/wiki/Buffer_triestado


Saludos!


Yo en todo momento he dicho que poner una alta impedancia es emular un circuito abierto y jamas diría lo opuesto. Yo lo que comentaba en mi post es que el problema de la solución que tu planteas es el echo de llevar a GND una tensión >0V ya que tu planteas 2 estados, GND y Alta impedancia. En alta impedancia el bus ni se entera de que hay algo enchufado pero cuando entre el GND (que en ese momento la Alta impedancia no se puede poner) circularan altas corrientes cuando el bus se ponga a un nivel lógico de 1.

Un saludo
Lo mas exacto es hacerlo en lenguaje ensamblador que no es nada complicado de usar para esta utilidad.
Cuando digo exacto me refiero a usar los minimos ciclos de reloj posibles.

Cristal de 48Mhz no dispongo, de hecho no he trabajado ni siquiera con 20

Saludos
sickness sigo sin entender pq piensas eso... los buffers triestado se utilizan precisamente para aplicaciones como esta...

ontysonmondy aun nos cuesta pensar que los compiladores de C optimizan el código, pero nos equivocamos, si compilas el código que he puesto anteriormente y miras el ASM que genera verás esto dentro del while(true):
....................    while(true)
....................    {
....................       output_low(PIN_B0); // Salida a Nivel bajo
010C:  BCLR.B  2C6.0
010E:  BCLR.B  2CA.0
....................       delay_cycles(1); // Retardo equivalente a un NOP (ajustar para conseguir los 40ns)
0110:  NOP     
....................       output_float(PIN_B0); // Salida en Alta Impedancia
0112:  BSET.B  2C6.0
....................       delay_cycles(1);
0114:  NOP     


Como ves, en ASM poco vas a poder mejorar...

saludos!
Voy a concretar la solución de biestables, que a mi entender es la más sencilla. Adjunto el esquema en PDF para quien lo quiera mirar.

Los semiconductores utilizados son:
- Cristal de 25 MHz: 0,41€ en Digikey
- 74HCT175: 0,47€ en Digikey
- 74HCT14: 0,37€ en Digikey
- 74HCT08: 0,32# en Digikey

De transistor vale casi cualquiera, como por ejemplo el BC 547, a 0,25€ en Digikey.

Vamos, que con esta solución el esquema es evidentemente más complejo que usando un PIC, pero por 2€ tienes una solución funcional que da 40ns exactos y que no requiere de escribir un programa ni de usar un programador/emulador/ICD para meter el código en el micro.

Por cierto, si a alguien le cuesta encontrar el 74HCT175, lo puede sustituir por dos 74HCT74.

Adjuntos

Pulso40.pdf (6.79 KB)

Pulso de 40ns con lógica discreta.
Nos diass, taba echando un ojo por ps2dev, vi que esta mñn Ifcaro posteo el SoftGL 0.1 :
SoftGL es una simple libreria grafica para ser usada con el PS3SDK de mc. Por el momento no esta nada optimizada y ofrece las siguientes funciones:

Primitivas:

* DrawPoint
* DrawLine
* DrawRect
* DrawCircle
* DrawCircleFill


Imagenes:

* DrawImage (puntero a 32bits RGBA)
* Soporte para fuentes bitmap (basado en NFont)
Video: http://www.youtube.com/watch?v=oFJ6yyrJue4

PD: Ya se que es el primer paso, pero por algo se empieza... mas o menos tengo claro sus funciones pero algun entendido podria explicarlo para t2 o almenos aclarar para que servirian las versiones futuras ;), salu2!
Para las pruebas no hace falta que tengais los materiales, podeis usar programas como el proteus, que funciona incluso con los microchips

Saludos
doragasu escribió:Voy a concretar la solución de biestables, que a mi entender es la más sencilla. Adjunto el esquema en PDF para quien lo quiera mirar.

Los semiconductores utilizados son:
- Cristal de 25 MHz: 0,41€ en Digikey
- 74HCT175: 0,47€ en Digikey
- 74HCT14: 0,37€ en Digikey
- 74HCT08: 0,32# en Digikey

De transistor vale casi cualquiera, como por ejemplo el BC 547, a 0,25€ en Digikey.

Vamos, que con esta solución el esquema es evidentemente más complejo que usando un PIC, pero por 2€ tienes una solución funcional que da 40ns exactos y que no requiere de escribir un programa ni de usar un programador/emulador/ICD para meter el código en el micro.

Por cierto, si a alguien le cuesta encontrar el 74HCT175, lo puede sustituir por dos 74HCT74.


A mi modo de ver es mejor colocar el transistor en colector común (la salida en el emisor), ya que de esa forma cuando quieras hacer un 0 será con tensión a masa (0V) y cuando quieras hacer un 1 tendrás la caída de tensión que se produce en el transistor(por ejemplo si tenemos en el colector 5V a la salida veremos 4,1V). Si lo haces al revés puede suceder que la tensión de 0 (unos 0,9V) no siempre sean interpretados como un 0 logico.

Un saludo.
No se si se habrá visto ya, pero en el blog de xorloser (el que explicaba la parte del software y que decía que funcionaba en 3.15) ya se puede ver la parte de Hardware con el esquema del circuito y la programación que lleva (que yo no entiendo ni papa de electronica) así que aquí se lo dejo para que le hechen un vistazo

http://xorloser.com/?p=175
http://xorloser.com/?p=214
odarriba escribió:No se si se habrá visto ya, pero en el blog de xorloser (el que explicaba la parte del software y que decía que funcionaba en 3.15) ya se puede ver la parte de Hardware con el esquema del circuito y la programación que lleva (que yo no entiendo ni papa de electronica) así que aquí se lo dejo para que le hechen un vistazo

http://xorloser.com/?p=175
http://xorloser.com/?p=214



Perfecto, ya tenemos una guía para mortales del soft, el hard y el setup del exploit

Estoy loco por abrirla, voy a comprar un SX28 (el montaje es muy sencillo, solo una conexión delicada), y voy a jugar un poco.

Gracias por la info
sickness1 escribió:A mi modo de ver es mejor colocar el transistor en colector común (la salida en el emisor), ya que de esa forma cuando quieras hacer un 0 será con tensión a masa (0V) y cuando quieras hacer un 1 tendrás la caída de tensión que se produce en el transistor(por ejemplo si tenemos en el colector 5V a la salida veremos 4,1V). Si lo haces al revés puede suceder que la tensión de 0 (unos 0,9V) no siempre sean interpretados como un 0 logico.

Un saludo.


No entiendo lo que quieres decir, pero el circuito que te he puesto funciona seguro. La configuración del transistor es lo que se conoce como "Colector abierto", y se utiliza comunmente para hacer funciones OR cableadas. Cuando en la base del transistor se pone un 1, el transistor entra en saturación, por lo que en su colector habrá cerca de 0 V (la tensión de saturación, en el BC547 creo recordar que unos 0,2 V). Cuando en la base del transistor se pone un 0, la corriente de base es nula, y por lo tanto el transistor entra en corte. En ese caso, la tensión en el colector será la que ponga el bus de la PS3, lo cuál no es ningún problema y de hecho es lo deseado.
Efectivamente, el hardware que ha planteado xorloser es igual que el que he planteado para el Dspic. Si os fijais en el SRC genera los pulsos entre Z y GND... parece que no ibamos desencaminados entonces...
doragasu escribió:
sickness1 escribió:A mi modo de ver es mejor colocar el transistor en colector común (la salida en el emisor), ya que de esa forma cuando quieras hacer un 0 será con tensión a masa (0V) y cuando quieras hacer un 1 tendrás la caída de tensión que se produce en el transistor(por ejemplo si tenemos en el colector 5V a la salida veremos 4,1V). Si lo haces al revés puede suceder que la tensión de 0 (unos 0,9V) no siempre sean interpretados como un 0 logico.

Un saludo.


No entiendo lo que quieres decir, pero el circuito que te he puesto funciona seguro. La configuración del transistor es lo que se conoce como "Colector abierto", y se utiliza comunmente para hacer funciones OR cableadas. Cuando en la base del transistor se pone un 1, el transistor entra en saturación, por lo que en su colector habrá cerca de 0 V (la tensión de saturación, en el BC547 creo recordar que unos 0,2 V). Cuando en la base del transistor se pone un 0, la corriente de base es nula, y por lo tanto el transistor entra en corte. En ese caso, la tensión en el colector será la que ponga el bus de la PS3, lo cuál no es ningún problema y de hecho es lo deseado.


Lo que te quiero decir es que si en vez de colocar el trasistor como lo has puesto, lo colocas así (Es una imagen sacada de internet, jamas se me ocurriría poner 12V en el colector solo tiene fines explicativos):
Imagen

Tienes la ventaja de que el nivel de 0 es masa (0V)(Transistor en corte) y el nivel de 1 es la Vcolector-Vce (transistor saturado) que seguro esta por encima de la tensión necesaria para interpretar un 1 lógico. De la otra manera, en colector abierto, corres el riesgo de que no se interprete un 0 ya que la caída entre Vce puede producir una lectura que oscile entre 0 y 1 ya que para que un dispositivo entienda un 1 (nivel lógico) la tensión en la patilla debe estar por encima del nivel de tensión marcado por el fabricante.

Por otro lado si observas el colector común verás el detalle de que la masa esta protegida con una resistencia de XK cosa que en colector abierto no sucede con lo que cuando saturas el transistor en tu circuito y la PS3 ponga 5V o 3,3V en el bus por la Vce del transistor tendrán que caer los 5V o 3,3V para que al llegar a masa la tensión sea 0.

Espero haberme explicado mejor.




J1M escribió:Efectivamente, el hardware que ha planteado xorloser es igual que el que he planteado para el Dspic. Si os fijais en el SRC genera los pulsos entre Z y GND... parece que no ibamos desencaminados entonces...


Fíjate que el tío en la patilla que lleva al control de la RAM coloca una resistencia de 10Ohm para reducir la corriente que circulara al ponerla a 0.

Un saludo
Bien, ahora si aquellos que quieran y sepan, pueden ponerse a trabajar con la simple y sencilla instalacion de xorloser, ya no tiene creo yo sentido alguno seguir agregando PDF, o planos alternativos, o seguir investigando que componentes poner y que no.. mas simple, imposible!!
Sí sickness, en lo de la resistencia llevas razón :)

Ornella, y por que no tiene sentido poner planos alternativos? Eso dependerá cual sea tu objetivo no?... Además, busca un grabador para el SX y después uno para el dspic (por poner un ejemplo con un micro) compara precios y verás que trae más cuenta ;)
Pero como se anima esto, jejeje, presiento que está a punto de estallar, me equivocaré?
Alguien ha conseguido exploitearla ya?

PD: Si ya lo habeis puesto lo siento, pero no hay ganas de leerse 125 páginas
FiEsTaMaN escribió:Pero como se anima esto, jejeje, presiento que está a punto de estallar, me equivocaré?


Depende de lo que entiendas por "estallar" , si estas pensando en backups. Lo llevas claro a corto plazo. Si es referente a usar linux full, ya estan "tonteando" con la grafica. ;)
Abismo escribió:
FiEsTaMaN escribió:Pero como se anima esto, jejeje, presiento que está a punto de estallar, me equivocaré?


Depende de lo que entiendas por "estallar" , si estas pensando en backups. Lo llevas claro a corto plazo. Si es referente a usar linux full, ya estan "tonteando" con la grafica. ;)

Bueno, hay que tener en cuenta también el mensaje en este mismo post en el que se decía que ya se llevava tiempo probando un sistema para cargar backups que podria salir a la luz en Marzo, segun creo haber leído.

Desde luego que con este exploit se necesita hacer mucha ingeniería inversa sobre el Hypervisor para encontrar bugs, pero la cosa está fastidiada con tantas claves de encriptación y SPE's aisladas...
sickness1 escribió:Lo que te quiero decir es que si en vez de colocar el trasistor como lo has puesto, lo colocas así (Es una imagen sacada de internet, jamas se me ocurriría poner 12V en el colector solo tiene fines explicativos):
Imagen

Tienes la ventaja de que el nivel de 0 es masa (0V)(Transistor en corte) y el nivel de 1 es la Vcolector-Vce (transistor saturado) que seguro esta por encima de la tensión necesaria para interpretar un 1 lógico. De la otra manera, en colector abierto, corres el riesgo de que no se interprete un 0 ya que la caída entre Vce puede producir una lectura que oscile entre 0 y 1 ya que para que un dispositivo entienda un 1 (nivel lógico) la tensión en la patilla debe estar por encima del nivel de tensión marcado por el fabricante.

Por otro lado si observas el colector común verás el detalle de que la masa esta protegida con una resistencia de XK cosa que en colector abierto no sucede con lo que cuando saturas el transistor en tu circuito y la PS3 ponga 5V o 3,3V en el bus por la Vce del transistor tendrán que caer los 5V o 3,3V para que al llegar a masa la tensión sea 0.

Espero haberme explicado mejor.


Para este caso, yo diría que ese circuito no vale, porque cuando el transistor está en corte (cuando le pones un 0 en la base), es cierto que tienes un nivel de 0V cuando a la salida hay un circuito abierto o una alta impedancia (como ilustra el diagrama), pero cuando lo conectas al bus de PS3, cuando el bus pone un nivel "1", y a la vez tu circuito intenta poner un "0", no verás un 0 porque el circuito lo único que hará es poner un "pull-down" (la resistencia que va de emisor a masa). Además es peligroso, porque cuando usas ese circuito para poner un "1", una vez lo conectas al bus de PS3, estás cortocircuitando la salida del bus a la tensión de alimentación, lo cuál puede hacer que el bus deje de funcionar. Para este tipo de cosas es mejor utilizar configuraciones de colector abierto (open collector), que siempre adaptan la tensión del 1 a la del bus, y la tensión del 0 a la de masa.
J1M escribió:Efectivamente, el hardware que ha planteado xorloser es igual que el que he planteado para el Dspic. Si os fijais en el SRC genera los pulsos entre Z y GND... parece que no ibamos desencaminados entonces...


Bien esto es un empuje importante, e indica que vamos por el buen camino. A mi me sigue gustando mas la solucion del DSPIC, por que tengo las herramientas para el. Asi que voy a seguir investigando por mi cuenta, con el pic que ha dicho J1M.

No es raro que ya haya alguna solucion lista para el uso, y conforme pasen las semanas, habran muchas mas. Ya que los requerimientos del hardware son bien sencillos, y se puede llegar al mismo fin de muchas maneras diferentes.
odarriba escribió:No se si se habrá visto ya, pero en el blog de xorloser (el que explicaba la parte del software y que decía que funcionaba en 3.15) ya se puede ver la parte de Hardware con el esquema del circuito y la programación que lleva (que yo no entiendo ni papa de electronica) así que aquí se lo dejo para que le hechen un vistazo

http://xorloser.com/?p=175
http://xorloser.com/?p=214



¿ xorloser es de Paradox ? (http://forums.ps2dev.org/viewtopic.php? ... ght=#87339)
Entonces que se deje de publicar circuitos, y que rule el isoloader :-D
Oren_Hishii escribió:Interesante...

Imagen


Puedes esplicar que es eso exactamente o solo lo has puesto para crear espectacion?? jejeje
2494 respuestas