Изменение скорости, с которой запускается процесс (альтернатива Cheat Engine как Hack Flash Game Speed ​​Hack)

20

В Windows есть инструмент для флэш-игр, который называется Cheat Engine, который может ускорить / замедлить процесс на X, делая время, необходимое для выполнения задачи в игре, быстрее или медленнее, чем в реальном мире. Это особенно полезно для игр, основанных на времени, которые заставляют вас ждать X времени, пока здание не будет закончено, урожай не завершен и т. Д. Это также относится к играм, в которых они нужны, чтобы они работали медленнее защищаться от нескольких врагов (игры зомби и т. д.) или игр, в которых их сложность заключается в том, как быстро можно что-то выполнить.

Но это не ограничивается веб-флэш-играми. Cheat Engine также может ускорять и ускорять другие игры (Half-Life, Quake 3 и т. Д.).

Есть ли способ сделать это в Ubuntu?

Вот опция SPEED HACK, на которую я ссылаюсь , используя инструмент «Cheat Engine» в Windows, и на самом деле это опция, при которой 99,99% пользователей Cheat Engine используют Cheat Engine для:

введите описание изображения здесь

Я должен отметить, что я не ищу способ приостановить процесс каждую миллисекунду (например, замедление Firefox или Chrome вместо замедления Flash-игры). Например, замедление Firefox не будет работать, поскольку оно также замедляет все остальное, так что это не будет взломом Speed, а скорее замедлит процесс в целом, включая все действия пользователя. В основном все будет так же, только медленнее. То же самое касается ускорения процесса.

Я ищу способ сделать это для Flash-игр на базе Web и / или игр с эмуляцией Wine.

Луис Альварадо
источник
1
Я думаю, что эта проблема будет иметь место до тех пор, пока не выйдет какой-нибудь Cheat Engine для Linux.
Луис Альварадо
примерно через полгода, есть ли ответ на этот вопрос (я не считаю приоритет процесса ответом ... так как он все равно не работает)?
Яник Рошон
я ничего не знаю об этом, но после прочтения пришла в голову мысль, почему бы не эмулировать вспышку и добавить некоторую автоматизацию, может быть, даже некоторый ИИ, чтобы предвидеть изменения, не спрашивайте меня «как», потому что, как я сказал, я понятия не имею, как сделать это случилось

Ответы:

3

Короткий ответ, нет. Там нет кнопки 2x для планирования процесса. Лучшее, что вы можете сделать, это использовать cgroups для того, что вас интересует, чтобы получить больше процессорного времени за счет другого процесса. Если бы мне пришлось угадывать, причина, по которой спидхак даже работает, заключается в том, что он делает свой бизнес, манипулируя средой выполнения флэш-памяти, или просто называет ее виртуальной машиной. Дело не в том, что это ускоряет программу, а в том, что она меняет фундаментальные параметры, на которых основана вся ВМ. Я предполагаю, что то же самое было бы возможно с чем-то вроде Java или Python.

О, хорошо, я думаю, вам придется продолжать обманывать Farmville на Windows. Позор.

ppetraki
источник
3

Это может помочь замедлить процессы, но не ускорить их ...

1) SIGSTOP и SIGCONT:

Команда killможет выдавать a STOPи CONTсигналы процессу с заданным pid. Ранее я использовал его для «приостановки» и «регулирования» сценариев Python, и он отлично работает для этой цели.

Вот пример в скрипте bash (передайте PID соответствующего процесса в качестве параметра командной строки):

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

Эти сны (в секундах) должны были бы уменьшиться до гораздо меньшего количества, чтобы уменьшить рывки, но больший интервал делает это более очевидным для тестирования.

Когда вы довольны определенным интервалом, вы можете настроить соотношение количества снов с помощью переменной.

2) Еще одна возможность для регулирования - это cpulimit:

sudo apt-get install cpulimit

Чтобы ограничить Firefox до 30% CPU:

cpulimit -e firefox -l 30
laher
источник
Не будет ли это на самом деле противоположностью того, что он спрашивает?
Ури Эррера
1
Я отвечал на часть про «игры, в которых нужно сделать их медленнее, чтобы вы могли пройти сложный уровень»
laher
1

