彩票走势图

第二代Java代码混淆器Allatori Java obfuscator教程:其他属性(一)行号

翻译|使用教程|编辑:陈津勇|2019-11-12 10:34:38.363|阅读 695 次

概述:Allatori Java obfuscator是第二代Java代码混淆器,为您的知识产权提供全方位的保护。本文主要介绍了Allatori Java obfuscator其他属性中的第一部分内容,包括行号、泛型、内部类、成员重新排序。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

免费下载体验  在线优惠购买

Allatori Java obfuscator是第二代Java代码混淆器,为您的知识产权提供全方位的保护。大部分第二代混淆器都具有保护功能。Allatori除了保护功能之外,还附加了一系列的功能,几乎可以抵御一切的代码攻击。同时,Allatori可以让您的程序体积更小,速度更快,效果简直让人难以置信。

本文主要介绍了Allatori Java obfuscator其他属性中的第一部分内容,包括行号、泛型、内部类、成员重新排序。


行号


描述

混淆

(默认)调试信息是被混淆的,没有进一步的转换就不能使用。Allatori有一个特殊的实用程序,它允许在模糊的堆栈跟踪的帮助下重建原始堆栈跟踪。

报告的堆栈跟踪将如下所示:

        com.company.ca(m:61)

        com.company.bb(w:94)

        com.company.ba(w:83)

        com.company.aa(n:75)处的  java.lang.NullPointerException

使用Allatori Stack Trace Utility进行转换后,堆栈跟踪将如下所示:

   ;     显示java.lang.NullPointerException 

        在com.company.Util.createTestException(Util.java:38)

        在com.company.TraceTest.testNullObject(TraceTest.java:53)

        在com.company.TraceTest.allTraceTests(TraceTest.java:14)

        在com.company.Main.runTest(Main.java:27)

使用此选项可使生成的jar变小。

删除

当应用程序的大小非常重要时,可以使用此选项。 

报告的堆栈跟踪将如下所示:

        com.company.ca中的  java.lang.NullPointerException (未知源)

        com.company.bb(未知源)

        com.company.ba(未知源)

        com.company.aa(未知源)

保留

保留调试信息。此选项对于应用程序的内部测试很有帮助。在其他情况下,最好选择其他选项。 

报告的堆栈跟踪将如下所示:

        com.company.ca(Util.java:38)

        处com.company.bb(TraceTest.java:53)

        处com.company.ba(TraceTest.java:14)

        处com.company.aa 处的  java.lang.NullPointerException (Main.java:27)

例:

<property name =“ line-numbers” value =“ obfuscate” />

泛型

描述
保留
(默认)如果使用反射来确定泛型类型,或者需要使用混淆的jar作为库来编译其他类,则需要保留泛型类型签名。
删除泛型类型信息将被删除,即字符串Vector

例:

    <property name =“ generics” value =“删除” />
可以使用apply2class属性为指定的类设置此属性。该apply2class属性具有相同的格式模板的属性类的标签。这是一个例子:

    <!-将通用类型信息保留在com.abc包的类中->
    <property name =“ generics” value =“ keep” apply2class =“ class com.abc。*” />
    <!-删除所有其他类中的泛型类型信息->
    <property name =“ generics” value =“删除” />

内部类


描述
保留(默认)Java编译器添加带有内部类名称的信息属性。这些属性将保留在混淆的类中。
删除信息属性将被删除,类层次结构将更难恢复。它不影响性能,使jar较小,是推荐的选项。

例:

    <property name =“ inner-classes” value =“删除” />
可以使用apply2class属性为指定的类设置此属性。该apply2class属性具有相同的格式模板的属性类的标签。这是一个例子:

    <!-将内部类信息保留在com.abc包的类中->
    <property name =“ inner-classes” value =“ keep” apply2class =“ class com.abc。*” />
    <!-删除所有其他类中的内部类信息->
    <property name =“ inner-classes” value =“删除” />

成员重新排序

描述
启用(默认)通常,开发人员将相关的方法和字段一个接一个地放在源文件中。这个序列在编译过程之后保持不变。
禁用成员重新排序已禁用。

例:

<property name =“ member-reorder” value =“启用” />


-----未完待续----


慧都16周年·技术服务月,购正版Allatori Java obfuscator立省429元>>>

更多Allatori Java obfuscator资源,请点击了解

扫描关注“慧聚IT”微信公众号,及时获取最新动态及最新资讯


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP