Hola lince austriacos!
Aviso: No soy un hacker, ni nada por el estilo, solo un entusiasmado programador que esta interesado en la Reverse Engineering (Que se yo como se dice en español)
Algunos recuerda o jugo este juego re boludo para hacerse el canchero? (Que decia el pelotudo)
Bueno, resulta que soy un poco cono en este juego y me pone muy REKT
Por lo tanto, empezaba a entrar respuesta2.com y a esas paginas que no sirven para nada la verdad, porque quedas como alto pavo intentando buscar y bueh, es al pedo
Asi que bueno, me puse las pilas, entre al preguntados de facebook y me puse a ver desde fondo como funcionaba, ya que todo es de parte web
Si alguno ya habra jugado, se habran dado cuenta que el juego solo carga una vez que respondes una pregunta!
No cuando estas girando la ruleta o apretas una opcion, simplemente cuando termina la pregunta
Entonces...Hay algo mal con el juego me dije!
Entonces abri el juego y me puse a inspeccionar cada elemento del juego para ver como funciona, de que manera esta escrito
Wow...Que gran pedazo de...NADA!
No se que esperaba la verdad, entonces me dirigi al plan B, revisar los scripts de la pagina
Y de nuevo, me encontre con esto, es imposible de leerlo para cualquier persona, pero, recorde que la semana pasada habia encontrado algo muy copado, que se llama formatter, fusque uno para javascript y con eso obtuve un codigo "Legible"
21717 lineas...Esta bien...Esto no es tan legible tampoco! Pero bueno, me puse con el magico ctrl+f a buscar cosas y la verdad que me costo muchisimo entender el codigo, ya que de alguna manera estaba programado con una libreria...Rara...
Hasta que encontre que se trataba de Backbone.Marionette
Es muy relevante, ya que con esto entendi como funcionaba el sistema
Y ya con esto, me pude poner a debuggear
No se asusten, descubri ese metodo en una linea que hablaba mucho de la Api del juego, nada raro
Con esto, descubri como los metodos se llamaban...Pero...Como los llamaban?!
Aca es cuando mas nervioso me puse ya que no entendia nada de lo que pasaba
Hasta que entendi como funcionaban las definiciones de metodos
img=http://k30.kn3.net/taringa/5/A/F/8/B/6/gonzalolog/356.jpg]
Esperen un segundo...Esas son urls!?!?
Entonces entre a la seccion de networking
Y aca aparece toda la actividad de red que hace la pagina, tanto como los recursos que baja, como los pedidos
Entonces...Se me ocurrio entrar a una partida
Y asi observe la comunicacion de red que pasa cuando juego una partida
De repente...Carajo...Soy dios!
Explore un poco la table JSON y encontre...Oro *-*
La pregunta que va a tocar, con categoria, nombres y respuesta correcta! (0 significa que va a ser la primera opcion)
Y sin leer la pregunta presione la primera opcion...Y logicamente gane
Es sencillo leer este valor...Pero...Que tal si quisiera hacer una aplicacion para siempre poder ganar, siempre quise crear una clase de hack...Pero...Mucha info no tenia, entonces desde la consola abri el link que hacia el pedido de las respuesta
Y para mi sorpresa, cada vez que apretaba f5, me mostraba la info para la proxima respuesta!
Pero...Tengo 3 variables
api.preguntados.com/api/users/41973572/games/3735708042?_=1437511782766
POR SUPOSICIÓN
Dije que 41973572 es mi usuario...Y note que en la url, estaba esta direccion:
preguntados.com/game/?fb_source=fbpage#game/3735708042
SI! Ya tengo 2 de 3 variables

(Mentira, solo tengo una)
Ya que no se cual es mi usuario, solo es un numero arbitrario
Entonces que hice? Lo mismo que hice al principio cuando encontre la url, verificar CADA elemento que aparezca en network que muestre mi valor de usuario
Lo encontre! Ahora tengo que simular que hago el pedido de la imagen, para poder obtener mi id de nuevo
Copie y pegue el cURL para entender como es que hacia el pedido, y me encontre lo que tengo que entregar:
-Content-Type: application/json; charset=UTF-8 // Un string json
-Cookie //La cookie de la pagina
-FB Token //QUE?
-Facebook logon info // WOW WOW QUE
Aca fue cuando las cosas parecieron ponerse mas complejas!
Pero no me asuste...Y volvi mucho mas atras!
Hasta que encontre mi info de usuario:
Entonces encontre el link, el cual...Me sigue pidiendo un token! Como lo obtengo

Fui a la pagina de desarrolladores de facebook y encontre una funcion que puede hacerlo:
Una vez que tuve el token, con tan solo abrir el link en el navegador, obtuve los datos del token, mi usuario de fb y mi email en formato json!
Y con eso...Automaticamente podia obtener mi usuario de Preguntados
Despues de unos largos minutos renegando con el POST y GET logre tener todo lo que necesitaba, ahora era el momento preciso, en el que escribia el codigo:
Pero...Necesitaba una manera de injectar el codigo en la pagina de preguntados...Ya que no da para hacerlo desde la consola...
Por lo tanto utilice Tampermonkey (Disponible para Chrome y firefox)
Una vez que escribi el codigo completo, ya era momento para ponerlo a prueba!
Entonces...En que consiste mi script? Paso a paso:
Primero, creo un evento en el cual se activa al apretar Z:
Obtengo el usuario ID del jugador
Limpio la URL para obtener el ID de la partida:
preguntados.com/game/?fb_source=fbpage#game/3735708042
Ya que estamos en una partida, aprieto Z de nuevo y hago el pedido de la info de la partida actual, ya que tengo mi ID y el de la partida
SIN SIQUIERA APRETAR LA RULETA! Ya se que respuesta tengo que poner, asi que metete en el orto el girar un poquito la ruleta que va a solucionar algo...Si sos un pelotudo con mala leche no importa como gires el perro, te va a tocar historia o alguna pelotudes que no sabes
Y bueno...Solo es cuestion de tiempo
Si te quedaste aca. es porque en verdad te intereso el tema tanto como a mi...Se siente muy bien hacer estas clases de cosas, siempre que lo hagas para diversion y no molestes a nadie, en mi preferencia voy a seguir jugando en mi celu sin usar el hack, ustedes hagan lo que quieran
Si tienen alguna duda, no duden en preguntarme, desde ya muchas gracias por ver el post
Link del Sript: https://drive.google.com/file/d/0B-w7eGG9p8lnRnRpaWpmZ0ppTWc/view?usp=drivesdk
Cuando comentas y me das puntos, fomentas a que comparta mas inteligencia colectiva, no seas payaso lince y opina

[/img]