1

我将对此非常具体,这是一个真正的问题,我现在面临一个真正的问题。

我不想优化我的程序或我的代码,以使其运行得更快,事实并非如此。我必须编写一个程序来改变另一个程序的“速度”。

一个例子是 CE 'speedhack',您选择一个目标程序并使其运行得更快或更慢,如果您在浏览器中玩 Flash 游戏,您可以减慢 Flash 插件的速度,从而使游戏运行得“更快”或“较慢”。

在此处输入图像描述

我知道 CE 会将一个库加载到另一个程序中,并且最肯定的是该库会在 处创建一个线程DllMainDLL_PROCESS_ATTACH这将改变程序中其他线程的“速度”。因此,在这种情况下,它甚至不会成为“其他”应用程序。

我想要的只是正确的方向,这个“速度”是如何改变的。请不要关闭我的问题,如果您不明白,请发表评论,我会提供必要的细节。我是一个真正的程序员,正在寻找一个真正的答案。

4

1 回答 1

3

首先,这种“speedhack”实际上并没有让程序运行得更快。它只是通过挂钩(通过 dll 注入)来操纵程序使用的计时器。就像 JavaSystem.currentTimeMillis()或 C++time_t time; time(&time)给出的值一样。更详细的解释可以在Cheat Engine internals找到。

那么公式就是returned_time = basetime+((currenttime-basetime)*speed_factor)

于 2013-02-03T11:19:15.923 回答