前言
代码混淆
提示:以下是本篇文章正文内容,下面案例可供参考
一、allatori是什么?
allatori 混淆jar,增加代码阅读难度
二、使用步骤
1.引入库
代码如下(示例):
<build>
<plugins>
<!-- Allatori plugin start -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-and-filter-allatori-config</id>
<phase>package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target</outputDirectory>
<resources>
<resource>
<directory>${basedir}/allatori</directory>
<includes>
<include>allatori.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.6.0</version>
<executions>
<execution>
<id>run-allatori</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>java</executable>
<arguments>
<!-- <argument>-Xms128m</argument>
<argument>-Xmx512m</argument>-->
<argument>-jar</argument>
<argument>${basedir}/lib/allatori.jar</argument>
<argument>${basedir}/target/allatori.xml</argument>
</arguments>
</configuration>
</plugin>
</plugins>
<!-- Allatori plugin end -->
</build>
## 2.读入数据
配置如下(示例):
<config>
<input>
<jar in="talent-rewards-main-1.0-SNAPSHOT.jar" out="talent-rewards-1.0-SNAPSHOT-obfuscated.jar"/>
</input>
<keep-names>
<class access="protected+">
<field access="protected+"/>
<method access="protected+"/>
</class>
</keep-names>
<ignore-classes>
<!-- 排除springboot依赖文件(springboot构建的项目需要排除) -->
<class template="class *springframework*"/>
<class template="class *apache*"/>
<class template="class *yaml*"/>
<class template="class *baomidou*"/>
<class template="class *alibaba*"/>
<class template="class *jeecg*"/>
<class template="class *codehaus*"/>
<class template="class *servlet*"/>
<class template="class *mail*"/>
<class template="class *tio*"/>
<class template="class *quartz*"/>
<class template="class *misc*"/>
<!-- <class template="class **"/> -->
</ignore-classes>
<property name="log-file" value="log.xml"/>
</config>
创建以下两个文件夹
放入jar包
—allatori.jar
allatori-annotations.jar
先打包成jar 再混淆
执行命令得到混淆包
总结
结果: