修改进程的运行速度(作弊引擎替代品,作为Flash Game Speed Hack)


20

在Windows中,有一个用于Flash游戏的工具,称为作弊引擎Cheat Engine),它可以使进程加速/减速X倍,从而使游戏中的任务所需的时间比现实世界中的速度更快或更慢。这对于基于时间的游戏特别有用,它使您等待X倍的时间才能完成建筑物,完成收获等工作。这也适用于需要让游戏变慢以便可以防御几个敌人(僵尸游戏等),或者防御他们的困难在于完成某项任务的速度。

但这不限于基于Web的Flash游戏。作弊引擎还可以加快/降低其他游戏的速度(半条命,雷神之锤3等)。

在Ubuntu中有办法吗?

这是我在Windows中使用“作弊引擎”工具所指的SPEED HACK选项,实际上是99.99%的作弊引擎用户将作弊引擎用于以下选项:

在此处输入图片说明

我应该提一下,我不是在寻找一种方法来每毫秒暂停一次进程(例如,降低Firefox或Chrome的速度而不是降低Flash游戏的速度)。例如,减慢Firefox不会起作用,因为它还会减慢其他所有东西的速度,因此它不会成为Speed hack,而只是减慢包括用户所有操作在内的整个过程。基本上,一切都会一样,只是速度变慢。加快处理过程也是如此。

我正在寻找一种针对基于Web的Flash游戏和/或Wine模拟游戏的方法。


1
我认为这个问题将在一些“ Linux作弊引擎”问世之前得到解决。
Luis Alvarado

大约六个月后,此问题是否有答案(我没有将流程优先级作为答案...,因为它仍然无法正常工作)?
Yanick Rochon'2

我对此一无所知,但读完它后就想到了为什么不模拟闪存并添加一些自动化功能,甚至某些AI来预期变化也不会问我“怎么做”,因为我说我不知道​​如何做它发生了

Answers:


3

简短的回答,不。没有用于流程调度的2x按钮。最好的办法是使用cgroups来获取您感兴趣的内容,以获取更多的CPU时间,而又以牺牲另一个进程为代价。如果我不得不猜测,speedhack之所以可以工作的原因是因为它通过操纵Flash运行时来完成业务,或者只是将其称为虚拟机。不是它在加速程序,而是改变了整个虚拟机所基于的基本参数。我想用Java或Python之类的东西也可以做到。

哦,好吧,我想您将不得不继续在Windows上的Farmville作弊。耻辱。


3

这些可能有助于减慢流程速度,但不能加快流程速度...

1)SIGSTOP和SIGCONT:

kill命令可以向具有给定pid的进程发出STOPCONT信号。之前,我已经将其用于“暂停”和“限制” 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

这实际上与他的要求相反吗?
Uri Herrera '02

1
我正在回答有关“需要让游戏变慢以便可以完成困难关卡的游戏”的部分
laher 2012年

1

我会建议一些事情。如果确实是Farmville /网上玩过的东西(如ppetraki所建议的那样),我认为一种途径是通过油腻的猴子路线(它是一个平台,允许运行所有基于JavaScript的脚本,以便在各个级别上进行更高级的调整)浏览器/页面渲染的代码)。不少,我很快阅读了所有其他答案,而且令人惊讶的是,没有人提到Wine http://www.winehq.org/documentation

更具体地说,如果普通的葡萄酒不起作用(我能够使其正常工作,最好尝试使用32位),则所有希望都不会丢失,因为这听起来像是Wine扩展/附加组件的理想选择'esque程序'Wine-Hacks',它提示用户逐步安装满足特定要求等的各种软件...(如果传统的Wine配置不起作用,这是一个非常简单的途径)。这是一个有趣的困境,需要记住的是,Linux通常为用户提供了一个更大的平台来进行自定义,并在各个级别上调整各种进程/线程/等等。但是,通常有大量的阅读文章它。从较低的角度来看,如果游戏正在使用进程间通信,则可以调整套接字的速度('vmstat'/'

但是抬头查看您的图像,然后自己下载了该应用程序,了解了该应用程序的工作方式,以及它正在读取内存中的位,并扫描内存地址等信息,因此,它很难做到这一点。 ,在低级上调整内存/进程间的通信(但是,按照这种方法,您将创建自己的“欺骗引擎”的hackish版本,可以使用gdb轻松完成(gcc-debugger,开发人员/安全性工具,因为它们执行这些类型的任务是开发人员工作中的常见部分,目的是更好地评估应用程序的工作方式/整体性能。在更有限的范围内,类似地起作用)。您只是使用其他工具来控制套接字级通信的内存/排序。同样,Wine方案将起作用,我对此进行了简短的尝试(但是,我没有不知道你在玩什么目标游戏,哈哈!!

总而言之,我们很清楚,一种方法是重新调整Linux /中的进程/进程线程(任务),并使用实用程序/或调试器定位各种内存地址以及进程间/套接字通信中使用的位(已经提到)。然后,在Wine运行应用程序并在其中的进程/线程中对其进行管理时,另一种更基本的方式将在非Windows环境中利用“作弊引擎”本身的逻辑,方法是通过在Wine中安装它来与Wine一起安装。如果程序本身是在Windows中运行的。我见过的所有特定于Ubuntu的发行版中都包含Wine程序,“'apt-get'/'aptitude'”用于安装Wine)。另外,用于调试/调试基于Flash的游戏等的另一个工具是Flashbug(一种Firebug变种,就像Mozilla中使用Greasemonkey一样),祝您好运!


您需要将整个堆栈与WINE一起安装-在WINE中运行的浏览器(除非游戏可以在外部运行),用于Windows的Flash Player和Flash Speed hack(显然还有SWF文件)至于GreaseMonkey-不会工作。JS和Flash是完全不同的技术。
Piskvor 2012年

很好地称呼它们是完全不同的技术,但我并没有说明这一点,而是通过将其嵌入DOM来展示flash(实际上是专有插件),并且自然地,在某些情况下,可能会使用那些完全使用javascript的事件接口有时会影响Flash,因为有时Flash甚至嵌入到javascript中。除非它们已逐步淘汰w3 / whatwg规范的所有页面交互,否则都是基于事件的执行的结果。基于事件的执行是javascript(在过去的学期中为ECMA)的存在理由,仅供参考:80%+ oilmonkey脚本是游戏的作弊手段。
威廉·富兰克林

您对JS是什么,它来自何处以及如何工作是正确的。但是除非Flash Blob实际上公开了一个可以改变游戏速度的界面(极不可能),否则您不能为此使用JS-此类交互没有“内置”控件。我知道GM作弊脚本;请注意,它们全部针对JS / DOM部分和/或Flash与JS的交互-而不是Flash Blob本身的工作。
Piskvor 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.