[发明专利]基于应用安装包文件的代码转换方法及装置有效
申请号: | 201811386200.X | 申请日: | 2018-11-20 |
公开(公告)号: | CN109614772B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 汪德嘉;华保健;刘庆川;葛琦峰 | 申请(专利权)人: | 江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/62 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 215000 江苏省苏州市工业*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 应用 安装 文件 代码 转换 方法 装置 | ||
本发明公开了一种基于应用安装包文件的代码转换方法及装置,其中,方法包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的加固规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。该方式通过将应用安装包文件中待保护代码进行转换,将待保护代码转换为难以被反编译的形式的代码,增加了反编译的难度以及复杂度,能够有效对待保护代码进行保护,基于转换之后的待保护代码生成新的应用安装包文件,从而提高了应用的安全性。
技术领域
本发明涉及计算机技术领域,具体涉及一种基于应用安装包文件的代码转换方法及装置。
背景技术
目前,移动应用的种类和功能越来越繁多,随着科技的发展,编写的代码、数据以及应用等越来越容易被黑客恶意攻破,因此,保证用户所使用的应用安全成为使用应用时面临的最大问题。现有技术中,在不破坏应用的情况下,往往针对打包好的应用安装包文件进行加固保护,能够在一定的程度上防止编写完成的代码被反编译分析,保障源码的安全,进而保障应用的安全。
但是,现有技术存在如下不足:现有的移动应用大多数采用Java语言进行编译,采用上述现有技术在对移动应用进行加固保护时,往往在待保护应用的Java层进行加密保护,但是反编译工具很容易对Java层的语言进行反编译,从而不能有效地保障应用的安全。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的基于应用安装包文件的代码转换方法及装置。
根据本发明的一个方面,提供了一种基于应用安装包文件的代码转换方法,包括:
对应用安装包文件进行反编译,得到抽象语法树;
按照预设的转换规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;
针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;
根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。
可选地,根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:
将转换代码写入预设指定文件中;
根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。
可选地,将转换代码写入预设指定文件中进一步包括:
对转换代码进行混淆处理,将经过混淆处理的转换代码写入预设指定文件中;
则根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:
根据写入经过混淆处理的转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。
可选地,根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:
在抽象语法树中添加用于加载写入转换代码的预设指定文件的静态代码块;
根据写入转换代码的预设指定文件、添加了静态代码块的抽象语法树以及替换后的程序代码打包生成经过代码转换的应用安装包文件。
可选地,针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码的步骤具体包括:
针对待保护代码所对应的程序代码,将待保护代码替换为本地代码,并擦除程序代码中待保护代码所对应的方法数据,得到替换后的程序代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司,未经江苏通付盾信息安全技术有限公司;江苏通付盾科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811386200.X/2.html,转载请声明来源钻瓜专利网。