众所周知,游戏在运行中需要以帧为单位播放画面,而计算每帧动画播放所需时间,则需要调用C库函数来获取系统时间。如:
// 获取当前精确时间
gettimeofday;
// 获取系统时间
clock_gettime;
这类外挂的实现原理就是通过修改获取到的系统时间,来加快或放慢游戏内的时间流速。
除了常见的调用系统时间,部分变速外挂还可通过调用游戏引擎内时间实现变速。如光环助手,通过调用UnityEngine_Time_set_timeScale,传入想要加速的倍数,来实现全局加速效果。
光环助手的加速功能
因游戏玩法不同,变速外挂会造成不同的影响,如音乐类、跑酷类游戏可以通过放慢速度,大幅度降低游戏难度。
通过放慢速度,降低音乐游戏难度
而涉及到养成的游戏则可以加速材料收集进度,缩短游戏的养成周期。
通过加快速度,缩短游戏养成周期
这类外挂会严重破坏游戏的公平性,引发正常玩家不满,如果不加以制止,会急剧缩短游戏的生命周期。