Expongamos otro caso práctico (y actual) de lo que comentaba en el post anterior “automatizar jugadas (Flash HTTP interception)”.
En ese post daba unas pequeñas pistas, incluyendo código, de cómo se puede ganar en los famosos sitios de juegos online. La verdad es que ganar haciendo trampas no tiene ninguna gracia, bueno, la tiene cuando el ganador recibe a cambio algún tipo de regalo.
Os refresco la técnica:
- Observar el comportamiento del sitio cuando ganas y cuando pierdes capturando el tráfico HTTP
- Replicar ocasiones de éxito
Para el punto primero (observación) os comenté que hace años yo usaba un sencillo proxy capturador y hacía pasar las peticiones por el mismo para observarlas. Han pasado los años y ahora tenemos un compañero de viaje que nos facilita mucho todas estas tareas: Firefox. Personalmente uso dos extensiones de Firefox que para este mundillo son imprescindibles: WebDeveloper y mi último descubrimiento, Live Http Headers – imprescindible!!! te muestra todas las peticiones HTTP y te deja incluso repetirlas (cada día nos lo ponen más fácil)
He estado realizando un par de búsquedas en google y me han aparecido bastantes sitios con juegos flash y premios para los ganadores y ni corto ni perezoso he analizado uno de ellos. Los juegecitos en cuestión del sitio que he analizado tienen esta pinta:
Y analizando todo el tráfico http cada vez que se juega, se llega a la conclusión que el paso de esa información (ganar o perder) se realiza mediante un mecanismo bastante simple: el código actionScript del flash solicita una imagen al servidor junto con unos coockies que se repiten siempre e identifican una especie de secuencia temporal diferente para cada partida:
———————————————————-
http://xxxxxxxxxxx/images-es/tickettoudou/i-1.png
GET /images-es/tickettoudou/i-1.png HTTP/1.1
Host: es.xxxxxxx.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: COOKIEredirectLangOk=ok; COOKIEis_accepted=1; __utma=192013163.1220524688.1190971015.1190971015.1190971015.1;__utmb=192013163; __utmc=192013163; __utmz=192013163.1190971015.1.1.utmccn=(organic)|utmcsr=xxxxxx|utmctr=xxxxxx|utmcmd=organic;
———————————————————-
Con esta información y símplemente utilizando la funcionalidad del propio Live Http Headers de reenviar una petición, podemos replicar una jugada exitosa anterior, pasándole los mismos coockies, etc:
La imagen muestra que hemos ganado esos miserables 0,02 puntos y además, replicando el comportamiento varias veces, llega un momento en el que los puntos ya no suman (una partida tiene un máximo de intentos) por lo que habrá que volver a generar esos coockies que indican la temporalidad de la jugada.
Por tanto, la solución “óptima” para ganar del modo más rápido consistiría en estudiar exactamente cuál es el número máximo de jugadas e implementar un programa que reinicie las partidas solicitando la información de coockies necesaria para cada vuelta.
En fin, símplemente quería exponer que desde mi última aventura Flash HTTP Interception hasta hoy, las cosas siguen igual… vamos que se puede hacer trampas de modo muuuuyyy sencillo.










