Analisis de PND

Nacido del PKG Collisón Project, extraigo estos dos mensajes que postee en el, para que los creadores del PCP puedan continuar sin injecciones de otras ideas, aunque todas pueden ser complementarias.

Primer Post, basado en post de iamiei

hace tiempo desarrollo una teoria...

La PS3 baja los juegos de PS1 en PKG, pero al pasarlos a la PSP saca un PBP mas un "firma"

Antes cria que el PBP venia comprimido en un PKG y encriptado.

Ahora con esta info que pasas, esto es casi una certeza.

Si existe un exe y unas dlls, es mas que posible capturar las comunicaciones que se relizan. Pero lo mejor, es que existen un moton de descompiladores que son bastante buenos.

Lastima que la semana que viene me caso, sino intentaria echarle un vistazo, pero creo que el camino que se nos abre ahora es muy interesante, recordad que sony ha afirmado que sacara juegos de PS2 en la Store.

Si en vez de desencriptar el PBP del PKG, logramos montar un PKG desde un PBP, podriamos crear copias de seguridad de nuestros juegos de PS1 para usarlos en PS3 y PSP, y tendremos la posiblidad de intentar crear un PKG desde un ISO de PS2 (para hacernos copias de seguridad igualmente), cuando salgan los primeros PKG de PS2.

Unas Pruebas Interesantes

1- Bajarte el archivo que viene en la Info antes marcada, cambiar el path para que tire de tu archivo descargado, desconectar el PC de Inet, intentar pasar el archivo...

Si lo pasa, la posible clave de encriptación esta o en esa info, o es unica para todos los archivos descargados (estaria en el codigo de la aplicacion), por lo que no usaria una entidad certificadora para validar el archivo... esto es bueno

Si no lo pasa, la clave puede venir de una entidad certificadora externa, esto es malo, pero podemos probar desde otro PC en la red a hacernos pasar por la entidad certificadora (capturando toda la info enviada)

2- Intentar meter el archivo PKG en un medio de almacenamiento a la PS3 y ver si lo detecta como demo de PSP, de las que nos bajamos en la store (recordad que las demos de PS3 de la revista vienen grabadas en un BR o DVD visible desde PC, por lo que no debe ser imposible transferir la info), o usar el proxy server para pasarlo.

Si lo reconoce como archivo de Demo de PSP, el formato es el mismo que el de la PS3 (esto es bueno si se consigue ver el codigo del instalador en PC)

No lo reconoce como archivo de Demo de PSP, el formato no es el mismo, yo no seguiria rascando.

3- Si se pueden comprar juegos de PS1 en la store de PSP, hacer la prueba 2 y si es detectado como juego de PS1, buenas noticias, las copias de seguridad de nuestros juegos de PS1 son viables, si conseguimos que la prueba 1 haga la instalación sin red, ya sea bajo suplantación de la entidad certificadora, o porque el codigo del instalador tenga la clave.


Continuando con la siguiente información

Información escribió:EID=pngc
Desc=Wipeout® Pulse Demo
Size=15636496

[File]
C=http://zeus.dl.playstation.net/cdn/UP9000/NPUG70008_00/THArecBGpiYyNfulf50GlijfCw0PT0WQxPKjsAPuAqrCPbM65XAgKVeWRHXyAUeSk5ie15uPYnkslqlI3yeAalfHk5Q7eMXiaBVJ7.pkg

[DrmPNPD]
AID=785082f6ff04d60d
CID=UP9000-NPUG70008_00-WIPEOUTPULSEDEMO
LID=xxxxx@live.com
EPW=C834D1BB1F73E8D493337BC97557C7E523515D705070C3AE7A2750BDA5D7AE9BF5758520F3798E4EF2C309D132A4DEB4
KD=https://store.playstation.com/kdp.m
CA=https://store.playstation.com/cap.m

[DrmMGN]
T2=http://sclock.ww.np.community.playstation.net/mgntt/get



Tengo que decir que he tenido un poco de tiempo para mirar...

Y bueno, ahora voy a intentar mirar el codigo del programa...

