基于应用安装包文件的代码转换方法及装置制造方法及图纸

技术编号:20843363 阅读:55 留言:0更新日期:2019-04-13 08:49
本发明专利技术公开了一种基于应用安装包文件的代码转换方法及装置,其中,方法包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的加固规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。该方式通过将应用安装包文件中待保护代码进行转换,将待保护代码转换为难以被反编译的形式的代码,增加了反编译的难度以及复杂度,能够有效对待保护代码进行保护,基于转换之后的待保护代码生成新的应用安装包文件,从而提高了应用的安全性。

【技术实现步骤摘要】
基于应用安装包文件的代码转换方法及装置
本专利技术涉及计算机
,具体涉及一种基于应用安装包文件的代码转换方法及装置。
技术介绍
目前,移动应用的种类和功能越来越繁多,随着科技的发展,编写的代码、数据以及应用等越来越容易被黑客恶意攻破,因此,保证用户所使用的应用安全成为使用应用时面临的最大问题。现有技术中,在不破坏应用的情况下,往往针对打包好的应用安装包文件进行加固保护,能够在一定的程度上防止编写完成的代码被反编译分析,保障源码的安全,进而保障应用的安全。但是,现有技术存在如下不足:现有的移动应用大多数采用Java语言进行编译,采用上述现有技术在对移动应用进行加固保护时,往往在待保护应用的Java层进行加密保护,但是反编译工具很容易对Java层的语言进行反编译,从而不能有效地保障应用的安全。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于应用安装包文件的代码转换方法及装置。根据本专利技术的一个方面,提供了一种基于应用安装包文件的代码转换方法,包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的转换规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:将转换代码写入预设指定文件中;根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,将转换代码写入预设指定文件中进一步包括:对转换代码进行混淆处理,将经过混淆处理的转换代码写入预设指定文件中;则根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:根据写入经过混淆处理的转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:在抽象语法树中添加用于加载写入转换代码的预设指定文件的静态代码块;根据写入转换代码的预设指定文件、添加了静态代码块的抽象语法树以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码的步骤具体包括:针对待保护代码所对应的程序代码,将待保护代码替换为本地代码,并擦除程序代码中待保护代码所对应的方法数据,得到替换后的程序代码。可选地,按照预设的转换规则对抽象语法树的节点中的内容进行处理的步骤之前,方法进一步包括:根据待保护代码的类型将抽象语法树划分为多个节点。可选地,当待保护代码的类型为表达式类型时,根据待保护代码的类型将抽象语法树划分为多个节点进一步包括:基于抽象语法树的类型,根据待保护代码中的表达式中的各个变量将抽象语法树划分为多个节点;或者,当待保护代码的类型为多维数组类型时,根据待保护代码的类型将抽象语法树划分为多个节点进一步包括:根据本地接口将多维数组进行变换,根据变换之后的多维数组将抽象语法树划分为多个节点。可选地,预设指定文件具体为可执行文件。可选地,抽象语法树为Jimple形式的抽象语法树。可选地,对应用安装包文件进行反编译,得到抽象语法树进一步包括:对应用安装包文件进行过滤处理,对过滤后的应用安装包文件进行反编译,得到待保护代码对应的抽象语法树。根据本专利技术的另一方面,提供了一种基于应用安装包文件的代码转换装置,包括:反编译模块,适于对应用安装包文件进行反编译,得到抽象语法树;代码转换模块,适于按照预设的转换规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;替换处理模块,适于针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;生成模块,适于根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,生成模块进一步适于:将转换代码写入预设指定文件中;根据写入转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,生成模块进一步适于:对转换代码进行混淆处理,将经过混淆处理的转换代码写入预设指定文件中;根据写入经过混淆处理的转换代码的预设指定文件以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,生成模块进一步适于:在抽象语法树中添加用于加载写入转换代码的预设指定文件的静态代码块;根据写入转换代码的预设指定文件、添加了静态代码块的抽象语法树以及替换后的程序代码打包生成经过代码转换的应用安装包文件。可选地,替换处理模块进一步适于:针对待保护代码所对应的程序代码,将待保护代码替换为本地代码,并擦除程序代码中待保护代码所对应的方法数据,得到替换后的程序代码。可选地,代码转换模块进一步适于:根据待保护代码的类型将抽象语法树划分为多个节点。可选地,当待保护代码的类型为表达式类型时,代码转换模块进一步适于:基于抽象语法树的类型,根据待保护代码中的表达式中的各个变量将抽象语法树划分为多个节点;或者,当待保护代码的类型为多维数组类型时,代码转换模块进一步适于:根据本地接口将多维数组进行变换,根据变换之后的多维数组将抽象语法树划分为多个节点。可选地,预设指定文件具体为可执行文件。可选地,抽象语法树为Jimple形式的抽象语法树。可选地,反编译模块进一步适于:对应用安装包文件进行过滤处理,对过滤后的应用安装包文件进行反编译,得到待保护代码对应的抽象语法树。根据本专利技术的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述基于应用安装包文件的代码转换方法对应的操作。根据本专利技术的另一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述基于应用安装包文件的代码转换方法对应的操作。根据本专利技术提供的基于应用安装包文件的代码转换方法及装置,其中,方法包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的转换规则对抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据转换代码以及替换后的程序代码打包生成经过代码转换的应用安装包文件。该方式通过将应用安装包文件中待保护代码进行转换,得到的转换代码的反编译难度高于待保护代码的反编译难度,增加了反编译的难度以及复杂度,能够有效对待保护代码进行保护,基于转换之后的待保护代码生成新的应用安装包文件,从而提高了应用的安全性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实本文档来自技高网...

【技术保护点】
1.一种基于应用安装包文件的代码转换方法,其特征在于,包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的转换规则对所述抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对所述待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据所述转换代码以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件。

【技术特征摘要】
1.一种基于应用安装包文件的代码转换方法,其特征在于,包括:对应用安装包文件进行反编译,得到抽象语法树;按照预设的转换规则对所述抽象语法树的节点中的内容进行处理,得到与待保护代码相对应的转换代码;针对所述待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码;根据所述转换代码以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件。2.根据权利要求1所述的方法,其特征在于,所述根据所述转换代码以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:将所述转换代码写入预设指定文件中;根据写入所述转换代码的预设指定文件以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件。3.根据权利要求2所述的方法,其特征在于,所述将所述转换代码写入预设指定文件中进一步包括:对所述转换代码进行混淆处理,将经过混淆处理的转换代码写入预设指定文件中;则根据写入所述转换代码的预设指定文件以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:根据写入经过混淆处理的转换代码的预设指定文件以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件。4.根据权利要求2或3所述的方法,其特征在于,所述根据写入所述转换代码的预设指定文件以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件进一步包括:在所述抽象语法树中添加用于加载所述写入所述转换代码的预设指定文件的静态代码块;根据所述写入所述转换代码的预设指定文件、添加了所述静态代码块的抽象语法树以及所述替换后的程序代码打包生成经过代码转换的应用安装包文件。5.根据权利要求1所述的方法,其特征在于,所述针对所述待保护代码所对应的程序代码进行代码替换处理,得到替换后的程序代码的步骤具体包括:针对所述待保护代码所对应的程序代码,将所述待保护代码替换为本地代码...

【专利技术属性】
技术研发人员:汪德嘉华保健刘庆川葛琦峰
申请(专利权)人:江苏通付盾信息安全技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1