[发明专利]一种防止java程序被反编译的系统有效
申请号: | 202110383655.1 | 申请日: | 2021-04-09 |
公开(公告)号: | CN113094666B | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 叶新江;刘宇;方毅;董霖;陈文容;李柳音 | 申请(专利权)人: | 每日互动股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京锺维联合知识产权代理有限公司 11579 | 代理人: | 丁慧玲 |
地址: | 310012 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 java 程序 反编译 系统 | ||
1.一种防止java程序被反编译系统,其特征在于,
包括预设的ELF头部信息列表、终端机型列表,处理器和存储有计算机程序的存储器,所述ELF头部信息列表中存储多个待抹除的ELF头部信息,所述终端机型列表中存储有多个预设终端机型信息,当所述计算机程序被处理器执行时,实现以下步骤:
步骤B1、解析待处理的ELF文件获取待处理的ELF文件的文件头信息;
步骤B2、将所述待处理的ELF文件的文件头信息中的一个或多个待抹除的ELF头部信息抹除,得到待运行的ELF文件;
步骤B3、遍历所述终端机型列表,依次将所述待运行的ELF文件加载至每一预设终端机型信息对应的安卓系统中,并判断能否运行,若在所有预设终端机型信息对应的安卓系统中均能运行,则执行步骤B4;
步骤B4、调用预设反编译工具识别每一预设终端机型信息对应的安卓系统中所运行的待运行的ELF文件,若全部识别失败,则将当前抹除的待抹除的ELF头部信息确定为目标信息,循环执行步骤B2-步骤B4,直至确定所有目标信息,生成目标信息列表;
步骤B5、从所述目标信息列表中选择一个目标信息,将所述待处理的ELF文件的ELF文件头信息中的该目标信息抹除,生成ELF加固文件。
2.根据权利要求1所述的系统,其特征在于,
所述步骤B5中,从目标信息列表中选择包含待抹除的ELF头部信息最多的目标信息进行抹除。
3.根据权利要求1所述的系统,其特征在于,
所述预设反编译工具为IDA反编译器。
4.根据权利要求1所述的系统,其特征在于,
所述系统还包括每一类DAlvik指令对应的预设DAlvik指令集,每一所述预设DAlvik指令集包括多个DAlvik指令和每一DAlvik指令对应的指令id,每一所述预设DAlvik指令集中的DAlvik指令的指令id由对应DAlvik指令类别的原始DAlvik指令集中的DAlvik指令id打乱排序得到,每一预设DAlvik指令集中的DAlvik的指令id与原始DAlvik指令集中对应的DAlvik指令id均不相同,所述待处理的ELF文件为基于所有类别的预设DAlvik指令集获取的SO文件,当所述计算机程序被处理器执行时,还实现以下步骤:
步骤A1、从待处理的java字节码中获取所有目标代码段;
步骤A2、将每一目标代码段转换为对应的目标dex字节码;
步骤A3、基于所有类别DAlvik指令对应的预设DAlvik指令集将每一目标dex字节码转换为预设DAlvik指令集能够执行的目标指令集和目标指令集中每一目标指令对应的数据,基于所有目标dex字节码对应的目标指令集和目标指令集中每一目标指令对应的数据生成第一可执行文件;
步骤A4、基于所有目标dex字节码与对应的目标指令集中每一目标指令对应的数据的转换关系在SO文件中动态生成目标解释器;
步骤A5、将待处理的java字节码中所有的目标代码段置空,并在每一代码段添加对应的关联标记,得到预处理java字节码,将所述预处理java字节码转换为加固dex文件,所述关联标记用于作为目标解释器的启动标记,以及用于从所述第一可执行文件关联该关联标记对应的目标指令集和目标指令集中每一目标指令对应的数据。
5.根据权利要求4所述的系统,其特征在于,
在执行所述加固dex文件的过程中,实现以下步骤:
步骤A6、当执行到关联标记的位置时,启动所述目标解释器,并基于所述关联标记从所述第一可执行文件中依次获取该关联标记对应的目标指令集中每一目标指令以及每一目标指令对应的数据,进行加载至内存中执行,直至该关联标记对应的目标指令集中的指令执行完毕。
6.根据权利要求4所述的系统,其特征在于,
所述系统还包括预设的第一目标函数列表,所述第一目标函数列表的字段包括目标函数的名称,目标函数对应的起始地址,所述A1包括:
步骤A11、基于所述第一目标函数列表遍历所述待处理的java字节码;
步骤A12、基于每一目标函数对应的起始地址获取每一第一目标函数列表对应的目标代码段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于每日互动股份有限公司,未经每日互动股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110383655.1/1.html,转载请声明来源钻瓜专利网。