Я бы предложил пару вещей. Если это действительно фармвилл / что-то, играемое в сети (как предложил ppetraki), я считаю, что одна из возможностей - пройти по маршруту greasemonkey (это платформа, позволяющая запускать все сценарии на основе javascript для более продвинутой настройки на всех уровнях браузера / рендеринга страниц.). Тем не менее, я очень быстро перечитал все остальные ответы и удивительно, что никто не упомянул Wine http://www.winehq.org/documentation .

В частности, если нормальное Wine не работает (что я смог заставить его работать, лучше всего попробовать 32-битную версию), вся надежда не теряется, поскольку это звучит как идеальный кандидат на расширение / дополнение Wine. Программа esque, Wine-Hacks, предлагает пользователю пошаговое руководство по установке различных программ, отвечающих определенным требованиям и т. д. (это очень простой способ, если традиционная конфигурация Wine не работает ). Это интересное затруднение, и важно помнить, что linux в целом дает пользователю гораздо большую платформу для настройки и настройки различных процессов / потоков / и т. Д. На всех уровнях ... Однако, большое количество чтения обычно приходит из Это. На более низком уровне можно, если в игре используется межпроцессное взаимодействие, настроить скорости на сокетах ('vmstat' / '

Но, глядя на ваше изображение и загрузив приложение самостоятельно, вы получаете представление о том, как работает приложение, и о том, что оно считывает биты памяти и сканирует адреса памяти и т. Д. ... это ускользает от того, что он делает именно это настраивая обмен данными между памятью и процессами на низком уровне (однако, если пойти по этому пути, вы создадите свою собственную хакерскую версию Cheat-Engine, это очень легко сделать с помощью gdb (gcc-debugger, разработчик). Инструмент безопасности /, поскольку выполнение этих типов задач является общей частью работы разработчика, чтобы лучше оценить, как приложение работает / его общая производительность, действует аналогично в более ограниченной области.) Вы просто использовали бы другой инструмент для управления память / последовательность обмена данными на уровне сокетов. Не менее, Wine-сценарий будет работать, и я попробовал его кратко (однако я неНе знаю, в какую игру ты играешь, лол !!).

В заключение, чтобы мы поняли, одним способом было бы переопределить процессы / потоки процессов (задачи) в Linux / и найти различные адреса памяти и биты, используемые в межпроцессном / сокетном взаимодействии с использованием утилит / или отладчика ( уже упоминалось). Тогда еще один более простой способ, который будет использовать логику «Cheat-engine», самого в среде, отличной от Windows, путем установки его с Wine, когда Wine запускает приложение и управляет им в процессах / потоках внутри, так что если программа запускается в самой Windows. Программа Wine находится во всех специфичных для Ubuntu дистрибутивах, которые я видел, «apt-get» / «aptitude» (чтобы установить Wine). Кроме того, еще один инструмент для отладки / настройки флэш-игр и т. Д. - это Flashbug (вариант Firebug, точно так же, как Greasemonkey используется в Mozilla). Удачи и ура !!

Уильям Франклин
источник
Вам понадобится весь стек, установленный вместе с WINE - браузер, работающий в WINE (если игра не может запускаться снаружи), Flash Player для Windows и хакер Flash Speed ​​(плюс файл SWF, очевидно). Что касается GreaseMonkey - это не будет Работа. JS и Flash - это совершенно разные технологии.
Писквор
Хороший призыв к тому, чтобы они были совершенно разными технологиями, но я не делал этого различия, flash (на самом деле проприетарный плагин) демонстрируется встроенным в DOM, и, естественно, для некоторых вещей можно использовать те события, с которыми javascript полностью интерфейсы в качестве средства для достижения целей, влияющих на флэш, так как временами флэш даже встроен в javascript. Если они не прекратили w3 / whatwg специфицирует все взаимодействие страниц, это результат выполнения на основе событий. Основанное на событиях выполнение - смысл существования javascript (ECMA в старые школьные годы), к вашему сведению: 80% + сценарии greasemonkey - читы для игр.
Уильям Франклин
Вы правы в том, что такое JS, откуда он и как работает; но если Flash-объект фактически не предоставляет интерфейс для изменения скорости игры (крайне маловероятно), вы просто не сможете использовать для этого JS - для такого взаимодействия нет «встроенного» элемента управления. Я знаю о чит-скриптах GM; обратите внимание, что все они нацелены на часть JS / DOM и / или взаимодействие Flash с JS, а не на работу самого BLOB-объекта Flash.
Писквор