【技术实现步骤摘要】
加固应用、加载加固应用的方法和装置
本申请涉及计算机
,具体涉及信息安全
,尤其涉及加固应用、加载加固应用的方法和装置。
技术介绍
终端应用发布之后,用户可以通过反编译工具查看到应用的源程序代码。一些用户查看应用的源程序代码以窃取他人劳动成果,或者通过在代码中插入其他程序(如病毒代码)等操作对应用的源程序代码进行加工,干扰其他用户对终端应用的正常使用,甚至侵犯其他用户的信息安全。现有技术中,通常将壳程序和终端应用的源程序拼接在一起,并且将终端应用的源程序中可执行文件(executablefile,如dex文件)的长度(如字节数)放置于拼接文件的末尾。这种终端应用的加固方法,往往适用包含一个可执行文件的终端应用,当终端应用有多个可执行文件时,无法和壳程序拼接。因此,需要提供一种能够对包含一个或多个可执行文件的终端应用进行加固的通用方法。
技术实现思路
本申请的目的在于提出一种改进的加固应用的方法和装置,以及加载加固应用方法和装置,来解决以上
技术介绍
部分提到的技术问题。第一方面,本申请提供了一种加固应用的方法,该方法包括:从待加固应用的源程序中获取至少一个可执行文件;将该至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为第一资源文件;将该至少一个可执行文件的文件长度按照相应可执行文件的拼接顺序排列后按照第二预设加密算法加密,以作为第二资源文件;基于对资源文件的压缩生成待加固应用的安装包文件,其中,资源文件包括上述第一资源文件、第二资源文件、包括与第一预设加密算法、第二预设加密算法分别相对应的解密算法的第三资源文件。在一些实施例中,将该至少一个可 ...
【技术保护点】
一种加固应用的方法,其特征在于,所述方法包括:从待加固应用的源程序中获取至少一个可执行文件;将所述至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为第一资源文件;将所述至少一个可执行文件的文件长度按照相应可执行文件的拼接顺序排列后按照第二预设加密算法加密,以作为第二资源文件;基于对资源文件的压缩生成所述待加固应用的安装包文件,其中,所述资源文件包括所述第一资源文件、所述第二资源文件、包括与所述第一预设加密算法、第二预设加密算法分别相对应的解密算法的第三资源文件。
【技术特征摘要】
1.一种加固应用的方法,其特征在于,所述方法包括:从待加固应用的源程序中获取至少一个可执行文件;将所述至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为第一资源文件;将所述至少一个可执行文件的文件长度按照相应可执行文件的拼接顺序排列后按照第二预设加密算法加密,以作为第二资源文件;基于对资源文件的压缩生成所述待加固应用的安装包文件,其中,所述资源文件包括所述第一资源文件、所述第二资源文件、包括与所述第一预设加密算法、第二预设加密算法分别相对应的解密算法的第三资源文件。2.根据权利要求1所述的方法,其特征在于,所述将所述至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为第一资源文件包括:将各个可执行文件的类加载器分别置换成预定类加载器;将置换类加载器后的所述至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为所述第一资源文件;以及所述资源文件还包括:记录各个可执行文件的类加载器与所置换的自定义类加载器之间的映射关系的第四资源文件。3.根据权利要求1或2所述的方法,其特征在于,所述方法通过调用本地开发工具包的逻辑实现。4.一种加载加固应用的方法,其特征在于,所述方法包括:从所述加固应用的安装包文件获取资源文件,其中,所述资源文件包括:将所述加固应用的至少一个可执行文件按照第一预设加密算法加密后进行拼接生成的第一资源文件,将所述至少一个可执行文件的文件长度按照相应可执行文件的拼接顺序排列后按照第二预设加密算法加密生成的第二资源文件,包括与所述第一预设加密算法、第二预设加密算法分别相对应的解密算法的第三资源文件;通过所述第三资源文件中与所述第二预设加密算法相对应的解密算法解密所述第二资源文件,以获取所述第一资源文件中各个可执行文件的文件长度;根据所获取的各个可执行文件的文件长度从所述第一资源文件中获取所述至少一个可执行文件;根据所获取的可执行文件加载所述加固应用。5.根据权利要求4所述的方法,其特征在于,所述资源文件还包括记录各个可执行文件的类加载器与所置换的预设类加载器之间的映射关系的第四资源文件;以及所述根据所获取的可执行文件安装或运行所述加固应用包括:检测各个可执行文件中是否包含所述预定类加载器;若包含,创建所述预定类加载器的对象,用于置换所述映射关系中记载的可执行文件中与所述预定类加载器相应的类加载器。6.根据权利要求5所述的方法,其特征在于,所述根据所获取的可执行文件加载所述加固应用还包括:从所述至少一个可执行文件中获取加固应用入口的应用对象名称;创建与加固应用入口的应用对象名称对应的应用对象;通过所述映射关系将所创建的应用对象的应用信息置换成加固用用的应用信息。7.根据权利要求4-6中任一所述的方法,其特征在于,所述根据所获取的可执行文件加载所述加固应用包括:将所获取的可执行文件通过预设密钥算法计算得到校验值;响应于所述校验值与预设值一致,加载所述加固应用,其中,所述预设值由服务器对源程序的可执行文件通过所述预设密钥算法计算得到。8.一种加固应用的装置,其特征在于,所述装置包括:获取模块,配置用于从待加固应用的源程序中获取至少一个可执行文件;第一生成模块,配置用于将所述至少一个可执行文件通过第一预设加密算法加密后进行拼接以作为第一资源文件;第二生成模块,配置用于将所述至少一个可执行文件的文件长度按照相应可执行文件的拼接顺序排列后按照第二预设加密算法加密,以作为第二资源文件;第三生成模块,配置用于...
【专利技术属性】
技术研发人员:刘仁斐,卢华,何戬,
申请(专利权)人:百度在线网络技术北京有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。