Creo que las tres ultimas urls pueden abrir mucha info extra

Voy a ver si consigo sacar algo mas en claro...

De las tres pruebas que propuse para realizar...

He realizado yo mismo 2...

Primera, el programa requiere de conexión para ejecutarse

Segunda, el programa usa cierta información para saber como trabajar, pero otras son meramente informativas para el usuario...

[Info escribió:EID=pngc
Desc=Demo de Fireteam Bravo 2
Size=42212048
CC=ES

[File]
C=file:///C:/3nVEYjJ2Q0v6kJ6OGNkSyDaAL24rGWLjlnQK5gXyfl1y7lFsykwwnvPjxU1cm2kueGbLWVG7x9E5Bq7NSsUafYevLTNSx2xD40tgI.pkg

[DrmPNPD]
AID=4ae179b1c7c3a959
CID=EP9000-UCED90042_00-DPCSOCOMFTDEMO01
LID=xxxxxx@xxxxlxxxx
EPW=ECFD31248C8F165CAD1C6A5E51A96E3C23515D705070C3AE7A2750BDA5D7AE9BD2DB400B0235CDDD09F8FDB6F6BE55E1
KD=https://store.playstation.com/kdp.m
CA=https://store.playstation.com/cap.m

[DrmMGN]
T2=http://sclock.ww.np.community.playstation.net/mgntt/get]mas info


Vamos a ver, he bajado la demo de Patapom y la de Socom 2.

He descargado el PKG de Patapom por tamaño, y le he cambiado el file a un archivo local con formato de red....

He cambiado el tamaño del fichero, y nada mas.

el AID son en ambos XPI identicos, el CID, es distinto, pero parece no importar es el nombre normalizado del fichero de descarga.

El EPW es una meta clave con finalización identica en ambos ficheros, pero con un comienzo distinto, esto me hace pensar que es una clave hash aunque tengo que buscar mas sobre su contenido...

Esto ta cerquita cerquita...

PD: comparando la info de Patapom con la de el Crash comprado por PS3, no tenemos los ficheros... (pero puede ser por la diferencia de ser una DEMO de PSP y no un Juego de PSone)

Sigo agregando info...

Chorrada, esta es la formula de ejecución...
"C:\Archivos de programa\Sony\PLAYSTATION Network Downloader\psndl.exe" "%1"

Esto son los params soportados por el exe

%A.Te_Je=@}L?,dxBm-!>39qZm=-(m=pL*X9=Ae-! "%1"

Creo que además de la ejecución conectado, se necesita que el LID tenga un logado reciente, en esto creo que entra en juego el T2 para comprobar si existe un Token valido...

Aunque probando con archivos no tocados, tambien me da el mismo error de red, asi que posiblemente se haya caido el PSN de PS3, alguien me lo puede confirmar ??? mi PS3 esta a 700Km

Y aqui comienza lo nuevo

He realizado la primera prueba, y he trasteado con los XPI...

Se que se requiere de conexion a la red para poder validar los archivos y obtener las firmas.

Mucha información del XPI no es mas que para poder mostrar info al usuario, como el Size y el Name, con esto se muestra la ventana de ejecución de la aplicación.

Me he permitido cambir datos entre dos XPI, e incluso meter datos aleatoriamente para poder definir sus errores.

Las urls de KD y CA son https, que requieren de un token valido, aunque aun sigo buscando.

Estoy debugeando el exe del programa, con la ayuda del Win32dsASM, pero la verdad no es comodo...

Se aceptan colaboraciones y recomendaciones de software.

PD: Pronto dejare parado todo hasta el 5 de mayo, asi que si alguien quiere seguir, le puedo pasar toda la info de la que dispongo
Muy bueno! Abriendo nuevas vias de investigacion! jejeje. Hombre pos si puedes psamelo, i le echare una mirada, k yo tngo la ps3 mas cerca ;) jejeje. Te envio un MP con mi email, y cuando puedas me lo envias! jeje ADios!
schezar escribió:Lastima que la semana que viene me caso

