代码混淆工具Allatori7.7配置和使用

背景

工作中Allatori6.1的版本存在一些问题, 混淆效果差, 正则支持存在一些缺陷, 到7.7版本的时候这些问题得到了改善, 官网的版本是非商用版, 可用于教育和个人学习

混淆效果对比

测试代码

import java.time.LocalDateTime;
public class Demo {
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("date print" + now);
    }

    private Object timePrivate() {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("date print" + now);
        return now;
    }

    private Object timePublic() {
        System.out.println(timePrivate());
        LocalDateTime now = LocalDateTime.now();
        System.out.println("date print" + now);
        return now;
    }
}

从下图的对比来看, 混淆的效果相差非常大, 7.7版本无疑更加优秀


6.1混淆效果

7.7混淆效果

maven插件配置

    
        allatori_demo
        
            
                org.codehaus.mojo
                exec-maven-plugin
                3.0.0
                
                    
                        run-allatori
                        package
                        
                            exec
                        
                    
                
                
                    true
                    java
                    
                        -jar
                        ${build.outputDirectory}/allatori.jar
                        ${build.outputDirectory}/allatori.xml
                    
                
            

            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

工具配置

在任意目录放入allatori.jarallatori.xml, jar包可以从 官网下载 后解压出来, 文档的使用也有详细的说明

配置结构
allatori.xml

    
        
    
    
        
        
            
            
        
    
    
        
        
    
    

加上正则的忽略配置后, 相同的一份代码放在不同的路径, 可以更直观的对比处混淆的效果

对比

运行Idea中maven的package命令, 会生成obf-allatori_demo.jar, 便可查看包中混淆后的效果

你可能感兴趣的:(代码混淆工具Allatori7.7配置和使用)