一种网页游戏的加速方法和系统与流程

文档序号:11323042阅读:1357来源:国知局
一种网页游戏的加速方法和系统与流程

本发明涉及软件开发技术领域,特别是涉及一种网页游戏的加速方法和系统。



背景技术:

电脑端网页游戏是基于电脑端的web网页浏览器的网络游戏,无需下载客户端,主要是指基于flash的网页游戏,游戏的实体是网页形式,主要是电脑端的网页浏览器来显示与进行游戏。

目前网页游戏比如说盗墓笔记、蓝月传奇等网页游戏,玩家需要花费大量时间去升级打怪,而且打怪速度很慢,降低了玩网页游戏的乐趣。如何更好更快地提高网页游戏的加载方法一直是游戏开发者头疼的事情。



技术实现要素:

基于此,有必要针对打怪速度慢的问题,提供一种网页游戏的加速方法和系统。

一种网页游戏的加速方法,包括:客户端hook住浏览器内核进程的系统时间的api;浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长。

优选地,浏览器调用时间函数aigettickcount和aigetsystemtime的步骤包括:创建内存映射,将时间函数aigettickcount和aigetsystemtime的代码映射到0x80000000以上的内存;获取局部描述符表的地址,根据所述局部描述符表修改所述代码段的特权级,将所述代码的特权级置为最高;根据局部描述符表创建一个调用门;保存几个关键函数前六个字节,将所述字节修改为一条跳转指令,根据所述跳转指令跳转到所述映射后的代码;通过所述调用门进入ring0,浏览器进入所述代码,恢复函数开头的六个字节,修改返回值。

优选地,还包括:预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数。

优选地,aigettickcount函数的时间参数为当前时间的10倍。

一种网页游戏的加速系统,包括:hook模块和调用模块;所述hook模块,用于客户端hook住浏览器内核进程的系统时间的api;所述调用模块,用于浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长。

优选地,所述调用单元,还用于创建内存映射,将时间函数aigettickcount和aigetsystemtime的代码映射到0x80000000以上的内存;获取局部描述符表的地址,根据所述局部描述符表修改所述代码段的特权级,将所述代码的特权级置为最高;根据局部描述符表创建一个调用门;保存几个关键函数前六个字节,将所述字节修改为一条跳转指令,根据所述跳转指令跳转到所述映射后的代码;通过所述调用门进入ring0,浏览器进入所述代码,恢复函数开头的六个字节,修改返回值。

优选地,还包括:时间参数设置模块;所述时间参数设置模块,用于预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数。

优选地,包括:aigettickcount函数的时间参数为当前时间的10倍。

上述网页游戏的加速方法,通过客户端hook住浏览器内核进程的系统时间的api;浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长,加速浏览器内核进程的时间,使浏览器内核进程按照我们想要的时间去进行,加速了浏览器的网页游戏速度,节约了玩家的升级打怪时间,增加了玩网页游戏的乐趣,使玩网页游戏升级也不在枯燥无味。通过按照我们期望的网页运行速度预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数,使网页游戏的运行加载速度以一定的加速倍数进行。当将aigettickcount函数的时间参数设置为当前时间的10倍时,网页游戏的运行加载速度相较于当前速度将加速10倍。

附图说明

图1为一实施例的网页游戏的加速方法的示意性流程图。

图2为图1实施例的网页游戏的加速方法的浏览器调用时间函数的示意性流程图。

图3为一实施例的网页游戏的加速系统的示意性结构图。

具体实施方式

本方案的网页游戏的加速方法适用于电脑端网页游戏,在用户进行网页游戏时,能够随心调整游戏速度,游戏升级,移动,打怪速度加快,节约了玩家的升级打怪时间,增加了玩网页游戏的乐趣,使玩网页游戏升级也不在枯燥无味。

图1为一实施例的网页游戏的加速方法的示意性流程图;如图1所示,一种网页游戏的加速方法,包括:

s11,客户端hook住浏览器内核进程的系统时间的api;

其中,api(applicationprogramminginterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。钩子(hook),是windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。

s12,浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长。

作为一优选实施例,浏览器调用时间函数aigettickcount和aigetsystemtime的步骤包括:

s21,创建内存映射,将时间函数aigettickcount和aigetsystemtime的代码映射到0x80000000以上的内存;在winxp下,这块虚存是所有进程共享的。

s22,获取局部描述符表的地址,根据所述局部描述符表修改所述代码段的特权级,将所述代码的特权级置为最高;

s23,根据局部描述符表创建一个调用门;在x86的保护模式下要进入ring0必须通过门来进行,cih是用中断门完成的,这里用调用门完成,异曲同工。

s24,保存几个关键函数前六个字节,将所述字节修改为一条跳转指令,根据所述跳转指令跳转到所述映射后的代码;

s25,通过所述调用门进入ring0,浏览器进入所述代码,恢复函数开头的六个字节,修改返回值。

作为一优选实施例,还包括:预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数。可以按照网页游戏玩家的加速意愿,设置所述时间函数aigettickcount和aigetsystemtime的时间参数。更近一步的,aigettickcount函数的时间参数为当前时间的10倍,则网页游戏的加速倍数较当前时间加速10倍。

上述网页游戏的加速方法,通过客户端hook住浏览器内核进程的系统时间的api;浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长,加速浏览器内核进程的时间,使浏览器内核进程按照我们想要的时间去进行,加速了浏览器的网页游戏速度,节约了玩家的升级打怪时间,增加了玩网页游戏的乐趣,使玩网页游戏升级也不在枯燥无味。通过按照我们期望的网页运行速度预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数,使网页游戏的运行加载速度以一定的加速倍数进行。当将aigettickcount函数的时间参数设置为当前时间的10倍时,网页游戏的运行加载速度相较于当前速度将加速10倍。

图3为一实施例的网页游戏的加速系统的示意性结构图。如图3所示,一种网页游戏的加速系统,包括:hook模块11和调用模块12;所述hook模块11,用于客户端hook住浏览器内核进程的系统时间的api;所述调用模块12,用于用于浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长。

作为一优选实施例,所述调用单元12,还用于创建内存映射,将时间函数aigettickcount和aigetsystemtime的代码映射到0x80000000以上的内存;获取局部描述符表的地址,根据所述局部描述符表修改所述代码段的特权级,将所述代码的特权级置为最高;根据局部描述符表创建一个调用门;保存几个关键函数前六个字节,将所述字节修改为一条跳转指令,根据所述跳转指令跳转到所述映射后的代码;通过所述调用门进入ring0,浏览器进入所述代码,恢复函数开头的六个字节,修改返回值。

作为一优选实施例,还包括:时间参数设置模块;所述时间参数设置模块,用于预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数。aigettickcount函数的时间参数为当前时间的10倍。

上述网页游戏的加速方法适用于所述网页游戏的加速系统,在此不再一一赘述。

上述网页游戏的加速系统,hook模块通过客户端hook住浏览器内核进程的系统时间的api;通过调用模块浏览器调用时间函数aigettickcount和aigetsystemtime;其中所述时间函数aigettickcount和aigetsystemtime的时间参数相较于当前时间变长,加速浏览器内核进程的时间,使浏览器内核进程按照我们想要的时间去进行,加速了浏览器的网页游戏速度,节约了玩家的升级打怪时间,增加了玩网页游戏的乐趣,使玩网页游戏升级也不在枯燥无味。通过按照我们期望的网页运行速度预先设置所述时间函数aigettickcount和aigetsystemtime的时间参数,使网页游戏的运行加载速度以一定的加速倍数进行。当将aigettickcount函数的时间参数设置为当前时间的10倍时,网页游戏的运行加载速度相较于当前速度将加速10倍。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1