Enhorabuena.
Sin duda interesante cuanto menos esta otra via de investigacion.

Y como han dicho por ahi ENHORABUENA!!! :-p
Sacado del listado de la Store de PC el PKG de mi Crash Bandicoot

nueva info escribió:entitlementId=EP9000-NPEE00001_00-GCRASHBANDS00001
productId=EP9000-NPEE00001_00-GCRASHBANDS00001
contentUrl=http://zeus.dl.playstation.net/cdn/EP9000/NPEE00001_00/borrado por seguridad.pkg
drmCategory=1
contentSize=483577040
productName=34charsHex


Notas preliminares esto monta un enlace que abre el programa de instalacion de la store... no he visto mas info que esta en el codigo fuente de la pagina... y he podido bajar el PKG para comparlo con el que baje de la PS3.

Resultados... poco a poco, auqui no estan las KD y CA... el instalador no da el nombre del fichero... así que como antes dije, el XPD tiene info de mas.

He revisado diff entre mi PKG de PS3 y el ahora bajado y no encuentro nada, pero no tengo claro si es necesario hacer un Exam Diff Binary para encontrar alguna... no tengo mis herramientas de desarrollo normal, asi que me quedare con las dudas, como no me de por hacerme un programa rapido en C

He probado las diferencias de los archivos una vez instalados en la PSP, y:

Eboot.pbp genera el mismo PBP, aunque como antes no tengo claro si requiere de un Diff Binario

Document.dat, genera el mismo archivo que el de PS3, en esto no tengo dudas.

KEYS.BIN, este archivo no es generado.

¿¿Como el archivo carece de las KD y CA, alguien podria probar si es necesario tener conectada la PS3 a inet para pasar un juego de PSone a la PSP??

Luego intentare hacer la prueba desde un XPD escrito a manubrio y desconectado de la red... aunque sin saber todos los datos que me puedan faltar, si falla no podre saber si es por necesidad de conexión... pero se intentara

Info sobre estructura de Zeus; teniendo encuenta el ProductID, PID o CID, en todos los files bajados, el primer grupo de caracteres es una carpeta principal, el segundo grupo de caracteres una sub carpeta, y tengo mas o menos claro, tras haber visto esto mismo en otros hilos, que como todos los PKG tienen la misma longitud de caracteres al igual que el tercer grupo de caracteres del CID, que el PKG es el nombre del tercer grupo con algun tipo de Hash, sin mis herramientas normales, no puedo probar a buscar algun metodo para obtener el nombre de un PKG desde el CID... pero se podria buscar info sobre esto...

El programa que uso para seguir el codigo, es free ware, pero como defecto no es muy potente, asi que si alguien conoce alguno mejor, se aceptan nombres...

Creo claramente que tenemos la herramienta para firmar codigo a la inversa...

Puff tengo poco tiempo... haber hasta donde puedo llegar... antes de que me case... aun asi espero que otros sigan por aqui.

PD; black_oscar te he escrito un correo
PD; guzmanus, blaster, gracias, eso es antiguete, xD es este sabado
gracias, sigo investigando...

Novedad importante, gracias al programa IDA pro... tengo una buena noticia... para mi y para cualquiera, este programa esta compilado parte de su contenido en debug...

Esto es, que cuando vuelva a mi curro podre ver todo ese codigo completo tal y como nacio...

Tambien tengo bastante mas claro el funcionamiento de la store de PC a la hora de iniciar descargas....


Lo mas interesante es las librerias a las que hace referencia...

ADVAPI32 y KERMEL32 (sobretodo para el control de ficheros e hilos, pero lo que nos interesa lo hace ADVAPI) tambien hay una referencia a los controles para poder usar la pequeña aplicación...


Y aqui podeis ver la info sobre esta libreria

Info sobre ADVAPI32

Demasiado facil de momento...

Falta capturar Keys... necesito hacer un debug del software...
Parece que las keys se genera en base a unos flags que estoy investigando ahora...
Ver de que forma usa Kermel para montar el PBP y hacer el proceso inverso
Buenas Noches,

