CN109753322A - 一种ios平台上对应用程序的加速方法和装置 - Google Patents
一种ios平台上对应用程序的加速方法和装置 Download PDFInfo
- Publication number
- CN109753322A CN109753322A CN201710755574.3A CN201710755574A CN109753322A CN 109753322 A CN109753322 A CN 109753322A CN 201710755574 A CN201710755574 A CN 201710755574A CN 109753322 A CN109753322 A CN 109753322A
- Authority
- CN
- China
- Prior art keywords
- function
- application program
- mach
- acceleration
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种IOS平台上对应用程序的加速方法和装置,涉及信息处理技术领域,所述方法包括:通过获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。达到了有效防提高应用程序运行速度,从而提高对应用程序检测效率的技术效果。
Description
技术领域
本发明涉及信息处理技术领域,尤其涉及一种IOS平台上对应用程序的加速方法和装置。
背景技术
目前,随着移动设备的日益普及,移动应用产业尤其是IOS应用得到飞速的发展,同时IOS应用的开发模式和代码框架也都发生了巨大的变化。
现有技术中,在IOS应用程序的编写中,当需要编写一些功能模块注入到对应的进程中时,需要编写一个dylib文件,然后将所述dylib文件注入到对应的进程中运行。
但是,现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。
发明内容
本发明实施例提供了一种IOS平台上对应用程序的加速方法和装置,解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。
鉴于上述问题,提出了本申请实施例以便提供一种IOS平台上对应用程序的加速方法和装置。
第一方面,本发明提供了一种IOS平台上对应用程序的加速方法,所述方法包括:获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。
优选的,所述获得IOS应用程序的加速函数,还包括:获得所述IOS应用程序中的Mach-o文件;根据所述Mach-o文件,获得所述目标函数;将所述目标函数地址修改为所述加速函数。
优选的,所述获得所述IOS应用程序中的Mach-o文件,还包括:根据所述Mach-o文件,获得所述Mach-o文件的内存起始地址;根据所述Mach-o文件的内存起始地址,获得所述Mach-o文件的虚拟内存地址。
优选的,所述根据所述Mach-o文件,获得所述目标函数,还包括:根据所述Mach-o文件,获得所述Mach-o文件中的函数索引和函数名称;根据所述函数索引、所述函数名称,获得所述目标函数。
优选的,所述将所述目标函数地址修改为所述加速函数,还包括:根据所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址;将所述目标函数的内存地址修改为所述加速函数的内存地址。
优选的,所述根据所述加速函数,对所述系统时间函数进行加速,还包括:获得第一函数指针,所述第一函数指针用于存储所述系统时间函数;获得虚拟系统时间函数;通过所述加速函数,将所述系统时间函数替换为所述虚拟系统时间函数。
优选的,所述方法还包括:根据所述系统时间函数,获得系统时间;根据所述虚拟系统时间函数,获得第一加速变量;根据所述系统时间、所述第一加速变量,确定第一加速时间。
第二方面,本发明提供了一种IOS平台上对应用程序的加速装置,所述装置包括:
第一获得单元,所述第一获得单元用于获得IOS应用程序的加速函数;
第二获得单元,所述第二获得单元用于获得所述IOS应用程序中的目标函数;
第一确定单元,所述第一确定单元用于确定所述目标函数为系统时间函数;
第一加速单元,所述第一加速单元用于根据所述加速函数,对所述系统时间函数进行加速。
进一步的,所述装置还包括:
第三获得单元,所述第三获得单元用于获得所述IOS应用程序中的Mach-o文件;
第四获得单元,所述第四获得单元用于根据所述Mach-o文件,获得所述目标函数;
第一修改单元,所述第一修改单元用于将所述目标函数地址修改为所述加速函数。
进一步的,所述装置还包括:
第五获得单元,所述第五获得单元用于根据所述Mach-o文件,获得所述Mach-o文件的内存起始地址;
第六获得单元,所述第六获得单元用于根据所述Mach-o文件的内存起始地址,获得所述Mach-o文件的虚拟内存地址。
进一步的,所述装置还包括:
第七获得单元,所述第七获得单元用于根据所述Mach-o文件,获得所述Mach-o文件中的函数索引和函数名称;
第八获得单元,所述第八获得单元用于根据所述函数索引、所述函数名称,获得所述目标函数。
进一步的,所述装置还包括:
第九获得单元,所述第九获得单元用于根据所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址;
第二修改单元,所述第二修改单元用于将所述目标函数的内存地址修改为所述加速函数的内存地址。
进一步的,所述装置还包括:
第十获得单元,所述第十获得单元用于获得第一函数指针,所述第一函数指针用于存储所述系统时间函数;
第十一获得单元,所述第十一获得单元用于获得虚拟系统时间函数;
第一替换单元,所述第一替换单元用于通过所述加速函数,将所述系统时间函数替换为所述虚拟系统时间函数。
进一步的,所述装置还包括:
第十二获得单元,所述第十二获得单元用于根据所述系统时间函数,获得系统时间;
第十三获得单元,所述第十三获得单元用于根据所述虚拟系统时间函数,获得第一加速变量;
第一确定单元,所述第一确定单元用于根据所述系统时间、所述第一加速变量,确定第一加速时间。
第三方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。。
第四方面,本发明提供了一种IOS平台上对应用程序的加速装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
1.本申请实施例提供的一种IOS平台上对应用程序的加速方法和装置,通过获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。达到了有效防提高应用程序运行速度,从而提高对应用程序检测的效率的技术效果。
2.本申请实施例通过根据获得所述IOS应用程序中的Mach-o文件;根据所述Mach-o文件,获得所述目标函数;将所述目标函数地址修改为所述加速函数。。进一步解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。进一步达到了通过对应用程序中每个Mach-o文件中的目标函数进行加速,从而使不管是哪个Mach-o文件调用目标函数,都能被加速的技术效果。
3、本申请实施例通过根据所述系统时间函数,获得系统时间;根据所述虚拟系统时间函数,获得第一加速变量;根据所述系统时间、所述第一加速变量,确定第一加速时间。进一步解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。进一步达到了能够控制对应用程序进行加速的速度大小的技术效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图1为本发明实施例中一种IOS平台上对应用程序的加速方法的流程示意图;
图2为本发明实施例中获得IOS应用程序的加速函数的流程示意图
图3为本发明实施例中一种IOS平台上对应用程序的加速装置的结构示意图;
图4为本发明实施例中另一种IOS平台上对应用程序的加速装置的结构示意图。
具体实施方式
本发明实施例提供了一种IOS平台上对应用程序的加速方法和装置,用于解决了现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,通过获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。达到了有效防提高应用程序运行速度,从而提高对应用程序检测的效率的技术效果。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了更清楚的对本申请进行阐述,下面对本申请所涉及的专业名词进行解释:
1、iOS:是由苹果公司开发的手持设备操作系统。苹果公司最早于2007年1月9日的Macworld大会上公布这个系统,iOS最初是设计给iPhone使用的,后来陆续套用到iPodtouch、iPad以及Apple TV等苹果产品上。iOS与苹果的Mac OS X操作系统一样,它也是以Darwin为基础的,因此同样属于类Unix的商业操作系统。
2、Hook,是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。
3、Mach-O:是Mach object文件格式的缩写,是一种可执行文件、目标代码、共享程序库、动态加载代码和核心DUMP。是a.out格式的一种替代。Mach-O提供更多的可扩展性和更快的符号表信息存取。Mach-O应用在基于Mach核心的系统上,目前NeXTSTEP、Darwin、MacOS X(iPhone)都是使用这种可执行文件格式。
4、API:就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。应用程序接口是一组定义、程序及协议的集合,通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。程序员通过调用API函数对应用程序进行开发,可以减轻编程任务。API同时也是一种中间件,为各种不同平台提供数据共享。
实施例一
图1为本发明实施例中一种IOS平台上对应用程序的加速方法的流程示意图。如图1所示,所述方法包括:
步骤110:获得IOS应用程序的加速函数;
具体而言,所述加速函数为HOOK函数,具有基础的HOOK功能,也就是能够通过系统调用,把所述HOOK函数挂入系统。每当特定的函数在执行功能时,在没有到达目的窗口前,所述HOOK函数就先捕获所述特定的函数,亦即所述HOOK函数先得到控制权。这时所述HOOK函数即可以加工处理或者修改所述特定的函数。通过所述HOOK函数的功能达到对所述IOS应用程序加速的效果。
进一步的,所述获得IOS应用程序的加速函数,可以通过以下步骤来实现,如图2所示:
步骤111:获得所述IOS应用程序中的Mach-o文件;
具体而言,由于一个IOS应用程序会加载多个所述Mach-o文件,每个Mach-o文件都存储有自己的函数地址,并且每一个Mach-o文件也都有可能会调用到需要被加速的目标函数,所以为了保障对目标函数的HOOK功能,则需要对每个Mach-o文件编写HOOK函数,从而实现不管是哪个Mach-o文件调用目标函数,都能实现HOOK功能。获得IOS程序中所有Mach-o文件,具体可以通过以下方法实现:
uint32_t c=_dyld_image_count();
通过_dyld_image_count来获取IOS程序所加载的Mach-o的个数;
for(uint32_t i=0;i<c;i++)
通过for循环来遍历所述Mach-o文件,从而获得所述IOS应用程序中的所有Mach-o文件。
进一步的,根据所述Mach-o文件,获得所述Mach-o文件的内存起始地址;根据所述Mach-o文件的内存起始地址,获得所述Mach-o文件的虚拟内存地址。
具体而言,实现方式如下:
const struct mach_header*header=_dyld_get_image_header(i);
通过函数_dyld_get_image_header获取所述Mach-o文件的内存起始地址;
intptr_t slide=_dyld_get_image_vmaddr_slide(i);
通过函数_dyld_get_image_vmaddr_slide来获取所述Mach-o文件的虚拟内存地址。
步骤112:根据所述Mach-o文件,获得所述目标函数;
进一步的,所述根据所述Mach-o文件,获得所述目标函数,还包括:根据所述Mach-o文件,获得所述Mach-o文件中的函数索引和函数名称;根据所述函数索引、所述函数名称,获得所述目标函数。
具体而言,首先需要对IOS程序的Mach-o文件进行解析,从而获取到所述Mach-o文件中的函数索引和函数名称,通过函数名称便可以找出所述目标函数。
步骤113:将所述目标函数地址修改为所述加速函数。
进一步的,所述将所述目标函数地址修改为所述加速函数,还包括:根据所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址;将所述目标函数的内存地址修改为所述加速函数的内存地址。
具体而言,通过所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址后,将所述目标函数地址修改为所述加速函数的内存地址,也就是将所述目标函数内存地址修改为能够实现HOOK功能的函数内存地址。代码如下:
pSaveOrg=setion_indirect_symbol_bindings[i];
上述为原始的目标函数的内存地址。
setion_indirect_symbol_bindings[i]=pNew;
上述为能够实现HOOK功能的函数内存地址,将原始的目标函数的内存地址替换成能够实现HOOK功能的函数内存地址。从而实现使所述目标函数具有HOOK功能。对步骤111所遍历的每一个Mach-o文件都采用步骤113所述的方法,从而最终使系统的每一个Mach-o文件的目标函数都具有HOOK功能。
步骤120:获得所述IOS应用程序中的目标函数;
步骤130:确定所述目标函数为系统时间函数;
具体而言,在IOS系统中提供了这样一些API函数来获取当前系统的时间,具体则包括NSDate、CFAbsoluteTimeGetCurrent、gettimeofday3个函数,而对于这3个函数中,而只有gettimeofday函数才是获取到的是Unixtime即系统时间参数,其中,所述gettimeofday为所述系统时间函数,本申请实施例通过对所述系统时间参数进行加速,从而达到对应用程序运行的加速,例如应用程序中的渲染函数,会获取每秒钟渲染多少次帧数,那么如果时间过的越快则其实际渲染的帧数就会越多,从而整个程序看起来就是进行了加速。所以根据上述原理,本申请实施例将所述系统时间函数确定为后续步骤的目标函数。
步骤140:根据所述加速函数,对所述系统时间函数进行加速。
进一步的,所述根据所述加速函数,对所述系统时间函数进行加速,还包括:获得第一函数指针,所述第一函数指针用于存储所述系统时间函数;获得虚拟系统时间函数;通过所述加速函数,将所述系统时间函数替换为所述虚拟系统时间函数。
具体而言,定义一个函数指针,即所述第一函数指针,所述第一函数指针用于存放所述系统时间函数,也就是原始的,未经加速的gettimeofday函数,然后编写所述虚拟系统时间函数my_gettimeofday,所述虚拟系统时间函数比所述系统时间函数的时间快,然后调用所述加速函数,将所述系统时间函数替换为虚拟系统时间函数,通过所述加速函数的HOOK功能,使应用程序在调用系统时间函数前,直接执行所述虚拟系统时间函数,即完成了所述虚拟系统时间函数替换系统时间函数,从而实现对应用程序的加速。
进一步的,所述方法还包括:根据所述系统时间函数,获得系统时间;根据所述虚拟系统时间函数,获得第一加速变量;根据所述系统时间、所述第一加速变量,确定第一加速时间。
具体而言,通过所述系统时间函数,得到真实的系统时间,根据所述虚拟系统时间函数获得所述第一加速变量,所述第一加速变量决定所述虚拟系统时间加速的大小,也就是说,所述第一加速变量为所述系统时间的加速倍数,换言之,所述第一加速变量越大,应用程序的加速越快,举例来讲,如果所述第一加速变量为2,虚拟系统时间=系统时间*2,所述第一加速变量的大小可根据实际情况设定,本申请实施例不对此作任何限制。通过将获取到的系统时间的秒数和微秒数都乘以加速的倍数,那么对于IOS应用程序中所有调用gettimeofday函数来获取当前时间的地方其最终获取到的时间则是真实时间的多少倍的关系。达到了通过对gettimeofday函数进行HOOK,从而实现了对整个IOS应用程序进行加速的效果。
实施例2
基于与前述实施例中一种IOS平台上对应用程序的加速方法同样的发明构思,本发明还提供一种IOS平台上对应用程序的加速装置,如图2所示,包括:
第一获得单元11,所述第一获得单元11用于获得IOS应用程序的加速函数;
第二获得单元12,所述第二获得单元12用于获得所述IOS应用程序中的目标函数;
第一确定单元13,所述第一确定单元13用于确定所述目标函数为系统时间函数;
第一加速单元14,所述第一加速单元14用于根据所述加速函数,对所述系统时间函数进行加速。
进一步的,所述装置还包括:
第三获得单元,所述第三获得单元用于获得所述IOS应用程序中的Mach-o文件;
第四获得单元,所述第四获得单元用于根据所述Mach-o文件,获得所述目标函数;
第一修改单元,所述第一修改单元用于将所述目标函数地址修改为所述加速函数。
进一步的,所述装置还包括:
第五获得单元,所述第五获得单元用于根据所述Mach-o文件,获得所述Mach-o文件的内存起始地址;
第六获得单元,所述第六获得单元用于根据所述Mach-o文件的内存起始地址,获得所述Mach-o文件的虚拟内存地址。
进一步的,所述装置还包括:
第七获得单元,所述第七获得单元用于根据所述Mach-o文件,获得所述Mach-o文件中的函数索引和函数名称;
第八获得单元,所述第八获得单元用于根据所述函数索引、所述函数名称,获得所述目标函数。
进一步的,所述装置还包括:
第九获得单元,所述第九获得单元用于根据所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址;
第二修改单元,所述第二修改单元用于将所述目标函数的内存地址修改为所述加速函数的内存地址。
进一步的,所述装置还包括:
第十获得单元,所述第十获得单元用于获得第一函数指针,所述第一函数指针用于存储所述系统时间函数;
第十一获得单元,所述第十一获得单元用于获得虚拟系统时间函数;
第一替换单元,所述第一替换单元用于通过所述加速函数,将所述系统时间函数替换为所述虚拟系统时间函数。
进一步的,所述装置还包括:
第十二获得单元,所述第十二获得单元用于根据所述系统时间函数,获得系统时间;
第十三获得单元,所述第十三获得单元用于根据所述虚拟系统时间函数,获得第一加速变量;
第一确定单元,所述第一确定单元用于根据所述系统时间、所述第一加速变量,确定第一加速时间。
前述图1实施例1中的一种IOS平台上对应用程序的加速方法的各种变化方式和具体实例同样适用于本实施例的一种IOS平台上对应用程序的加速装置,通过前述对一种IOS平台上对应用程序的加速方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种IOS平台上对应用程序的加速装置的实施方法,所以为了说明书的简洁,在此不再详述。
实施例3
基于与前述实施例中一种IOS平台上对应用程序的加速方法同样的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述一种IOS平台上对应用程序的加速方法的任一方法的步骤。
其中,在图3中,总线架构(用总线300来代表),总线300可以包括任意数量的互联的总线和桥,总线300将包括由处理器302代表的一个或多个处理器和存储器304代表的存储器的各种电路链接在一起。总线300还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口306在总线300和接收器301和发送器303之间提供接口。接收器301和发送器303可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。
处理器302负责管理总线300和通常的处理,而存储器304可以被用于存储处理器302在执行操作时所使用的数据。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
1.本申请实施例提供的一种IOS平台上对应用程序的加速方法和装置,通过获得IOS应用程序的加速函数;获得所述IOS应用程序中的目标函数;确定所述目标函数为系统时间函数;根据所述加速函数,对所述系统时间函数进行加速。解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。达到了有效防提高应用程序运行速度,从而提高对应用程序检测的效率的技术效果。
2.本申请实施例通过根据获得所述IOS应用程序中的Mach-o文件;根据所述Mach-o文件,获得所述目标函数;将所述目标函数地址修改为所述加速函数。。进一步解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。进一步达到了通过对应用程序中每个Mach-o文件中的目标函数进行加速,从而使不管是哪个Mach-o文件调用目标函数,都能被加速的技术效果。
3、本申请实施例通过根据所述系统时间函数,获得系统时间;根据所述虚拟系统时间函数,获得第一加速变量;根据所述系统时间、所述第一加速变量,确定第一加速时间。进一步解决现有技术中在运行程序时尤其是有当程序中存在各种模块时,存在应用程序的运行速度较慢的技术问题。进一步达到了能够控制对应用程序进行加速的速度大小的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种IOS平台上对应用程序的加速方法,其特征在于,所述方法包括:
获得IOS应用程序的加速函数;
获得所述IOS应用程序中的目标函数;
确定所述目标函数为系统时间函数;
根据所述加速函数,对所述系统时间函数进行加速。
2.如权利要求1所述的方法,其特征在于,所述获得IOS应用程序的加速函数,还包括:
获得所述IOS应用程序中的Mach-o文件;
根据所述Mach-o文件,获得所述目标函数;
将所述目标函数修改为所述加速函数。
3.如权利要求2所述的方法,其特征在于,所述获得所述IOS应用程序中的Mach-o文件,还包括:
根据所述Mach-o文件,获得所述Mach-o文件的内存起始地址;
根据所述Mach-o文件的内存起始地址,获得所述Mach-o文件的虚拟内存地址。
4.如权利要求2所述的方法,其特征在于,所述根据所述Mach-o文件,获得所述目标函数,还包括:
根据所述Mach-o文件,获得所述Mach-o文件中的函数索引和函数名称;
根据所述函数索引、所述函数名称,获得所述目标函数。
5.如权利要求2所述的方法,其特征在于,所述将所述目标函数修改为所述加速函数,还包括:
根据所述Mach-o文件的虚拟内存地址,获得所述目标函数的内存地址;
将所述目标函数的内存地址修改为所述加速函数的内存地址。
6.如权利要求1所述的方法,其特征在于,所述根据所述加速函数,对所述系统时间函数进行加速,还包括:
获得第一函数指针,所述第一函数指针用于存储所述系统时间函数;
获得虚拟系统时间函数;
通过所述加速函数,将所述系统时间函数替换为所述虚拟系统时间函数。
7.如权利要求6所述的方法,其特征在于,所述方法还包括:
根据所述系统时间函数,获得系统时间;
根据所述虚拟系统时间函数,获得第一加速变量;
根据所述系统时间、所述第一加速变量,确定第一加速时间。
8.一种IOS平台上对应用程序的加速装置,其特征在于,所述装置包括:
第一获得单元,所述第一获得单元用于获得IOS应用程序的加速函数;
第二获得单元,所述第二获得单元用于获得所述IOS应用程序中的目标函数;
第一确定单元,所述第一确定单元用于确定所述目标函数为系统时间函数;
第一加速单元,所述第一加速单元用于根据所述加速函数,对所述系统时间函数进行加速。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
获得IOS应用程序的加速函数;
获得所述IOS应用程序中的目标函数;
确定所述目标函数为系统时间函数;
根据所述加速函数,对所述系统时间函数进行加速。
10.一种IOS平台上对应用程序的加速装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获得IOS应用程序的加速函数;
获得所述IOS应用程序中的目标函数;
确定所述目标函数为系统时间函数;
根据所述加速函数,对所述系统时间函数进行加速。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710755574.3A CN109753322B (zh) | 2017-08-29 | 2017-08-29 | 一种ios平台上对应用程序的加速方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710755574.3A CN109753322B (zh) | 2017-08-29 | 2017-08-29 | 一种ios平台上对应用程序的加速方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753322A true CN109753322A (zh) | 2019-05-14 |
CN109753322B CN109753322B (zh) | 2022-04-15 |
Family
ID=66397738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710755574.3A Active CN109753322B (zh) | 2017-08-29 | 2017-08-29 | 一种ios平台上对应用程序的加速方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753322B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204413A (zh) * | 2020-02-03 | 2021-08-03 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及设备 |
WO2021218172A1 (zh) * | 2020-04-30 | 2021-11-04 | 平安科技(深圳)有限公司 | 共享库文件模拟方法、装置、计算机设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506955A (en) * | 1992-10-23 | 1996-04-09 | International Business Machines Corporation | System and method for monitoring and optimizing performance in a data processing system |
CN103049628A (zh) * | 2011-10-14 | 2013-04-17 | 深圳市快播科技有限公司 | 一种网络游戏的加速方法及系统 |
CN103544095A (zh) * | 2012-07-12 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 服务器程序的监控方法及其系统 |
CN103885776A (zh) * | 2014-03-24 | 2014-06-25 | 广州华多网络科技有限公司 | 程序加速方法及其装置 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
CN106161351A (zh) * | 2015-03-31 | 2016-11-23 | 中兴通讯股份有限公司 | 流媒体服务与文件下载融合的方法、装置及cdn服务器 |
CN106230644A (zh) * | 2016-08-31 | 2016-12-14 | 北京像素软件科技股份有限公司 | 一种客户端加速的检测方法 |
US20170149795A1 (en) * | 2015-06-25 | 2017-05-25 | Websafety, Inc. | Management and control of mobile computing device using local and remote software agents |
-
2017
- 2017-08-29 CN CN201710755574.3A patent/CN109753322B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506955A (en) * | 1992-10-23 | 1996-04-09 | International Business Machines Corporation | System and method for monitoring and optimizing performance in a data processing system |
CN103049628A (zh) * | 2011-10-14 | 2013-04-17 | 深圳市快播科技有限公司 | 一种网络游戏的加速方法及系统 |
CN103544095A (zh) * | 2012-07-12 | 2014-01-29 | 腾讯科技(深圳)有限公司 | 服务器程序的监控方法及其系统 |
CN103885776A (zh) * | 2014-03-24 | 2014-06-25 | 广州华多网络科技有限公司 | 程序加速方法及其装置 |
CN104217164A (zh) * | 2014-09-11 | 2014-12-17 | 工业和信息化部电子第五研究所 | 智能移动终端恶意软件的检测方法与装置 |
CN106161351A (zh) * | 2015-03-31 | 2016-11-23 | 中兴通讯股份有限公司 | 流媒体服务与文件下载融合的方法、装置及cdn服务器 |
US20170149795A1 (en) * | 2015-06-25 | 2017-05-25 | Websafety, Inc. | Management and control of mobile computing device using local and remote software agents |
CN106126290A (zh) * | 2016-06-27 | 2016-11-16 | 微梦创科网络科技(中国)有限公司 | 应用程序优化方法、装置及系统 |
CN106230644A (zh) * | 2016-08-31 | 2016-12-14 | 北京像素软件科技股份有限公司 | 一种客户端加速的检测方法 |
Non-Patent Citations (5)
Title |
---|
CHRISTIAN J.D"ORAZIO等: ""A Markov adversary model to detect vulnerable iOS devices and vulnerabilities in iOS apps"", 《APPLIED MATHEMATICS AND COMPUTATION》 * |
岁月静好,时光匆匆: ""Android下的挂钩(hook)和代码注入(inject)"", 《HTTPS://WWW.CNBLOGS.COM/SYJHSGCC/P/4788353.HTML》 * |
李峰峰: ""iOS逆向工程之fishhook"", 《HTTPS://IMLIFENGFENG.GITHUB.IO/ARTICLE/692/》 * |
管理员: ""蜂窝脚本IOS加速器分析"", 《HTTPS://GSLAB.QQ.COM/ARTICLE-252-1.HTML》 * |
黄佳: "检测游戏是否存在作弊行为的方法", 《企业科技与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113204413A (zh) * | 2020-02-03 | 2021-08-03 | 阿里巴巴集团控股有限公司 | 任务处理方法、装置及设备 |
WO2021218172A1 (zh) * | 2020-04-30 | 2021-11-04 | 平安科技(深圳)有限公司 | 共享库文件模拟方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109753322B (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220355205A1 (en) | Method and system for interactive imitation learning in video games | |
CN110750255B (zh) | 一种小程序渲染方法和装置 | |
JP6753200B2 (ja) | シミュレートされたオペレータ・トレーニング・システムに対するクラウド・ベースのコンピューティング・クラスタのための方法、システムおよびコンピュータ・プログラム | |
CN106462407A (zh) | 用于语言无关调度的代码服务 | |
US9753851B2 (en) | Multi-section garbage collection system including real-time garbage collection scheduling | |
CN109656646B (zh) | 一种远程桌面控制方法、装置、设备及虚拟化芯片 | |
US8938712B2 (en) | Cross-platform virtual machine and method | |
US20210379489A1 (en) | Method and system for incremental topological update within a data flow graph in gaming | |
CN109753322A (zh) | 一种ios平台上对应用程序的加速方法和装置 | |
CN109933401A (zh) | 一种悬浮窗视图的展示方法及相关设备 | |
CN108470443A (zh) | 一种交通事故的责任判定方法和装置 | |
US20170060617A1 (en) | Scaling past the java virtual machine thread limit | |
CN113778593A (zh) | 云桌面控制方法、装置、电子设备、存储介质及程序产品 | |
CN113780847A (zh) | 基于物联网的智慧社区信息处理方法及服务器 | |
US20170140839A1 (en) | Address translation stimuli generation for post-silicon functional validation | |
CN110347522A (zh) | 一种服务端和客户端一体化的实现方法 | |
US20180052700A1 (en) | Facilitation of guest application display from host operating system | |
US10289219B2 (en) | Communicating with an unsupported input device | |
CN113361059A (zh) | 车辆模拟场景的生成方法及相关设备 | |
EP4328748A1 (en) | Data processing method and apparatus, computer device, computer-readable storage medium, and computer program product | |
CN107786382B (zh) | 接口选择方法、装置、测试控制台及测试系统 | |
CN114924837A (zh) | 数据处理方法、电子设备和可读存储介质 | |
CN106648640A (zh) | 一种简化代码的方法和装置 | |
CN107291559A (zh) | 一种控制cpu线程和gpu线程同步的方法及装置 | |
JP2007293761A (ja) | エージェントの配置プログラム、方法、および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |