[发明专利]代码混淆方法及装置在审
申请号: | 202111397996.0 | 申请日: | 2021-11-23 |
公开(公告)号: | CN114090966A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 赵禅 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京亿腾知识产权代理事务所(普通合伙) 11309 | 代理人: | 陈霁;周良玉 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 代码 混淆 方法 装置 | ||
本说明书实施例中提供了一种代码混淆方法及装置。该方法包括:针对当前待进行代码混淆的第一代码文件中的第一函数符号,获取函数名生成组件针对该第一函数符号生成的第二函数符号和指示信息,其中该指示信息用于指示该第一代码文件中是否包含由该第一函数符号进行标识的目标函数;该第一代码文件中未包含目标函数时,根据该第二函数符号确定该第一代码文件依赖的第二代码文件中是否包含目标函数;当确定第二代码文件中包含目标函数时,对第一函数符号进行代码混淆。
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及一种代码混淆方法及装置。
背景技术
应用程序的安全保护是计算机安全领域的重点研究内容之一。为了避免入侵者使用各种静态分析工具对应用程序的可执行文件进行反汇编或反编译,从而获得应用程序的执行逻辑以非法窃取相关信息,需要对应用程序的代码文件实施代码混淆。
发明内容
本说明书一个或多个实施例中提供了一种代码混淆方法及装置。
第一方面,提供了一种代码混淆方法,包括:针对当前待进行代码混淆的第一代码文件中的第一函数符号,获取函数名生成组件针对所述第一函数符号生成的第二函数符号和指示信息,其中所述指示信息用于指示所述第一代码文件中是否包含由所述第一函数符号进行标识的目标函数;当所述第一代码文件中未包含所述目标函数时,根据所述第二函数符号确定所述第一代码文件依赖的第二代码文件中是否包含所述目标函数;当所述第二代码文件中包含所述目标函数时,对所述第一函数符号进行代码混淆。
在一种可能的实施方式中,所述方法还包括:当所述第一代码文件中包含所述目标函数时,对所述第一函数符号进行代码混淆。
在一种可能的实施方式中,所述方法还包括:当所述第一代码文件中包含所述目标函数时,将所述第二函数符号加入由编译器针对第一可编译单元维护的本地符号缓存表,所述第一代码文件属于所述第一可编译单元。
在一种可能的实施方式中,所述方法还包括:当所述第一代码文件中包含所述目标函数时,通过进程间通信向包管理器发送所述第二函数符号,使所述包管理器将所述第二函数符号加入其针对第一项目维护的远程符号缓存表,其中所述第一代码文件所属的可编译单元包含于所述第一项目。
在一种可能的实施方式中,所述根据所述第二函数符号确定所述第一代码文件依赖的第二代码文件中是否包含所述目标函数,包括:确定由编译器针对第一可编译单元维护的本地符号缓存表中是否包括所述第二函数符号,其中所述第一代码文件属于所述第一可编译单元。
在一种可能的实施方式中,所述根据所述第二函数符号确定所述第一代码文件依赖的第二代码文件中是否包含所述目标函数,还包括:当所述本地符号缓存表中不包括所述第二函数符号时,通过进程间通信向包管理器发送包含所述第二函数符号的查询请求,使所述包管理器通过进程间通信返回查询结果,其中所述查询结果用于指示所述包管理器针对第一项目维护的远程符号缓存表中是否包括所述第二函数符号,所述第一代码文件所属的可编译单元包含于所述第一项目。
在一种可能的实施方式中,所述对所述第一函数符号进行代码混淆包括:计算所述第二函数符号的摘要值,并将所述第一代码文件中的所述第一函数符号替换为所述摘要值。
第二方面,提供了一种代码混淆装置,包括:监听处理单元,配置为针对当前待进行代码混淆的第一代码文件中的第一函数符号,获取函数名生成组件针对所述第一函数符号生成的第二函数符号和指示信息,其中所述指示信息用于指示所述第一代码文件中是否包含由所述第一函数符号进行标识的目标函数;确定单元,配置为当所述第一代码文件中未包含所述目标函数时,根据所述第二函数符号确定所述第一代码文件依赖的第二代码文件中是否包含所述目标函数;混淆处理单元,配置为当所述第二代码文件中包含所述目标函数时,对所述第一函数符号进行代码混淆。
在一种可能的实施方式中,所述混淆处理单元,还配置为当所述第一代码文件中包含所述目标函数时,对所述第一函数符号进行代码混淆。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111397996.0/2.html,转载请声明来源钻瓜专利网。