me alegra saber que la idea que se me paso por la cabeza pueda ser de utilidad.

Pero no entiendo como este programa que esta en el store a traves de intenet no se halla investigado antes, con lo interesante que parece a mi vista.

Cuando instalas una demo, a parte de entrar en el enlace de descarga del PKG, entraba o eso parecia con Proxy server en otra pagina, pero yo creo que es una comprobacion de la aplicacion para ver que esta el PC conectado a internet y no le esten haciendo cosas rarillas.
No da ningun error al intentar cambiar ese PKG de PSP por otro de igual, de PSP, pero si con uno de PS3 a la hora de pasarlo a la PSP,
pero esa segunda conexion a internet ya la hace antes de hacer el proceso de copiado en PSP.

Creo que esa aplicación solo desemcripta los archivos PKG de PSP.

Por si acaso, probe con muchas demos de PS3 y todas dieron fallo en la aplicación.
mas fuentes para cuando este con las herramientas del curro

Es normal que Kaske a la hora de hacer la conversión del contenido de un PS3 para PSP, no creo que trabaje solo PKG de PSP, en el poco codigo que he podido ir limpiando, he visto como hace ciertos controles sobre el tipo de file y donde debe ser grabado.

Esta claro que si el tipo le sale DemoPS3, como no esta soportado, debe reventar la aplicación y da un simple CodeError... por lo que lo tienen controlado.

Iamei, puedes pasar por ejemplo la demo de Patapon en una tarjeta de memoria y pasarla a la PS3;

Si lo reconoce trata de instalarlo, te pedira que conectes la PSP y si logra conectarla...

esto cerraria el ciclo de si solo son compatibles en estructuras los PKG de PSone, aunque en japon existen demos para PSP en la store de PS3, y no nos da error, por lo que debe ser conocido.

Ahora trato de encontrar de donde sacan los flags para la llamada de la funcion CryptDeCrypt (porque esos mismos flags seran pasados para la función CryptEnCrypt, y eso abriria las puertas a otros que tengan mas tiempo para ver como se hace el trabajo de escritura de los files)
He estado mirando y a unica manera de pasar las demos es a traves de red con o sin el Proxy server.
Las demos de PSP al instalarlas en la PS3 desde red, da un codigo de error a la hora de activarse, lo que me da pensar que la PS3 si que reconoce que le estas calzando otra demo de PSP que no corresponde a la que quieres descargarte.
Estoy un tanto bloqueado, sin poder probar cosas con la PS3, y sin tener mis herramientas normales...

No hay nada como tener grandes herramientas y maquinas para darte cuenta de porque a veces es mejor pagar (usando programas freeware o GNU y mi PC de sobremesa xD)

Por lo que no creo que personalmente me complique mucho mas, hasta la vuelta en Mayo, estare por aqui para los que quieran preguntar cualquier cosa hasta el sabado.

Con suerte en Mayo ya tenemos algo para PS3 y no hace falta seguir por este lado...

Las ultimas conclusiones...

Y son mas por como actua el programa y ciertas funciones vistas, a lo visto completamente en el codigo.

La escritura del archivo final se hace de la memoria de la maquina, pero dado que algunas Demos y sobretodo los juegos de PSone ocupan 400Mb, el consumo de memoria de la aplicación hace suponer que la Decrypt se hace por trozos de files que luego son volcados al fichero (directamente en la PSP).

De las cuatro librerias que usa el programa, una de ellas esta enteramente dedicada al trabajo con el fichero finalizado, otra tiene llamadas a los componentes de lectura en la MEM del PC, otra tiene componentes de presentación (forms) y otra tiene llamada a componentes de impersonalización en servidores remoto, llamadas a crypt y decrypt.

Creo que las llamadas que encontre originariamente y que me hicieron suponer que esto estaba mascado, son para obtener las keys encryptadas, el control del token remoto se hace por impersonalización contra los servidores de la store (esto tiene su lado bueno y malo a la hora de intentar crear una simulación, y son mas las cosas malas que las buenas).

