2024年3月29日
jeecgboot使用allatori混淆打包后台
熟悉Java的人都知道Java代码编译成class文件就可以部署运行了,但是class文件通过jdk-gui等工具是很容易反编译就看到源代码的,在代码给到客户私有化部署时,为了保护咱们自己的知识产权,我们会使用加密、花指令、混淆等方式对代码进行保护。
jeecgboot使用maven打包后的jar包存放在jeecg-module-system\jeecg-system-start\target目录下,本文档使用allatori对打包完成的jar包进行二次混淆。
首先在jeecg-module-system\jeecg-system-start根目录新建allatori文件夹其中新建allatori.xml文件及lib文件夹,lib文件夹下面放置allatori.jar和allatori-annotations.jar
其中allatori.xml内容如下:
<config>
<input>
<jar in="jeecg-system-start-3.6.3.jar" out="jeecg-system-start.jar"/>
</input>
<keep-names>
<!-- protected/public的都保留名称 -->
<class access="protected+">
<field access="protected+" />
<method access="protected+" />
</class>
</keep-names>
<ignore-classes>
<!-- 注意:spring的框架相关的文件需要排除,避免启动报错 -->
<class template="class *springframework*"/>
</ignore-classes>
<property name="log-file" value="log.xml"/>
</config>
最后修改jeecg-module-system\jeecg-system-start下面的pom.xml,添加如下:
<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>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.2.1</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>allatori/lib/allatori.jar</argument>
<argument>${basedir}/target/allatori.xml</argument>
</arguments>
</configuration>
</plugin>
Allatori官网

鲁ICP备2022013712号-1
鲁公网安备 37068102000415号