我对此非常具体,这是一个真正的问题,我现在面临一个真正的问题。
我不想优化我的程序或代码,以使其运行得更快,而不是那样。 我必须编写一个程序来改变另一个程序的“速度”。
这方面的例子是CE'speedhack',你选择一个目标程序并使其运行得更快或更慢,如果你在浏览器中玩Flash游戏,你可以减慢flash插件速度,使游戏运行'更快'或'慢'。
我知道CE会将这个库加载到另一个程序中,并且大多数情况下,库会在DllMain
,DLL_PROCESS_ATTACH
创建一个线程,这将改变程序中其他线程的“速度”。因此,在这种情况下,它甚至不会成为“其他”应用程序。
我想要的只是正确的方向,这个“速度”是如何变化的。 请不要关闭我的问题,如果你不明白请发表评论我会提供必要的细节。我是一个真正的程序员,正在寻找真正的答案。
答案 0 :(得分:3)
首先,这个“speedhack”并没有实际上使程序运行得更快。它只是通过挂钩(通过dll-injection)来操作程序使用的定时器。就像Java的System.currentTimeMillis()
或C ++ time_t time; time(&time)
给出的值一样。
可以在Cheat Engine internals找到更详细的说明。
然后公式为returned_time = basetime+((currenttime-basetime)*speed_factor)
。