Si es cierto que las keys llegan encriptada, aun tendriamos que encontrar el proceso interno de desencriptación del file, y primero de las keys.


Otras conclusiones a nivel simplemente funcional...

Mi PC al hacer el uso de este programa se pone al 100%, no he podidio probarlo en un multinucleo...

Si es cierto que la PS3 recibe toda la información encryptada, que igualmente esta encriptado los BR y el HD, la potencia del CELL deberia ser como minima para permitir el juego normal como 100 veces mas el del procesador que tengo en este PC (2.8 Ghz Centrino), y poner la CPU al 100% todo el rato.

Escuchando la PS3, se ve que a veces se relaja, esto contradice que todo este encriptado (a menos que tenga procesadores especificos, y no vale uno generico con instrucciones especifica, pues el cambio de instrucciones en SPU dada la poca memoria que tienen, haria perder ciclos).

Creo que todos los PKG llegan encriptados para comprobar la seguridad, pero que una vez instalado los archivos se encuentran desencriptados.

Posiblemente sea cierto que el HD tenga encriptación, pero muchos HD, y todos los de portatil (2,5") de 20Gb o mas (que casualidad) soportan la escritura encriptada por el propio HD, con una encriptación basica y proporcionada por el Sistema a nivel hard, esto evita que los datos de un portatil robado pueda ser leidos en otra maquina, con unas claves de arranque y bios, te aseguras no perder info de la empresa. Resumen... la encritpación del HD viene dada por el propio HD

Y la teoria de que los BR estan encriptados ha caido con la nueva lectora de Liteon, pues dudo que sea capaz de reconocer contenido encriptado (o quiza sean unidades lectoras de PS3 reutilizadas y por eso lo leen), pero en caso de ser así, dado que los BR los escribe otra empresa, todos deberian llevar la misma firma. Resumen... seira el propio lector de BR el que desencriptara el contenido del BR.


A nivel de consumo de recursos, PS3 no esta preparada para derrochar recursos en cosas tales como desencriptar todo lo que llega al Cell y encriptarlo a su salida (recordemos que el CELL da de comer a otros elementos del sistema con mucha menor capacidad de procesos).

Con estas conclusiones, solo puedo animar a los que siguen atacando al hardware (y sobretodo a los que intentan ver que se transmite), pues es mas que valido que en esta generación un Chip pueda hacernos un gran aporte (aunque solo en el lector) a las copias de seguridad

Para la generación de instalables, solo queda un recurso, aprender a firmar (en base a como trabaja el programa que se trata en este hilo) y aprender a hacernos pasar por Sony a la hora de instalar el software en PS3.

Quizas no tengamos que aprender a firmar, sino solo crear archivos con una firma Trucha como en otras aplicaciones, y luego hacernos pasar por Sony...

Ahora si, hasta este sabado, si alguien pregunta por privado o por publico, me dedicare a contestetar, y desde este sabado hasta mayo, me dedicare a disfrutar ;)

Espero que estos hilos puedan seguir por aqui.

Hilo sobre Structs de PKG

Hilo sobre Sistemas Criptograficos de PS3
Hilo muy interesante, 5 estrellazas para ti y ánimo.
Animo y espero que nos mantengas informados, que tu hilo es muy interesante.
Suerte con tu equipo y herramientas.
Gran hilo 5 estrellazas una buena investigacion :)
gracias a todos...

Ahora si que si... tengo que dejar esto hasta mayo...

Cuando vuelva intentare retomarlo

De nuevo gracias a los alagos.

Y mas gracias aun a que no haber vertido criticas...

Os animo a que continuis investigando...
si esto lo leyera mientras las ausencia d_a seria fetem....por ayudar.

d
ew
buenas a todos, ya he regresado del viaje de novios...

Pero el portatil con el que estaba investigando estaba muerto al volver (literalmente), asi que aprobechare estos dias para descansar y retomare las investigaciones a la vuelta al curro el lunes que viene...
Felicitaciones [oki] , Suerte con la investigación
17 respuestas