Modifica della velocità di esecuzione di un processo (alternativa di Cheat Engine come Hack di gioco Flash)

20

In Windows, c'è uno strumento per i giochi Flash chiamato Cheat Engine che può accelerare / ridurre un processo di X quantità, rendendo il tempo necessario per un'attività in un gioco per andare più veloce o più lento che nel mondo reale. Questo è particolarmente utile per i giochi basati sul tempo che ti fanno aspettare un tempo X per un edificio per finire, un raccolto per essere completato, ecc ... Questo vale anche per i giochi che ti servono per andare più lentamente in modo da poter difenditi da diversi nemici (giochi Zombi, ecc.) o dai giochi la cui difficoltà risiede nella velocità con cui puoi completare qualcosa.

Ma questo non è limitato ai giochi Flash basati sul web. Cheat Engine può anche accelerare / ridurre altri giochi (Half-Life, Quake 3, ecc.).

C'è un modo per farlo in Ubuntu?

Ecco l'opzione SPEED HACK a cui mi riferisco utilizzando lo strumento "Cheat Engine" in Windows ed è in realtà l'opzione che il 99,99% degli utenti di Cheat Engine utilizza Cheat Engine per:

Devo dire che non sto cercando un metodo per mettere in pausa il processo ogni millisecondo (come rallentare Firefox o Chrome invece di rallentare il gioco Flash). Ad esempio, il rallentamento di Firefox non funzionerebbe poiché rallenterebbe anche tutto il resto, quindi non sarebbe un attacco di velocità tanto quanto rallentare il processo in generale, comprese tutte le azioni dell'utente. Fondamentalmente tutto sarebbe uguale, solo più lento. Lo stesso vale per accelerare il processo.

Sto cercando un modo per farlo con giochi Flash basati su Web e / o Wine emulated Games.

    
posta Luis Alvarado 27.08.2011 - 23:44

3 risposte

3

Risposta breve, no. Non esiste un pulsante 2x per la pianificazione del processo. La cosa migliore che puoi fare è usare i cgroup per quello che ti interessa per avere più tempo per la CPU, a spese di un altro processo. Se dovessi indovinare, la ragione per cui speedhack funziona è che sta facendo affari manipolando il runtime flash o chiamandolo semplicemente una macchina virtuale. Non è che sta accelerando il programma, ma ha cambiato i parametri fondamentali su cui si basa tutta la VM. Suppongo che la stessa cosa sarebbe possibile con qualcosa come Java o Python.

Oh bene, immagino che dovrai continuare a barare su farmville su Windows. Vergogna.

    
risposta data ppetraki 24.02.2012 - 04:26
3

Questi potrebbero aiutare a rallentare i processi, ma non a velocizzarli ...

1) SIGSTOP e SIGCONT:

Il comando kill può emettere un STOP e un CONT segnali a un processo con un dato pid. L'ho usato per "mettere in pausa" e "restringere" gli script Python, e funziona perfettamente per quello scopo.

Ecco un esempio in uno script bash (passa il PID del processo rilevante come parametro della riga di comando):

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

Quelli che dormono (in secondi) dovrebbero scendere di una quantità molto minore per ridurre la scossa, ma l'intervallo più grande lo rende più ovvio per il test.

Una volta che sei soddisfatto di un intervallo particolare, puoi impostare il rapporto tra i periodi di sonno regolabili con una variabile.

2) Un'altra possibilità, per la limitazione, è 'cpulimit':

sudo apt-get install cpulimit

Per limitare il firefox al 30% della CPU:

cpulimit -e firefox -l 30
    
risposta data laher 24.02.2012 - 03:43
1

Suggerirei un paio di cose. Se è davvero farmville / qualcosa giocato in rete (come suggerito da ppetraki), credo che una strada sia quella di andare via greasemonkey (è una piattaforma che consente di eseguire tutti gli script basati su javascript per consentire modifiche più avanzate a tutti i livelli del browser / rendering della pagina.). Non meno, ho letto tutte le altre risposte molto rapidamente, e sorprendentemente non ho visto nessuno menzionare il vino link .

Più in particolare, se il vino normale non funziona (che sono riuscito a farlo funzionare, meglio provare a 32-bit), tutte le speranze non sono perse, perché questo sembra un candidato perfetto per l'estensione Wine / add-on'esque program, 'Wine-Hacks', richiede all'utente un passaggio per l'installazione di vari software che soddisfano requisiti particolari / etc ... (questa è una strada molto semplice, se la configurazione del vino tradizionale non lavorare). Questa è una situazione interessante, ed è importante ricordare che Linux in generale offre all'utente una piattaforma molto più grande per personalizzare e modificare i vari processi / thread / ecc. A tutti i livelli ... Tuttavia, una grande quantità di lettura deriva in genere da esso. Su una prospettiva di livello inferiore si potrebbe, se il gioco utilizza la comunicazione interprocess, modificare le velocità sui socket (i comandi 'vmstat' / 'top' / 'ps' / 'ss' sono solo un piccolo arsenale di ciò che offre linux) stessi, e anche se non avrà una curva di apprendimento / facilità d'uso tanto piccola, ma questi strumenti sono l'inizio per analizzare l'attività a livello di processo / memoria-mgmt.

Ma guardando la tua immagine e avendo scaricato io stesso l'app, comprendendo come funziona l'applicazione e il fatto che stia leggendo bit di memoria e scansionando gli indirizzi di memoria / etc ... sfugge che è molto facendo proprio questo, modificando la comunicazione di memoria / interprocessi su un livello basso (ma andando su questa strada stavate creando la vostra versione hacker del "Cheat-Engine", potrebbe facilmente essere fatto con un gdb (gcc-debugger , uno sviluppatore / strumento di sicurezza come fare questi tipi di compiti sono una parte comune del lavoro di uno sviluppatore per valutare meglio come funziona l'applicazione / le sue prestazioni generali., agisce in modo simile in un ambito più limitato). strumento per controllare la memoria / il sequenziamento delle comunicazioni a livello di socket.Non meno, lo scenario di Wine funzionerà, e l'ho provato brevemente (tuttavia, non so quale sia il tuo gioco di destinazione, lol !!).

Per concludere, in modo che siamo chiari, un modo sarebbe quello di ridisegnare i processi / processi thread (attività) in Linux / e localizzare i vari indirizzi di memoria, e i bit utilizzati nella comunicazione interprocesso / socket utilizzando le utilità / o debugger (già menzionato). Poi un altro modo più basilare che utilizzerebbe la logica del 'Cheat-engine', stesso in un ambiente non Windows, attraverso l'installazione con Wine, come Wine esegue l'applicazione e la gestisce in processi / thread all'interno in modo che sia come se il programma è in esecuzione in Windows stesso. Il programma Wine è in tutte le distribuzioni specifiche di Ubuntu che ho visto, "apt-get / aptitude" per installare Wine). Inoltre, un altro strumento per il debug / tweaking di giochi basati su flash / etc ... è quello di Flashbug (una variante firebug, proprio come Greasemonkey è usato in Mozilla) Buona fortuna e amp; evviva !!

    
risposta data William Franklin 07.03.2012 - 11:40

Leggi altre domande sui tag