jar包加密( ClassFinal)

1:源码地址

参考地址:https://gitee.com/roseboy/classfinal

2:打包

可以选择拉下源码后,本地直接package一下,把加密的这个jar包先打好。自己研究的话 也可以不用打包,直接找到启动类,启动也是没问题的。

 

3:启动

启动后根据提示写入参数,但是在此过程中,加密包所在的地址中,不要包含中文!

启动加密jar包:java -jar classfinal-fatjar-1.2.1.jar

 在目标jar目录下会生成一个新的jar

 

 

如果需要指定机器的话,执行如下命令:则会生成一串机器码

java -jar classfinal-fatjar-1.2.1.jar -C

 

4:注意:

启动方式1:

如果启动方式采用下面这句的话,可能会无法启动!

java -javaagent:tool-3.4.1-encrypted.jar='-pwd 123' -jar tool-3.4.1-encrypted.jar

启动后报错:无法加载主类!如果原jar包是可以启动的,那跟项目关系可能不大,换一种启动方式

 

启动方式2:

命令:

java -javaagent:jar包名 -jar jar包名

 

 

log日志相关的xml文件加密后,也可能会造成启动失败!

 

5:插件形式

插件是classfinal-maven-plugin项目

<plugin>
                <groupId>net.roseboy</groupId>
                <artifactId>classfinal-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <password>123456</password>
                    <!--需要加密的包前缀-->
                    <packages>com.test</packages>
                    <!--排除的类名-->
                    <excludes>com.test.trigger.Application.java</excludes>
                    <!--加密的配置文件-->
                    <cfgfiles>application.yml,application-dev.yml,application-test.yml</cfgfiles>
                    <!--机器码-->
                    <code>机器码</code>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>classFinal</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

打包完,会生成一个encrypted结尾的jar,启动命令跟上面是一样的

 

posted @ 2023-08-08 15:07  鸭猪是的念来过倒  阅读(2811)  评论(0编辑  收藏  举报