Modificando la velocidad a la que se ejecuta un proceso (Cheat Engine alternative como Flash Game Speed ​​Hack)

20

En Windows, hay una herramienta para juegos Flash llamada Cheat Engine que puede acelerar / reducir un proceso en X cantidad, haciendo que el tiempo necesario para que una tarea en un juego sea más rápida o más lenta que en el mundo real. Esto es especialmente útil para los juegos basados ​​en el tiempo que te hacen esperar una X cantidad de tiempo para que un edificio se termine, se complete una cosecha, etc. Esto también se aplica a los juegos que necesitas que vayan más despacio para que puedas defender contra varios enemigos (Zombie juegos, etc.) o juegos que su dificultad radica en qué tan rápido uno puede completar algo.

Pero esto no se limita a los juegos Flash basados ​​en la web. Cheat Engine también puede acelerar / reducir otros juegos (Half-Life, Quake 3, etc.).

¿Hay alguna forma de hacer esto en Ubuntu?

Aquí está la opción SPEED HACK a la que me refiero utilizando la herramienta "Cheat Engine" en Windows y en realidad es la opción que el 99.99% de los usuarios de Cheat Engine usan Cheat Engine para:

Debo mencionar que no estoy buscando un método para detener el proceso cada milisegundos (como ralentizar Firefox o Chrome en lugar de ralentizar el juego Flash). Por ejemplo, desacelerar Firefox no funcionaría, ya que también ralentiza todo lo demás, por lo que no sería un hack de velocidad sino que ralentizaría el proceso en general, incluidas todas las acciones del usuario. Básicamente todo sería igual, solo que más lento. Lo mismo ocurre con acelerar el proceso.

Estoy buscando una forma de hacerlo en los juegos Flash basados ​​en la Web y / o en los Juegos de Wine Emulated.

    
pregunta Luis Alvarado 27.08.2011 - 21:44

3 respuestas

3

Respuesta corta, no. No hay un botón 2x ​​para la programación del proceso. Lo mejor que puede hacer es usar cgroups para lo que le interesa para obtener más tiempo de CPU, a expensas de otro proceso. Si tuviera que adivinar, la razón por la que Speedhack incluso funciona es porque está haciendo negocio manipulando el tiempo de ejecución del flash o simplemente llamándolo una máquina virtual. No es que esté acelerando el programa, sino que ha cambiado los parámetros fundamentales en los que se basa toda la máquina virtual. Supongo que lo mismo sería posible con algo como Java o Python.

Bueno, supongo que tendrás que seguir haciendo trampas en Farmville en Windows. Es una pena.

    
respondido por el ppetraki 24.02.2012 - 03:26
3

Esto podría ayudar a ralentizar los procesos, pero no a acelerarlos ...

1) SIGSTOP y SIGCONT:

El comando kill puede emitir un STOP y un CONT de señales a un proceso con un pid dado. Lo he usado antes para "pausar" y "estrangular" secuencias de comandos python, y funciona bien para ese propósito.

Aquí hay un ejemplo en un script bash (pase en el PID del proceso relevante como parámetro de línea de comandos):

PID=
while true; do 
    sleep 0.5
    kill -s STOP $PID
    sleep 0.5
    kill -s CONT $PID
done

Esas durmientes (en segundos) tendrían que reducirse a una cantidad mucho menor para reducir las sacudidas, pero el mayor intervalo lo hace más obvio para las pruebas.

Una vez que estés contento con un intervalo particular, puedes hacer que la proporción de duerme ajustable con una variable.

2) Otra posibilidad, para la aceleración, es 'cpulimit':

sudo apt-get install cpulimit

Para limitar Firefox al 30% de CPU:

cpulimit -e firefox -l 30
    
respondido por el laher 24.02.2012 - 02:43
1

Sugeriría un par de cosas. Si de hecho es Farmville / algo jugado en la red (como sugirió Ppetraki), creo que una vía es ir a través de la ruta greasemonkey (es una plataforma que permite ejecutar todos los scripts basados ​​en JavaScript para permitir ajustes más avanzados en todos los niveles del navegador / página-rendering.). No menos, leí todas las otras respuestas muy rápidamente, y sorprendentemente no vi a nadie mencionar Wine enlace .

Más específicamente, si el vino normal no funciona (que pude hacer que funcione, lo mejor es probarlo con 32 bits), no se pierde la esperanza, ya que esto parece ser un candidato perfecto para la extensión de Wine / add-on'esque program, 'Wine-Hacks,' solicita al usuario un recorrido por la instalación de varias piezas de software que cumplen requisitos particulares / etc ... (esta es una vía muy fácil, si la configuración de vino tradicional no no funciona). Esta es una situación interesante, y es importante recordar que Linux en general le da al usuario una plataforma mucho mayor para personalizar y ajustar los diversos procesos / hilos / etc en todos los niveles ... Sin embargo, una gran cantidad de lecturas generalmente proviene de eso. En una perspectiva de nivel inferior, si el juego utiliza comunicación entre procesos, puede ajustar las velocidades en los sockets (los comandos 'vmstat' / 'top' / 'ps' / 'ss' no son más que un pequeño arsenal de lo que ofrece linux) ellos mismos, y aunque no tendrá una curva de aprendizaje / facilidad de uso tan pequeña, pero estas herramientas son un comienzo para analizar la actividad / memoria de nivel de proceso-mgmt.

Pero al mirar su imagen y al haber descargado la aplicación yo mismo, entender cómo funciona la aplicación y el hecho de que está leyendo fragmentos de memoria y escaneando direcciones de memoria / etc ... se escapa que es muy simplemente haciendo esto, ajustando la comunicación de memoria / interproceso en un nivel bajo (sin embargo, yendo por esta ruta, estarías creando tu propia versión de hackeo del 'Cheat-Engine' podría hacerse fácilmente con un gdb (gcc-depurador) , una herramienta de desarrollador / seguridad ya que hacer este tipo de tareas es una parte común del trabajo de un desarrollador para evaluar mejor cómo funciona la aplicación / su rendimiento general. Actúa de manera similar en un ámbito más limitado). Solo estaría usando una herramienta diferente. herramienta para controlar la memoria / secuencia de la comunicación a nivel de socket. No menos, el Wine-scenario funcionará, y lo intenté brevemente (sin embargo, no sé cuál es el juego objetivo que juegas, ¡jajaja!).

Para concluir, para que quede claro, una manera sería volver a diseñar los procesos / procesos de hilos (tareas) en Linux / y ubicar las diversas direcciones de memoria y los bits utilizados en la comunicación entre procesos / zócalos utilizando utilidades / o depurador (ya mencionado). Luego, otra forma más básica que utilizaría la lógica del 'Cheat-engine' en un entorno que no es Windows, al instalarlo con Wine, mientras Wine ejecuta la aplicación, y lo gestiona en procesos / hilos dentro de modo que es como si el programa se está ejecutando en Windows. El programa Wine está en todas las distribuciones específicas de Ubuntu que he visto, "'apt-get' / 'aptitude'" para instalar Wine). Además, otra herramienta para depurar / ajustar juegos basados ​​en flash / etc ... es la de Flashbug (una variante de Firebug, al igual que Greasemonkey se usa en Mozilla) Buena suerte & amp; ¡Salud!

    
respondido por el William Franklin 07.03.2012 - 10:40

Lea otras preguntas en las etiquetas