混淆代码和利用工具打exe包

混淆代码
第一步:我们准备pom文件的jar和plugin插件,pom文件需要下面这些配置

<plugin>
    <groupId>com.github.wvengen</groupId>
    <artifactId>proguard-maven-plugin</artifactId>
    <version>2.3.0</version>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <!--使用插件的什么功能,当然是混淆-->
                <goal>proguard</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <proguardVersion>6.2.2</proguardVersion>
        <injar>classes</injar>
        <outjar>test.jar</outjar>
        <obfuscate>true</obfuscate>
        <proguardInclude>proguard.conf</proguardInclude>
        <libs>
            <lib>C:/Program Files/Java/jre1.8.0_111/lib/rt.jar</lib>
            <lib>C:/Program Files/Java/jre1.8.0_111/lib/jce.jar</lib>
        </libs>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>net.sf.proguard</groupId>
            <artifactId>proguard-base</artifactId>
            <version>6.2.2</version>
        </dependency>
    </dependencies>
</plugin>

第二步:我们准备一个排除不混淆的配置文件,这个配置文件主要就是排除不能被混淆的代码,比如像实体类呀,VO类,启动类,日志,mapper,这些都不能混淆掉,否则程序找不到,就会影响报错的以下的配置只能作为参考,看你的路劲写上去哦,

-target 1.8 ##指定java版本号
-dontshrink ##默认是开启的,这里关闭shrink,即不删除没有使用的类/成员
-dontoptimize ##默认是开启的,这里关闭字节码级别的优化
-useuniqueclassmembernames ##对于类成员的命名的混淆采取唯一策略
-adaptclassstrings ## 混淆类名之后,对使用Class.forName('className')之类的地方进行相应替代
-dontusemixedcaseclassnames ## 混淆时不生成大小写混合的类名,默认是可以大小写混合
-dontpreverify
-ignorewarnings
-dontskipnonpubliclibraryclasses ## 不加这个会报错Error: Can't find common super class of [java/lang/StringBuffer] and [org/eclipse/swt/internal/win32/TCHAR]
-keep class com.ledian.web.module.attendance.response.**,com.ledian.das.door.common.**,com.base.util,com.base.entity.**,com.ledian.web.module.attendance.request.**,com.**.entity.**{*;}
-keep class com.**.mapper.**{*;}
-keep class com.ledian.web.module.**,com.ledian.tm.resource.owner.OwnerHouse{ *;}
-keep class  com.ledian.web.utils.**,com.ledian.web.module.statistics.vo.**,com.ledian.web.module.attendance.vo.**{*;}
-keep class com.ledian.web.MyBatisConfig,com.ledian.web.JacksonConfig{*;}
 keep配置
-keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
#controller包名不混淆,否则aop无法切入
-keeppackagenames com.**.resource.**
-keep class com.ledian.web.Application{ *;}
-keep class com.ledian.web.Application$* { *;}
-keepclasseswithmembers public class * {protected Logger logger;}

第三步:我们就可以使用package打包啦!打包的名称我现在配置的是test.jar这个是可以修改的哦
执行步骤
上面的test.jar打包完成了,我们就要进行打成exe的包了

第一步:我们把所有用的资料放入一个文件夹里面
在这里插入图片描述

① Jdk1.8.1_40:他是一个jdk在里面,客户使用exe安装的时候会自动配置到客户电 脑里面
② Mysql:数据库的基础配置在里面
③ Output:打包完成的exe是放在这个文件夹下面的
④ Tomcat-smart-pm:tomcat的基础
⑤ Setport.bat:是设置端口号
⑥ Smart_pm2.iss:是一个打包工具
⑦ Start.bat:是启动服务
⑧ Stop.bat:是停止服务

第二步:我们把打包的test.jar进行解压可以看到以下文件把这些复制起来哦
在这里插入图片描述

第三步:我们把刚刚复制的文件放入我们打包的tomcat里面的classes文件进行覆盖
在这里插入图片描述

第四步:我们后端代码完成了接下来我们要覆盖前端代码了
在这里插入图片描述

第五步:如果需要更改数据库的话那么就把data文件复制到打包的mysql中进行覆盖
第六步:如果需要更改我们安装完成之后会弹出一个cmd显示ip地址的话可以在start.bat
在这里插入图片描述

第七步:如果想修改停止服务的配置可以修改stop.bat,这个配置主要是杀死mysql的进程和tomcat	的进程,

在这里插入图片描述

第八步:双击进入smart_pm2.iss会有一些配置,这些配置都需要对应哦,不然会报错哦!

在这里插入图片描述

第九步:我们就开始打exe包啦,等进度条完成,Output文件夹就会有一个exe文件了

注释:以上是我有mysql,有tomcat,有项目的前提哦,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值