www.cpsx.cjb.net
www.cps-x.da.ru


CPS 1
CPS 2
CPS 3


CPS 1 (Kabuki)
CPS 2
CPS 3 (No Disponoble)


A.C.E.
Calice
Final Burn
Kawaks
M.A.M.E.
Nebula


CPS 2


CPS 1
CPS 2
CPS 3


Emuladores
Dats
Skins
Otros


CapcomXtreme
CPS2World
Charnego Translations
Crukia

 

(gracias al cps2shock team por la info)


En primer lugar, que significa que este encriptado? Significa que no se puede leer, por lo que no se peude emular, para ver como funciona la encriptación simplemente mirad esto:

Dirección usada : $000174
Valores encriptados Valores no encriptados
Valor   Binary Valor Binary
0001
0002
0004
0008
0010
0020
0040
0080
0100
0200
0400
0800
1000
2000
4000
8000
0000000000000001
0000000000000010
0000000000000100
0000000000001000
0000000000010000
0000000000100000
0000000001000000
0000000010000000
0000000100000000
0000001000000000
0000010000000000
0000100000000000
0001000000000000
0010000000000000
0100000000000000
1000000000000000
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
B703
D512
A838
F704
2F4B
3830
B231
A796
EC26
39EE
F2C2
----
0721
----
----
----
1011011100000011
1101010100010010
1010100000111000
1111011100000100
0010111101001011
0011100000110000
1011001000110001
1010011110010110
1110110000100110
0011100111101110
1111001011000010
----------------
0000011100100001
----------------
----------------
----------------
8
7
6
8
9
5
7
9
8
10
8
-
5
-
-
-

Como podeis observar, los datos unos de otros se diferencian mucho, para cambiar de encriptado a desencriptado, se necesitan dos cosas: el algoritmo y la clave. De la encriptación kabuki, al saberse, no hacen falta las tablas xors, pero en esta si, las tablas osn una simple operación matemática (+,-,*,:) que hacen que de un 000 se pase a 101 por ejemplo.
vemos como la placa desencripta:

01 S-RAM
02 Conector serie
03 Controlador principal desencriptador
04 Procesador M 68000
05 Controladores logico programables
06 Bateria de litio
 

 


Y siguiendo el esquema se puede ver que la bateria de litio le da corriente a los tres controladores logicos programables (clp) y al controlador principal de desencriptación (tambien un clp). El conector serie es usado para programar los clp para la desencriptación pero si la bateria perdiese poder, esta información se perderia y daría como resultado una placa muerta (no funciona porque se ha perdido la información de desencripatción).
 
Bien , lo que creo que raz ha echo ha sido coger los datos encriptados, los desencriptados despues de que salgan del chip de desenriptación y al compararlos sacar las XORs. Para sacar las xors de cada juego se necesitan aproximadamente una hora por 512k de información desencriptada.
Des pues de un par de años de estudio, los chicos del cps2shock han llegado a las siguientes conclusiones:

Solo las roms de programa estan encriptadas, las de sonido y graficos no lo están.

  • En las roms encriptadas, solo el codigo del programa y los datos usando direcciones relativas de PC estan encriptadas..
  • Los vectores Stack Pointer y el Program Counter son los que estan encriptados, el resto de la tabla de vectores del 68000 no lo están.
  • Los valores encriptados son calculados fuera de la direccion donde están.
  • la encriptación tarbaja con valores de palabras, no con palabras largas o bytes.
  • El procesador 68000 puede ejecutar codigo normal no encriptado si este esta almacenado en la Ram del sistema, no en la rom.
  • El chip de encriptación se apaga si no recive codigo cada 8 segundos. Este codigo cambia de juego en juego.
  • Las diferentes versiones de lenguaje del mismo juego de cps2 usan una encriptación variable almacenada en la placa B del juegos.
  • Una nueva revisión de un juego usa la misma encriptación variable almacenada en la placa del juego como su predecesora.


Como podeis ver hay esta la clave de que necesiten todas las placas y de que no lo pueden hacer por software (con las roms de internet). Tambien se puede ver como raz es capaz de sacar revisiones de un mismo juego sin necesidad de la placa original, ya que con un eeprom burner es capaz de sustituir las roms de programa.

 

Hosted by www.Geocities.ws

1