[发明专利]一种JAVA程序反混淆方法及终端有效
申请号: | 201711418874.9 | 申请日: | 2017-12-25 |
公开(公告)号: | CN108153518B | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 张涛;苏再添;吴少华 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/53 |
代理公司: | 深圳市博锐专利事务所 44275 | 代理人: | 张明 |
地址: | 361000 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 程序 混淆 方法 终端 | ||
本发明提供了一种JAVA程序反混淆方法及终端,根据所述第一索引及预设的第二索引集合,重命名所述JAVA程序中的包名、类名、接口名及成员变量,得到第一JAVA程序,并通过OpenJDK记录Java虚拟机执行所述字节码时的执行信息,删除第一JAVA程序未调用的成员变量及函数,得到第二JAVA程序,以及根据执行信息中的语句执行流程,删除第二JAVA程序中未执行的语句,得到优化JAVA程序;本发明通过上述方法,解决了原本混淆过的Jar包中,其JAVA程序中的包名、类名、方法被替换成没有任何的意义的名称,在逆向分析中查看会产生很多困惑,导致在逆向分析过程中十分的耗时的问题。
技术领域
本发明涉及反混淆技术领域,尤其涉及一种JAVA程序反混淆方法及终端。
背景技术
软件混淆是美国加州大学洛杉矶分校与IBM的研究人员共同设计出一个“数学拼图”加密软件系统,该系统在允许用户将其作为一个程序使用的同时,可阻止任何潜藏在背后的破译。在计算机领域的程序开发过程中,最简单的混淆就是名称混淆,而强度更高的流程混淆,让人看不懂软件编程的原理,阻止那些想得到源代码的行为,以此来保护源代码。
目前Java语言普遍使用ProGuard等作为压缩、优化和混淆工具。ProGuard是一个开源免费的Java字节码压缩,优化,混淆器,被广泛的用在Java应用开发和安卓开发中。它删除没有用的类,字段,方法与属性。使字节码最大程度地优化,使用简短且无意义的名字来重命名类、接口、字段和方法。目前在eclipse和IntelliJ IDEA都有该插件,直接将编译好的Java应用混淆优化后发布。
对于大部分商业付费混淆工具比如DashO Pro、Allatori,其中还包含了流程混淆、增加无效代码、流混淆、调试信息混淆、字符串编码、以及水印技术等。最大程度的提高了软件的逆向分析难度。
在逆向分析行业中,混淆过的字节代码给分析造成了很大的阻碍,导致了需要投入大量的时间精力去分析,所以需要一种反混淆的技术来帮助逆向分析人员来减轻工作量。
网络上现有的Java反编译工具,大部分处理混淆过的JAR包都有会编译失败情况,主要原因是混淆器使用一些无效的代码来使程序的堆栈混乱,反编译器按照正常的代码来分析,就会导致逻辑错误,于是就反编译失败了。
发明内容
本发明所要解决的技术问题是:本发明提供一种JAVA程序反混淆方法及终端,解决了Java程序反混淆的难题,促进了逆向分析行业的发展。
为了解决上述技术问题,本发明提供了一种JAVA程序反混淆方法,包括以下步骤:
S1:根据JAVA程序对应的字节码中的调用指令,得到与调用指令对应的第一索引;根据所述第一索引及预设的第二索引集合,重命名所述JAVA程序中的包名、类名、接口名及成员变量,得到第一JAVA程序;所述第二索引集合包括JAVA程序中的包名、类名、接口名及成员变量分别对应的索引;
S2:通过OpenJDK记录Java虚拟机执行所述字节码时的执行信息,所述执行信息包括执行字节码时的调用堆栈、调用函数的类型以及语句执行流程;
S3:根据所述调用堆栈和调用函数的类型,创建与所述调用堆栈对应的第三索引,以及与所述调用函数的类型对应的第四索引;根据所述第三索引及第四索引,删除所述第一JAVA程序中未调用的成员变量及函数,得到第二JAVA程序;
S4:根据所述语句执行流程,删除所述第二JAVA程序中未执行的语句,得到优化JAVA程序;根据所述优化JAVA程序,生成反混淆JAR包。
本发明还提供了一种JAVA程序反混淆终端,包括存储器、处理器以及存储在存储器上并可在处理器上执行的计算机程序,所述处理器执行所述程序时实现以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711418874.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:数据处理方法和装置
- 下一篇:一种目标智能跟踪方法通用设计框架