[发明专利]一种JAVA程序反混淆方法及终端有效
申请号: | 201711418874.9 | 申请日: | 2017-12-25 |
公开(公告)号: | CN108153518B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 张涛;苏再添;吴少华 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/53 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种JAVA程序反混淆方法及终端,根据所述第一索引及预设的第二索引集合,重命名所述JAVA程序中的包名、类名、接口名及成员变量,得到第一JAVA程序,并通过OpenJDK记录Java虚拟机执行所述字节码时的执行信息,删除第一JAVA程序未调用的成员变量及函数,得到第二JAVA程序,以及根据执行信息中的语句执行流程,删除第二JAVA程序中未执行的语句,得到优化JAVA程序;本发明通过上述方法,解决了原本混淆过的Jar包中,其JAVA程序中的包名、类名、方法被替换成没有任何的意义的名称,在逆向分析中查看会产生很多困惑,导致在逆向分析过程中十分的耗时的问题。 | ||
搜索关键词: | 一种 java 程序 混淆 方法 终端 | ||
【主权项】:
一种JAVA程序反混淆方法,其特征在于,包括以下步骤:S1:根据JAVA程序对应的字节码中的调用指令,得到与调用指令对应的第一索引;根据所述第一索引及预设的第二索引集合,重命名所述JAVA程序中的包名、类名、接口名及成员变量,得到第一JAVA程序;所述第二索引集合包括JAVA程序中的包名、类名、接口名及成员变量分别对应的索引;S2:通过OpenJDK记录Java虚拟机执行所述字节码时的执行信息,所述执行信息包括执行字节码时的调用堆栈、调用函数的类型以及语句执行流程;S3:根据所述调用堆栈和调用函数的类型,创建与所述调用堆栈对应的第三索引,以及与所述调用函数的类型对应的第四索引;根据所述第三索引及第四索引,删除所述第一JAVA程序中未调用的成员变量及函数,得到第二JAVA程序;S4:根据所述语句执行流程,删除所述第二JAVA程序中未执行的语句,得到优化JAVA程序;根据所述优化JAVA程序,生成反混淆JAR包。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711418874.9/,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法和装置
- 下一篇:一种目标智能跟踪方法通用设计框架