[发明专利]SO文件调用的方法及装置有效
申请号: | 201811595257.0 | 申请日: | 2018-12-25 |
公开(公告)号: | CN109635589B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 向波;李东 | 申请(专利权)人: | 成都卫士通信息产业股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/52 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 610041 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | so 文件 调用 方法 装置 | ||
1.一种SO文件调用的方法,其特征在于,包括:
确定SO文件中的函数列表以及所述函数列表中各函数的执行流程;
定义枚举量与所述函数列表一一对应的枚举类型E;
定义类型为所述枚举类型E的全局状态变量S;其中,所述全局状态变量S用于存储所述函数列表中最后一次被调用的函数对应的枚举量的值;
在接收到函数调用命令时,先获取在所述执行流程中当前函数的上一函数对应枚举量的值S1,再判断所述S1与所述全局状态变量S的值是否相等;
若所述S1与所述全局状态变量S的值相等,则将所述当前函数对应的枚举变量赋值给所述全局状态变量S,并执行所述函数调用命令调用所述当前函数;
若所述S1与所述全局状态变量S的值不相等,则终止所述SO文件所属的应用程序。
2.根据权利要求1所述的方法,其特征在于,在确定SO文件中的函数列表以及所述函数列表中各函数的执行流程之前,还包括:
确定所述SO文件中用于提供给所述SO文件内部各个源文件之间相互调用的定义为static类型的B类方法;
定义枚举量与所述B类方法一一对应的枚举类型F,并设置所述枚举类型F的枚举量的值从0开始递增;
定义全局函数指针数组G,并将所述B类方法的地址以及所述B类方法对应的枚举量作为下标存入所述全局函数指针数组G中。
3.根据权利要求2所述的方法,其特征在于,当接收到的函数调用命令为所述B类方法的调用命令时,所述执行所述函数调用命令调用所述当前函数,包括:
根据所述B类方法的调用命令确定待调用方法的枚举量;
在所述全局函数指针数组G中根据所述待调用方法的枚举量确定所述待调用方法的地址;
根据所述待调用方法的地址对所述待调用方法进行调用。
4.根据权利要求1-3任一项所述的方法,其特征在于,在执行所述函数调用命令调用所述当前函数之前,还包括:
确定所述SO文件中需要保护的方法F1;
根据接收到的修改命令对所述方法F1进行修改,以使所述方法F1被调用N次时才执行1次;其中,所述N为1毫秒内调用所述方法F1的次数;
计算所述方法F1在正常运行环境中被调用N-1次所耗时的区间值[t1,t2];
计算所述方法F1在所述应用程序中被调用N-1次所耗的时间T,并判断所述时间T是否在区间值[t1,t2]内;
若所述时间T在所述区间值[t1,t2]内,则进入所述执行所述函数调用命令调用所述当前函数的步骤;
若所述时间T不在所述区间值[t1,t2]内,则终止所述应用程序。
5.一种SO文件调用的装置,其特征在于,包括:
第一确定模块,用于确定SO文件中的函数列表以及所述函数列表中各函数的执行流程;
第一定义模块,用于定义枚举量与所述函数列表一一对应的枚举类型E;
第二定义模块,用于定义类型为所述枚举类型E的全局状态变量S;其中,所述全局状态变量S用于存储所述函数列表中最后一次被调用的函数对应的枚举量的值;
获取及判断模块,用于在接收到函数调用命令时,先获取在所述执行流程中当前函数的上一函数对应枚举量的值S1,再判断所述S1与所述全局状态变量S的值是否相等;
函数调用模块,用于当所述S1与所述全局状态变量S的值相等时,将所述当前函数对应的枚举变量赋值给所述全局状态变量S,并执行所述函数调用命令调用所述当前函数;
终止模块,用于当所述S1与所述全局状态变量S的值不相等时,终止所述SO文件所属的应用程序。
6.根据权利要求5所述的装置,其特征在于,还包括:
第二确定模块,用于确定所述SO文件中用于提供给所述SO文件内部各个源文件之间相互调用的定义为static类型的B类方法;
第三定义模块,用于定义枚举量与所述B类方法一一对应的枚举类型F,并设置所述枚举类型F的枚举量的值从0开始递增;
第四定义模块,用于定义全局函数指针数组G,并将所述B类方法的地址以及所述B类方法对应的枚举量作为下标存入所述全局函数指针数组G中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都卫士通信息产业股份有限公司,未经成都卫士通信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811595257.0/1.html,转载请声明来源钻瓜专利网。