[发明专利]SO中类成员函数保护方法、存储介质、电子设备及系统在审
申请号: | 202111535328.X | 申请日: | 2021-12-15 |
公开(公告)号: | CN114238871A | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 周志刚 | 申请(专利权)人: | 武汉斗鱼鱼乐网络科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F9/448 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 余浩 |
地址: | 430000 湖北省武汉市东湖新技术开发区软件园东路*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | so 成员 函数 保护 方法 存储 介质 电子设备 系统 | ||
本发明公开了一种SO中类成员函数保护方法、存储介质、电子设备及系统,涉及互联网应用开发领域。该方法包括:根据各SO文件中虚成员函数的拆分需求,设置SO文件间的依赖关系;并对SO文件的虚成员函数、加载初始化进行设置;通过预设的数据结构记录SO文件中虚成员函数的拆分映射关系;对需要拆分的虚成员函数执行拆分操作,使得类的虚成员函数按照拆分映射关系被拆分到不同目标SO文件中;对类的创建代码进行Hook修改,使得对应类在创建后,当其调用其虚成员函数时能够调用到对应目标SO文件中的相应虚成员函数代码。本发明使得SO文件中的类的成员函数不易被破解,有效提高了核心功能函数的安全性,满足了实际应用需求。
技术领域
本发明涉及互联网应用开发领域,具体来讲是一种SO中类成员函数保护方法、存储介质、电子设备及系统。
背景技术
对于操作系统为Linux的电子设备来说,会有很多核心功能编写在SO文件中。例如,账号登陆的算法,其作为安全保护的核心功能并不想被外界查看到,就需要使用底层的SO文件,在SO层内部对账号登陆的算法进行编写,然后对内外都留有接口用于互相通信或是互相调用。进一步来说,所谓SO文件是Linux下的动态链接库,其作用相当于Windows下的.dll文件。在Android中可通过JNI的方式调用动态库文件(*.so)加载SO文件的提供的API。
而实际应用中,由于SO文件通常是由C++语言来编写,而C++中所有的函数则都是由类进行封装,对于一个类中的所有函数编译器则会将所有函数的代码连续的写入SO文件中。那么,对于黑客来说,一旦获取到SO文件则可以直接使用,同时基于类的函数可以找到此类的所有接口,也就可以十分方便地进行函数逆向分析等操作,进而导致核心功能的函数容易被黑客所逆向破解,安全性难以保证。
因此,如何有效地对SO文件中类的成员函数进行保护,从而提高核心功能函数的安全性,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种SO中类成员函数保护方法、存储介质、电子设备及系统,使得Linux操作系统的电子设备中SO文件的类的成员函数不易被破解,有效提高了核心功能函数的安全性,满足了实际应用需求。
为达到以上目的,第一方面,本发明实施例提供一种SO中类成员函数保护方法,其包括:
根据各SO文件中虚成员函数的拆分需求,设置SO文件间的依赖关系;并对SO文件的虚成员函数、加载初始化进行设置;
通过预设的数据结构记录SO文件中虚成员函数的拆分映射关系;
对需要进行拆分的SO文件中的虚成员函数执行拆分操作,使得类的虚成员函数按照所述拆分映射关系被拆分到不同的目标SO文件中;
对已执行拆分操作的SO文件的类的创建代码进行Hook修改,使得对应的类在创建后,当其调用其虚成员函数时能够调用到对应目标SO文件中的相应虚成员函数代码。
作为一个优选的实施方案,对SO文件的虚成员函数、加载初始化进行设置,具体包括以下操作:
对SO文件的虚成员函数进行设置,使其没有调用其他全局变量或者全局函数;
对SO文件的加载初始化进行设置,使得该SO文件在调用系统初始化函数进行加载初始化时,不进行类的创建操作以及调用其被拆分的类的成员函数;并将具有依赖关系的所有SO文件同时进行加载。
作为一个优选的实施方案,所述预设的数据结构包括以下成员变量:虚成员函数被拆分的SO文件名、虚成员函数被拆分的类名、被拆分的虚成员函数的偏移地址、被拆分的虚成员函数的大小、目标SO文件名、目标SO文件中存储被拆分的虚成员函数的偏移地址。
作为一个优选的实施方案,该方法还包括:在每个目标SO文件中增设一个代码段,所述代码段用于存储被拆分的虚成员函数的代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼鱼乐网络科技有限公司,未经武汉斗鱼鱼乐网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111535328.X/2.html,转载请声明来源钻瓜专利网。