¿Cómo saber si un usuario está usando programas ilegales en un juego?

Iniciado por 0xFer, 14 Enero 2016, 05:33 AM

0 Miembros y 2 Visitantes están viendo este tema.

0xFer

No sabía en dónde publicar este tema, lo he publicado aquí porque es un juego que se ejecuta en un navegador web. El juego se llama DarkOrbit.

Lo que yo quiero hacer en ese juego es un simple AutoClicker( para que no desconecte el juego y si es posible para que juegue por si solo) y quiero saber de qué forma los encargados del juego pueden descubrir que yo estoy usando el programa en cuestión.

El programa creo que lo haré en C, ese programa hará capturas de pantalla y en base a ello hará clicks en la pantalla para que haga lo que se le programe dependiendo de la información que se tenga.

Un saludo.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}

gAb1

Supongo que si modificas algún javascript o la memoria podrían (no estoy seguro).

Pero de seguro te puedo decir que si tu programa trabaja fuera del navegador no hay manera alguna de saber que esos clicks los esta haciendo un programa y no una persona real.

Sobre el tema de no desconectarse, podrían tener una "politica" o norma que limite el tiempo online o algo de eso. Y si consideran que estás haciendo trampa, por no desconectarse en un gran periodo de tiempo, podrian banearte o sancionarte si quieren, pero solo por el tiempo, no por tener un autoclicker programado para que juege por tí cuando tu no estas.

Hacksturcon

Pensando mucho en este tema creo que lo suyo es hacerse una IA visual. Tal y como se hace en procesos industriales hoy dia.

Existen bibliotecas en C#. Personalmente no he trabajado en ello pero he seguido un proyecto de cerca (Relacionado con la seleccion de material segun su calidad usando un sistema que obtenia la imagen y la superponia en una replica en 3D de las piezas. Todo programado en .NET.

Despues de "entrenar" al bicho con ejemplos de piezas "buenas". El solito selecciona las "malas" y las tira a otra linea. Hay que afinarlo mucho, no todo es oro... pero la idea es basicamente la misma.

Con eso los programadores no creo que te cazen. La IA interpretaria la imagen y responderia simulando pulsaciones de raton/teclado.

gAb1

Si, unos de los pioneros en ese sistema fue Aperture Science, en el proceso de manufacturación de torretas domesticas ;D



Hehehe

Para facilitar el desarrollo de la aplicación yo usaria LUA, puedes bajarte NLua o cualquier otro wrapper, también puedes escribirlo tu mismo (aunque no veo la necesidad). Es un lenguaje muy sencillo de aprender y sin embargo puedes hacer muchas cosas.

Edito: Pongo link.

0xFer

Cita de: gAb1 en 15 Enero 2016, 06:46 AM
Supongo que si modificas algún javascript o la memoria podrían (no estoy seguro). Pero de seguro te puedo decir que si tu programa trabaja fuera del navegador no hay manera alguna de saber que esos clicks los esta haciendo un programa y no una persona real.

Se ejecutará sin modificar el navegador, entonces bastaría con hacer que los movimientos parezcan muy humanos creo yo. Mi preocupación era que el juego ejecutándose en la web se diera cuenta( quien sabe cómo, vamos, es que no sé nada sobre páginas web) que el evento teclado/ratón fuera generado digamos que por software y no por hardware por decirlo de algún modo, sospecho que no se puede, pero no quiero arriesgarme.

Cita de: gAb1 en 15 Enero 2016, 06:46 AM
Sobre el tema de no desconectarse, podrían tener una "politica" o norma que limite el tiempo online o algo de eso.

Por suerte, para el juego que me interesa, es fácil burlar ese detalle. En el juego si no haces algún movimiento en 5 minutos entonces te desconecta y te aparece un mensaje para volverte a conectar, sólo hay que hacer click y ya.

Cita de: Hacksturcon en 15 Enero 2016, 08:37 AM
Pensando mucho en este tema creo que lo suyo es hacerse una IA visual.

Con eso los programadores no creo que te cazen. La IA interpretaria la imagen y responderia simulando pulsaciones de raton/teclado.

Lo estoy pensando, estuve leyendo un poco sobre Redes Neuronales y Programación Evolutiva, al parecer es lo que se utiliza en las bibliotecas C# que mencionas, como el tema de la IA me interesa entonces me propongo a desarrollar una biblioteca por mi cuenta incluso me servirá para otras tareas como para mejorar mi motor de ajedrez, pero aún así, aplicarlo en este juego( Dark Oribt) aún no me termina de convencer, es que, con algo más simple puedo tener beneficios e invertir el tiempo en cosas más serias, pero con el tema de la IA claro.

Cita de: gAb1 en 15 Enero 2016, 17:27 PM
Para facilitar el desarrollo de la aplicación yo usaria LUA, puedes bajarte NLua o cualquier otro wrapper, también puedes escribirlo tu mismo (aunque no veo la necesidad). Es un lenguaje muy sencillo de aprender y sin embargo puedes hacer muchas cosas.

Gracias por el link, pero no estoy entendiendo lo del Wrapper, ¿Como para qué me serviría? ¿Qué cosas puedo hacer con LUA? Edito: vale ya quedó claro lo de LUA :)

Un saludo y gracias por responder.
Código (java) [Seleccionar]
int getRandomNumber(){
    return 4; //chosen by fair dice roll
              //guaranteed to be random
}