当前位置:问答库>论文摘要

题目:Java混淆器性能检测工具的设计与实现

关键词:性能检测;Java混淆器;动态水印技术

  摘要


随着计算机的日益普及和应用软件的广泛使用,出现了很多以攻击破解他人正版软件来获利的行为,这样就给软件市场带来了重大的安全威胁,再加上软件开发调试工具的日益强大,很多开发调试工具都可以轻松的完成对源程序的代码定位,甚至二次编译,所以为了应对以上提到的种种安全威胁,大多数的开发者通常会采用混淆器加密的方式对开发的程序进行混淆加密处理,这样就可以很好的解决安全问题。

但是市面上的混淆器产品比较多,性能也参差不齐,又没有任何一款专业的工具可以对混淆器的性能做出比对与评判,所以本文就主要围绕混淆器性能检测方面展开论述,重点介绍混淆器性能检测工具的设计与实现。

针对Java混淆器的混淆特点,本文主要介绍了Java混淆器性能检测工具在以下几点的检测手段,1)在控制流混淆方面的检测,该部分主要是通过反编译class文件得到字节码文件,即程序代码之间的简单的调用关系,然后将其转换成与流程图对应的文件形式,再通过分析文件内容计算出控制流的复杂度,进而对控制流的混淆做出评判;2)在字符串混淆方面的检测,由于字符串的混淆是不可逆的,所以通过借助现有的反编译工具首先实现源代码的生成,然后分析生成后的源代码得出评判结论;3)在调试信息方面的检测主要是通过判断几部分调试信息的存在性与正确性,最后综合的得出判断结果;4)基本信息的检测,主要检测混淆前后对程序运行效率的影响(该功能只针对可自动运行的无需人为干预的程序),还会检测混淆器执行混淆的速度;5)水印检测功能,该功能可以检测出程序开发者嵌入的水印值信息,以此来验证程序是否被篡改过。

本文主要结合混淆法的相关知识,重点探讨研究Java程序在混淆加密检测领域的发展现状和技术手段,对这个领域的发展趋势,最新成果做出较深层次的研究,为检测工具的实现打下了坚实的基础。