Trabajo Fin de Grado sobre Mecanismos de protección de datos en videojuegos.
Para este trabajo se aplicaron conceptos de ingeniería inversa sobre videojuegos (ROM Hacking) para estudiar y documentar los diferentes formatos y algoritmos de protección para evitar tanto traducciones no oficiales, extracción de contenido con derechos de autor o acciones no autorizadas en comunicaciones inalámbricas.
1. Universidad de Granada
Mecanismos de protección de datos en videojuegos
Alumno:
Benito Palacios Sánchez
Tutor:
Dr. D. Pedro García Teodoro
Dpto. Teoría de la Señal, Telemática y
Comunicaciones
15 de julio de 2015
2. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Objetivo
Analizar, estudiar y documentar algoritmos de protección de
datos implementados en videojuegos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 2 / 33
3. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 3 / 33
4. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 4 / 33
5. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Motivación
Los videojuegos son una
clave de nuestra cultura
actual.
Su industria es la segunda
con más ganancias.
Preocupación por
protección anti-copias,
derechos de autor,
trampas.
Figura: Estadísticas sobre jugadores
en EE. UU. Fuente: http://www.esrb.org
(2010).
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 5 / 33
6. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Motivación
Los videojuegos son una
clave de nuestra cultura
actual.
Su industria es la segunda
con más ganancias.
Preocupación por
protección anti-copias,
derechos de autor,
trampas.
Figura: Estadísticas sobre la
industria de videojuegos en EE. UU.
Fuente: http://www.esrb.org (2009).
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 5 / 33
7. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Motivación
Los videojuegos son una
clave de nuestra cultura
actual.
Su industria es la segunda
con más ganancias.
Preocupación por
protección anti-copias,
derechos de autor,
trampas.
Figura: Estadísticas sobre la
industria de videojuegos en EE. UU.
Fuente: http://www.esrb.org (2009).
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 5 / 33
8. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
ROM Hacking
Ingeniería inversa
La ingeniería inversa es el proceso de analizar un sistema
para identificar sus componentes y relaciones y, crear una
representación del sistema en otro formato o a un nivel más
alto de abstracción.
ROM Hacking
Ingeniería inversa sobre videojuegos. El nombre viene
realizar modificaciones (hacks) sobre juegos que suelen
distribuirse en memorias de solo lectura (Read Only Memory).
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 6 / 33
9. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
ROM Hacking
Ingeniería inversa
La ingeniería inversa es el proceso de analizar un sistema
para identificar sus componentes y relaciones y, crear una
representación del sistema en otro formato o a un nivel más
alto de abstracción.
ROM Hacking
Ingeniería inversa sobre videojuegos. El nombre viene
realizar modificaciones (hacks) sobre juegos que suelen
distribuirse en memorias de solo lectura (Read Only Memory).
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 6 / 33
10. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 7 / 33
11. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Traducciones no oficiales y Pokémon
Franquicia de The Pokémon
Company fundada en 1995.
Juegos desarrollados por Game
Freak.
Segunda franquicia más exitosa
a nivel mundial.
Nº seguidores + retrasos en
lanzamientos ⇒ traducción no
oficial.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 8 / 33
12. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Traducciones no oficiales y Pokémon
Franquicia de The Pokémon
Company fundada en 1995.
Juegos desarrollados por Game
Freak.
Segunda franquicia más exitosa
a nivel mundial.
Nº seguidores + retrasos en
lanzamientos ⇒ traducción no
oficial.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 8 / 33
13. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Traducciones no oficiales y Pokémon
Franquicia de The Pokémon
Company fundada en 1995.
Juegos desarrollados por Game
Freak.
Segunda franquicia más exitosa
a nivel mundial.
Nº seguidores + retrasos en
lanzamientos ⇒ traducción no
oficial.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 8 / 33
14. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Traducciones no oficiales y Pokémon
Franquicia de The Pokémon
Company fundada en 1995.
Juegos desarrollados por Game
Freak.
Segunda franquicia más exitosa
a nivel mundial.
Nº seguidores + retrasos en
lanzamientos ⇒ traducción no
oficial.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 8 / 33
15. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Ficheros en Nintendo DS
Sistema de ficheros en NDS.
Archivo binario con textos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 9 / 33
16. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Ficheros en Nintendo DS
Sistema de ficheros en NDS.
Archivo binario con textos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 9 / 33
17. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Ficheros en Nintendo DS
Sistema de ficheros en NDS.
Archivo binario con textos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 9 / 33
18. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Depuración de juegos
Emulador No$gba para NDS.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 10 / 33
19. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Depuración de juegos
Emulador No$gba para NDS.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 10 / 33
20. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Búsqueda de textos con codificación no estándar
RelativeSearch.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 11 / 33
21. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Búsqueda de textos con codificación no estándar
RelativeSearch.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 11 / 33
22. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Puntos de interrupción en código
Punto de interrupción.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 12 / 33
23. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Puntos de interrupción en código
Bucle de descifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 12 / 33
24. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Metodología
Puntos de interrupción en código
Inicialización de clave.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 12 / 33
25. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Cifrado XOR en Pokémon Perla y Diamante
Textos: codificados y cifrados
ushort clave = 0x91BD3 * (num + 1);
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
clave = (ushort )( clave + 0x493D );
}
Imágenes: cifrado del bloque de datos
uint clave = data[data.Length - 1];
for (int i=data.Length - 1; i >=0; i--){
data[i] = data[i] ^ clave;
clave = (uint )( clave * 0x41C64E6D + 0x6073 );
}
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 13 / 33
26. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Cifrado XOR en Pokémon Perla y Diamante
Textos: codificados y cifrados
ushort clave = 0x91BD3 * (num + 1);
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
clave = (ushort )( clave + 0x493D );
}
Imágenes: cifrado del bloque de datos
uint clave = data[data.Length - 1];
for (int i=data.Length - 1; i >=0; i--){
data[i] = data[i] ^ clave;
clave = (uint )( clave * 0x41C64E6D + 0x6073 );
}
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 13 / 33
27. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Cifrado XOR en Pokémon Perla y Diamante
Textos: codificados y cifrados
ushort clave = 0x91BD3 * (num + 1);
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
clave = (ushort )( clave + 0x493D );
}
Imágenes: cifrado del bloque de datos
uint clave = data[data.Length - 1];
for (int i=data.Length - 1; i >=0; i--){
data[i] = data[i] ^ clave;
clave = (uint )( clave * 0x41C64E6D + 0x6073 );
}
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 13 / 33
28. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Cifrado XOR en Pokémon Perla y Diamante
Textos: codificados y cifrados
ushort clave = 0x91BD3 * (num + 1);
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
clave = (ushort )( clave + 0x493D );
}
Imágenes: cifrado del bloque de datos
uint clave = data[data.Length - 1];
for (int i=data.Length - 1; i >=0; i--){
data[i] = data[i] ^ clave;
clave = (uint )( clave * 0x41C64E6D + 0x6073 );
}
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 13 / 33
29. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Cifrado XOR en Pokémon Perla y Diamante
Textos: codificados y cifrados
ushort clave = 0x91BD3 * (num + 1);
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
clave = (ushort )( clave + 0x493D );
}
Imágenes: cifrado del bloque de datos
uint clave = data[data.Length - 1];
for (int i=data.Length - 1; i >=0; i--){
data[i] = data[i] ^ clave;
clave = (uint )( clave * 0x41C64E6D + 0x6073 );
}
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 13 / 33
30. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
31. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
32. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
33. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
34. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
35. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
36. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
37. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Saga Pokémon
Archivos ofuscados en Pokémon Blanco y Negro
Archivos ofuscados:
Sin nombre ni clasificación.
Textos:
Codificación UTF-16.
Cifrado XOR, moviendo 3 bits de la clave.
ushort clave = (num + 3) * 0x2983;
for (int i=0; i<data.Length; i++){
data[i] = data[i] ^ clave;
ushort temp = clave & 0x1FFF;
clave = (temp <<3) | (clave > >13)
}
Imágenes:
Cambio de formato.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 14 / 33
38. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Algoritmos de protección encontrados en otros juegos:
Pokémon HeartGold y SoulSilver: Igual que Pokémon
Perla y Diamante.
Pokémon Conquest: Cifra y codifica textos. Imágenes con
formatos no estándar.
Ninokuni - El Mago de las Tinieblas: Cifra estadísticas de
personajes y monstruos. Añade algoritmos de integridad
en el archivo de guardado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 15 / 33
39. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Algoritmos de protección encontrados en otros juegos:
Pokémon HeartGold y SoulSilver: Igual que Pokémon
Perla y Diamante.
Pokémon Conquest: Cifra y codifica textos. Imágenes con
formatos no estándar.
Ninokuni - El Mago de las Tinieblas: Cifra estadísticas de
personajes y monstruos. Añade algoritmos de integridad
en el archivo de guardado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 15 / 33
40. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Algoritmos de protección encontrados en otros juegos:
Pokémon HeartGold y SoulSilver: Igual que Pokémon
Perla y Diamante.
Pokémon Conquest: Cifra y codifica textos. Imágenes con
formatos no estándar.
Ninokuni - El Mago de las Tinieblas: Cifra estadísticas de
personajes y monstruos. Añade algoritmos de integridad
en el archivo de guardado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 15 / 33
41. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 16 / 33
42. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Libros electrónicos
Ninokuni: La ira de la Bruja Blanca
Versión para PS3 con ligeros
cambios. Llegó a América y Europa.
Libro digitalizado en alta calidad.
No hay algoritmos de protección,
pero su formato no es estándar.
El resto de ficheros (texto, audio,
etc) sí están cifrados.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 17 / 33
43. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Libros electrónicos
Ninokuni: La ira de la Bruja Blanca
Versión para PS3 con ligeros
cambios. Llegó a América y Europa.
Libro digitalizado en alta calidad.
No hay algoritmos de protección,
pero su formato no es estándar.
El resto de ficheros (texto, audio,
etc) sí están cifrados.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 17 / 33
44. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Libros electrónicos
Ninokuni: La ira de la Bruja Blanca
Versión para PS3 con ligeros
cambios. Llegó a América y Europa.
Libro digitalizado en alta calidad.
No hay algoritmos de protección,
pero su formato no es estándar.
El resto de ficheros (texto, audio,
etc) sí están cifrados.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 17 / 33
45. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Libros electrónicos
Ninokuni: La ira de la Bruja Blanca
Versión para PS3 con ligeros
cambios. Llegó a América y Europa.
Libro digitalizado en alta calidad.
No hay algoritmos de protección,
pero su formato no es estándar.
El resto de ficheros (texto, audio,
etc) sí están cifrados.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 17 / 33
46. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Guitar Hero: On Tour
Ficheros comprimidos con formato
propietario.
El algoritmo ocupa 1.900
instrucciones máquina.
No hay compresión en las
siguientes ediciones.
Formato canciones: Vorbis OGG.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 18 / 33
47. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Guitar Hero: On Tour
Ficheros comprimidos con formato
propietario.
El algoritmo ocupa 1.900
instrucciones máquina.
No hay compresión en las
siguientes ediciones.
Formato canciones: Vorbis OGG.
Figura: Mensajes de error en el código.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 18 / 33
48. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Guitar Hero: On Tour
Ficheros comprimidos con formato
propietario.
El algoritmo ocupa 1.900
instrucciones máquina.
No hay compresión en las
siguientes ediciones.
Formato canciones: Vorbis OGG.
Figura: Mensajes de error en el código.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 18 / 33
49. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Guitar Hero: On Tour
Ficheros comprimidos con formato
propietario.
El algoritmo ocupa 1.900
instrucciones máquina.
No hay compresión en las
siguientes ediciones.
Formato canciones: Vorbis OGG.
Figura: Mensajes de error en el código.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 18 / 33
50. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Duet
Juego para plataformas móviles (Android,
iOS).
La banda sonora se vende en iTunes por
3.99€.
Se encuentra desprotegida en la carpeta
del juego en formato estándar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 19 / 33
51. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Duet
Juego para plataformas móviles (Android,
iOS).
La banda sonora se vende en iTunes por
3.99€.
Se encuentra desprotegida en la carpeta
del juego en formato estándar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 19 / 33
52. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Bandas sonoras
Duet
Juego para plataformas móviles (Android,
iOS).
La banda sonora se vende en iTunes por
3.99€.
Se encuentra desprotegida en la carpeta
del juego en formato estándar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 19 / 33
53. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
54. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
55. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
56. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
57. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
58. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Mecanismos en otros juegos
Información en otros juegos estudiados:
100 Classic Book Collection: Sin protección en e-books.
Elite Beat Agents: Sin protección en canciones.
Guitar Rock: Sin protección en canciones.
Música de juegos de Level-5: Codificación propietaria.
Vídeos de Ninokuni para PS3: Codificación MPEG.
Vídeos en NDS: Codificación propietaria desconocida.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 20 / 33
59. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 21 / 33
60. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet (u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
61. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet(u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
62. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet(u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
63. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet(u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
64. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet(u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
65. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Captura de paquetes
Estrategia
man-in-the-middle
Figura:
Man-in-the-middle
Modificación DeSmuME.
Paquetes PCAP.
void create_packet ();
void save_packet(u8* packet ,u32 len );
void save_adhocPacket (u8* packet ,
u32 len , void* addr , bool isSent );
Exportar paquetes.
HandleDebugEvent_Execute() en
debug.cpp.
Figura: RC4Finder.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 22 / 33
66. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
67. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Nintendo DS ConnTest NAS DLC Server
GET
200 OK
[login] userid, gamecd, passwd, makercd
[200 OK] challenge, token
[SVCLOC] userid, gamecd, passwd, makercd
[200 OK] servicetoken, svchost
[count] gamecd, passwd, token
[200 OK] 0
[list] gamecd, passwd, token, offset, num
[200 OK] tweet111209.bin 2416
[content], gamecd, passwd, token, contents
[200 OK] datos
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
68. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Nintendo DS ConnTest NAS DLC Server
GET
200 OK
[login] userid, gamecd, passwd, makercd
[200 OK] challenge, token
[SVCLOC] userid, gamecd, passwd, makercd
[200 OK] servicetoken, svchost
[count] gamecd, passwd, token
[200 OK] 0
[list] gamecd, passwd, token, offset, num
[200 OK] tweet111209.bin 2416
[content], gamecd, passwd, token, contents
[200 OK] datos
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
69. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Nintendo DS ConnTest NAS DLC Server
GET
200 OK
[login] userid, gamecd, passwd, makercd
[200 OK] challenge, token
[SVCLOC] userid, gamecd, passwd, makercd
[200 OK] servicetoken, svchost
[count] gamecd, passwd, token
[200 OK] 0
[list] gamecd, passwd, token, offset, num
[200 OK] tweet111209.bin 2416
[content], gamecd, passwd, token, contents
[200 OK] datos
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
70. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Nintendo DS ConnTest NAS DLC Server
GET
200 OK
[login] userid, gamecd, passwd, makercd
[200 OK] challenge, token
[SVCLOC] userid, gamecd, passwd, makercd
[200 OK] servicetoken, svchost
[count] gamecd, passwd, token
[200 OK] 0
[list] gamecd, passwd, token, offset, num
[200 OK] tweet111209.bin 2416
[content], gamecd, passwd, token, contents
[200 OK] datos
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
71. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Servidores para Nintendo DS
Nintendo DS ConnTest NAS DLC Server
GET
200 OK
[login] userid, gamecd, passwd, makercd
[200 OK] challenge, token
[SVCLOC] userid, gamecd, passwd, makercd
[200 OK] servicetoken, svchost
[count] gamecd, passwd, token
[200 OK] 0
[list] gamecd, passwd, token, offset, num
[200 OK] tweet111209.bin 2416
[content], gamecd, passwd, token, contents
[200 OK] datos
Vulnerabilidades:
Puerto 80 del NAS
abierto.
Contraseña no
usada.
Autenticación
simple.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 23 / 33
72. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
73. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
74. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
75. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Figura: Preguntas, respuesta y solución de una partida
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
76. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Figura: Preguntas, respuesta y solución de una partida
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
77. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Multijugador
Preguntados
Trivial para plataformas móviles.
Vulnerabilidades:
Comunicación HTTP.
Solución enviada antes de
preguntar.
Figura: Preguntas, respuesta y solución de una partida
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 24 / 33
78. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Duet
Niveles extras por 0,99€.
BD con preferencias sin
proteger.
Ya incluidos pero
desactivados.
Se puede activar a mano.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 25 / 33
79. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Duet
Niveles extras por 0,99€.
BD con preferencias sin
proteger.
Ya incluidos pero
desactivados.
Se puede activar a mano.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 25 / 33
80. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Duet
Niveles extras por 0,99€.
BD con preferencias sin
proteger.
Ya incluidos pero
desactivados.
Se puede activar a mano.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 25 / 33
81. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Duet
Niveles extras por 0,99€.
BD con preferencias sin
proteger.
Ya incluidos pero
desactivados.
Se puede activar a mano.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 25 / 33
82. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Duet
Niveles extras por 0,99€.
BD con preferencias sin
proteger.
Ya incluidos pero
desactivados.
Se puede activar a mano.
Figura: Filas con estado de los contenidos extras
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 25 / 33
83. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
84. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
85. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
86. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
87. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
88. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
89. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Contenidos descargables
Download Play
Compartir demos con comunicación inalámbrica ad-hoc.
Problema:
Envío de código de una consola a otra.
El código principales se firman con RSA.
Solución de Nintendo:
Comprobar integridad con HMAC.
Solo si con Download Play.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 26 / 33
90. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 27 / 33
91. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
92. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
93. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
94. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
95. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
96. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
97. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
98. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
99. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
100. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en ficheros
Empaquetar ficheros.
Implementaciones largas (1.900 líneas).
Compresión diferente en cada cabecera.
Ofuscar nombre de ficheros y directorios.
Cifrado XOR.
No usar claves estáticas.
Codificación de caracteres no estándar.
Desordenar caracteres.
Cifrado del archivo de tipografía.
Nuevos formatos frente a cifrado.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 28 / 33
101. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
102. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
103. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
104. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
105. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
106. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
107. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
108. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Seguridad en comunicaciones
HTTPS vs HTTP.
Cerrar puertos de servidores.
Diseño del protocolo.
Autenticación con contraseña vs reto.
Comprobar la contraseña.
Cifrado y comprobación de integridad en descargas.
Proteger activación de contenido descargado.
Transmisión segura de código entre dispositivos.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 29 / 33
109. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Índice de contenidos
1 Introducción
2 Traducciones no oficiales
Metodología
Saga Pokémon
3 Contenido con derechos de autor
Libros electrónicos
Bandas sonoras
4 Servicios en línea
Multijugador
Contenidos descargables
5 Recomendaciones
6 Conclusiones
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 30 / 33
110. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
111. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
112. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
113. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
114. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
115. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Conclusiones
Objetivos alcanzados:
Identificar problemas no tratados en la literatura.
Desarrollar software.
Aprender conceptos de bajo nivel en software y hardware
incluyendo el lenguaje ensamblador ARM.
Diseñar metodologías de ingeniería inversa y captura de
paquetes.
Analizar 21 juegos.
Aprender LATEX.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 31 / 33
116. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
117. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
118. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
119. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
120. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
121. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
122. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
123. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
124. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
125. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Trabajo futuro
Estudios:
Seguridad en videoconsolas y sus exploits.
Algoritmos de integridad en archivos de guardado.
Mecanismos anti-copia físicos y digitales.
Protocolos de micropagos en videojuegos.
Seguridad de aplicaciones de ordenador (Steam).
Desarrollos:
Implementar mecanismos estudiados.
Explorador de juegos avanzado.
Depurador de código remoto.
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 32 / 33
126. Introducción Fan-traducciones Contenido con copyright Servicios en línea Recomendaciones Conclusiones
Gracias por su atención
Repositorio en GitHub: https://github.com/pleonex/AiroRom
Benito Palacios Sánchez (UGR) Mecanismos de protección de datos en videojuegos Julio de 2015 33 / 33