Allatori Java obfuscator是第二代Java代码混淆器,为您的知识产权提供全方位的保护。大部分第二代混淆器都具有保护功能。Allatori除了保护功能之外,还附加了一系列的功能,几乎可以抵御一切的代码攻击。同时,Allatori可以让您的程序体积更小,速度更快,效果简直让人难以置信。本文主要介绍保留名称标签和类标签。
保留名称标签
keep-names标签是用来设置在混淆过程中不应重命名类、方法和字段的名称。如果混淆的应用程序是一个库,则应保留所有公共API。对于独立应用程序,您至少应保留主类的名称。您还应该保留通过反射使用的类和方法的名称。
您可以使用注释来更精确地控制重命名的元素。注释会覆盖配置文件设置。
keep-names标签包含以下任意数量的嵌套标签:字段标签指定不应重命名字段;
方法标签指定不应重命名的方法;
类标记指定不应重命名的类。进而可以包含嵌套的字段和方法标签。
这些嵌套标签为匹配类、字段和方法的名称设置规则。匹配的名称将不会重命名。所有这些标签可以具有访问权限或模板属性。
在访问属性相匹配的访问级别元素可以有以下值:值描述
private将具有私有访问权限的类、字段或方法匹配。
private+将具有私有或更大访问权限的类、字段或方法匹配。
package将类、字段或方法与程序包访问进行匹配。
package+匹配具有包或更广泛访问权限的类、字段或方法。
protected匹配具有受保护访问权限的类、字段或方法。
protected+匹配具有受保护的或更广泛访问权限的类、字段或方法。
public使具有公共访问权限的类、字段或方法匹配。
该模板属性类似于Java语言的语法。对于class、field和method标签,它具有不同的格式。
类标签
本类标签用于匹配的类。它具有以下属性:属性值
访问需要*。设置匹配规则。
模板需要*。设置匹配规则。其格式如下所述。
忽视可选的。如果设置为“true”或“yes”,则将重命名匹配的类,但是将照常处理嵌套的方法和字段标签。它允许保留某些字段和方法的名称,而不保留类的名称。
停可选的。如果设置为“true”或“yes”,则Allatori将停止将任何其他规则应用于匹配的类。
*必须具有访问权限或模板属性。
class标签的template属性具有以下格式:[@annotation] [modifiers] (class | interface) classname [extends classname]
[implements classname]
[instanceof classname]
类或类型名称中的“*”符号可匹配任意数量的字符。如果名称以“regex:”开头,则将其视为标准正则表达式。
例子:值描述
class *匹配所有类和接口。
interface *匹配所有接口。
public class *匹配所有公共类和接口。
protected+ class *匹配所有受保护的类和公共类和接口。
class *abc*匹配所有完全限定名称中包含“abc”的类。
class com.abc.*匹配com.abc包及其子包中的所有类。
class *.abc.*匹配所有“abc”包及其子包中的所有类。
class * extends java.util.Enumeration匹配所有扩展java.util.Enumeration的类。
class * extends *.Enumeration匹配所有扩展Enumeration的类。
class * instanceof java.io.Serializable匹配所有作为java.io.Serializable实例的类。
class * implements *.MouseListener匹配所有实现MouseListener的类。
@java.lang.Deprecated class *匹配所有不推荐使用的类。
class regex:com.package.(foo|bar).*匹配com.package.foo和com.package.bar包及其子包中的所有类。
class regex:com\.package\.(foo|bar)\..*上述规则的更精确版本。点应转义,因为未转义的点现在表示任何字符。
文章内容就是这样了,喜欢的朋友可以下载Allatori Java obfuscator最新版体验一下~
相关内容推荐:
想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”
标签:
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果
0
好文不易,鼓励一下吧!