在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例桌面应用界面/GUI → java加密运行class/jar/war(支持window/linux/Mac/龙芯Linux系统/龙芯)

java加密运行class/jar/war(支持window/linux/Mac/龙芯Linux系统/龙芯)

桌面应用界面/GUI

下载此实例
  • 开发语言:Java
  • 实例大小:12.15M
  • 下载次数:68
  • 浏览次数:853
  • 发布时间:2019-11-03
  • 实例类别:桌面应用界面/GUI
  • 发 布 人:z360901061
  • 文件格式:.zip
  • 所需积分:0

实例介绍

联系QQ【360901061】可以远程协助您如何使用加密软件,为保护您的核心代码劳动成果,赶快行动起来吧!!!

java加密运行支持但不限于的框架:spring struts mybatis hibernate mysql oracle sqlserver postgresql springMVC springboot springcloud

java加密运行支持但不限于的系统:window/linux/Mac/龙芯Linux系统/龙芯

java加密运行支持但不限于的项目:JavaWeb项目、Tomcat项目、SpringBoot项目、Spring微服务项目、单独的Jar包项目、几乎所有的Java项目都支持加密运行,保护了源码,无法反编译.class、.jar包。

java加密运行支持但不限于的容器:Docker、BlueData、ClusterHQ、CoreOS、Kismatic、PortWorx、Rancher Labs、Shippable、Sysdig Cloud、Tutum、Twistlock、Weaveworks;等等

java加密运行支持项目转换成exeSpringBoot项目、Spring微服务项目、单独的Jar包项目等等

ZJ_HOME.zip

测试项目.zip

安装配置.zip

java加密运行-管理员-12.0.0.2.zip

反编译软件

客户端机器码生成器.zip

支持龙芯Linux系统JAVA加密运行

龙芯Linux系统-ZJ_HOME.zip

龙芯Linux系统-客户端机器码生成器.zip

龙芯Linux系统-java加密运行-管理员-1.0.zip

为什么要加密java的class或jar文件????

1、公司开发的java web要项目打包成war包往外卖,怎么对war包进行处理,防止其自己拷贝后往外出售呢,如果不通过加密的方式,还有其他方式防止其出售呢.

2、大家都知道的,class很好反编译。出于对知识产权和自身软件的保护,不希望任何人都可以看到源代码或者被反编译工具进行解密。

【java web发布运行在tomcat 大概加密与反编译过程如下】

对于传统的C或C 之类的语言来说,要在Web上保护源代码是很容易的,只要不发布它就可以。遗憾的是,Java程序的源代码很容易被别人偷看。只要有一个反编译器,任何人都可以分析别人的代码。Java的灵活性使得源代码很容易被窃取。

    有几种技术可以“模糊”Java类文件,使得反编译器处理类文件的效果大打折扣。然而,修改反编译器使之能够处理这些经过模糊处理的类文件并不是什么难事,所以不能简单地依赖模糊技术来保证源代码的安全。

    我们可以用流行的加密工具加密应用,比如java-web加密解密工具。这时,最终用户在运行应用之前必须先进行解密。但解密之后,最终用户就有了一份不加密的类文件,这和事先不进行加密没有什么差别。

    再说硬件加密锁,大多数厂商提供的加密锁只能进行dll的连接或简单的api调用,只要简单地反编译,就很容易把api去掉,这样加密锁根本起不了作用,那到底是否还有更好的解决办法呢?

视频讲解:

https://www.zhangjunbk.com/v/play/zj-1

image.png

1.png

加密项目模块授权

image.png

加密的tomcat项目配置如下(联系QQ:360901061,技术支持):

总的来说配置就2.1或2.2步(联系QQ:360901061,技术支持):

1、无需安装,运行【java加密运行-管理员-12.0.0.2.exe】,选择项目路径进行加密。

2.1、Windows配置你的tomcat环境变量,tomcat根目录\bin\setclasspath.bat:

        模板:        

        set ZJ_HOME=ZJ_HOME根目录

        set "JAVA_OPTS=%JAVA_OPTS% -agentpath:%ZJ_HOME%\jvmlib.dll"  

        示例:

        set ZJ_HOME=C:\ZJ_HOME-5.2.x-12.0.0.2

        set "JAVA_OPTS=%JAVA_OPTS% -agentpath:%ZJ_HOME%\jvmlib.dll"

2.2、Linux配置你的tomcat环境变量,tomcat根目录/bin/setclasspath.sh:

        模板:

        ZJ_HOME=ZJ_HOME根目录

        JAVA_OPTS="$JAVA_OPTS -agentpath:$ZJ_HOME/jvmlib.so"  

        示例:

        ZJ_HOME=/ZJ_HOME-5.2.x-12.0.0.2

        JAVA_OPTS="$JAVA_OPTS -agentpath:$ZJ_HOME/jvmlib.so"

3、拷贝加密后的项目到tomcat的webapp中启动项目了就可以了。

4、支行单独的Jar项目,参考start.linux.sh、start.windows.bat文件


注:windows电脑属性环境变量:JAVA_TOOL_OPTIONS=-agentpath:%ZJ_HOME%\jvmlib.dll,这样无需要在setclasspath.bat中配置了。

注:linux环境变量:

JAVA_TOOL_OPTIONS:-agentpath:$ZJ_HOME/jvmlib.so

export JAVA_TOOL_OPTIONS

,这样无需要在setclasspath.bat中配置了。

加密的springboot项目配置如下(联系QQ:360901061,技术支持):

springboot支持,建立xxx.bat或xxx.sh文件,文件内容如下:

@echo off

set ZJ_HOME=D:\ZJ_HOME-5.2.x-12.0.0.2

java -agentpath:%ZJ_HOME%\jvmlib.dll -jar zjweb.min.jar

pause

export ZJ_HOME=/ZJ_HOME-5.2.x-12.0.0.2

java -agentpath:$ZJ_HOME/jvmlib.so -jar server.jar api.MainApplication > api.log &

pause

单独的加密的Jar项目配置如下(联系QQ:360901061,技术支持):

单独的Jar支持,建立xxx.bat或xxx.sh文件,文件内容如下:

@echo off

set ZJ_HOME=D:\ZJ_HOME-5.2.x-12.0.0.2

java -agentpath:%ZJ_HOME%\jvmlib.dll -jar zjweb.min.jar

pause

export ZJ_HOME=/ZJ_HOME-5.2.x-12.0.0.2

java -agentpath:$ZJ_HOME/jvmlib.so -jar server.jar api.MainApplication > api.log &

pause


加密的Jar转换成EXE项目配置如下(联系QQ:360901061,技术支持):

image.png


可替换默认版权输出的内容哦,请在%ZJ_HOME%/banner.txt,写上您公司的版权内容哦

【需要加密的反编译的一些场景】

更常用的是在开发中加密自己的jar包,提供给第三方使用

做法是比如已经加密的AAA.jar包要提供给第三使用

1、把AAA.jar里面的所有实现全部删除,只保留空方法供在开发中调用

2、编译这些空方法无实现打包成ZZZ.jar,核心代码都在已经加密的AAA.jar,而ZZZ.jar只是供调用,方便在eclipse中编译通过

3、把AAA.jar和ZZZ.jar给第三方就可以了

如果大家有此需求,可心联系我,QQ:360901061,谢谢大家支持

下面讲解详细每个步骤说明:

一、打开软件:java加密运行-管理员-12.0.0.2.exe

1、打开java加密运行-管理员-12.0.0.2.exe,加密项目

2、根据“客户端机器码生成器.zip”获取机器码,机器码发给项目管理员获取项目授权reg.lic文件,把reg.lic文件放到项目所用的ZJ_HOME根目录下即可完成项目注册

  1.png

  客户端机器码生成器

  image.png

  image.png

小提示

  image.png


二、准备需要加密的项目(JavaWeb项目):smvc-nocipher

  张军博客

三、验证未加密的WEB-INF/class下的.class文件,可以反编译

 张军博客

四、验证未加密的WEB-INF/lib下的.jar文件,可以反编译

  张军博客

五、启动项目,肯定可以启动

普通tomcat7为例

  张军博客

  张军博客

设置java_home,如果你本机配置通用环境变量可不用设置 

set JAVA_HOME=E:\must-backup\jdk-cipher\cipher#test\jdk\windows\jdk1.7.0_51_src

  张军博客

点击启动

  张军博客

启动成功,没有问题

   张军博客

   张军博客

六、访问项目

张军博客

点击提交后台

张军博客

查看加密的文件

张军博客


张军博客

测试加密的文件.class/.jar文件是否可以反编译

张军博客

张军博客

拷贝加密的项目至tomcat中

张军博客

启动项目,项目启动超来用不了,启动也会报错

set JAVA_HOME=E:\must-backup\jdk-cipher\cipher#test\jdk\windows\jdk1.7.0_51_src

张军博客

点击startup文件

张军博客

张军博客

张军博客

浏览器中浏览项目,首页显示没有问题,因为首页不调用后台。

张军博客

点击提交后台就不行了,由于加密原因,无法使用

张军博客

如何正常启动并使用呢

覆盖您本地的jdk

张军博客

张军博客

张军博客

张军博客

复制E:\must-backup\jdk-cipher\cipher#test\cover-jdk\windows\jdk1.7粘贴到E:\must-backup\jdk-cipher\cipher#test\jdk\windows\jdk1.7.0_51_src

张军博客


配置tomcat的setclasspath.bat文件

set JAVA_HOME=E:\must-backup\jdk-cipher\cipher#test\jdk\windows\jdk1.7.0_51_src

set "JAVA_OPTS=%JAVA_OPTS% -agentpath:%JAVA_HOME%\bin\jvmlib.dll"

张军博客

再次启动项目,可以见证奇迹发生了


张军博客

在浏览器中打开浏览

张军博客

张军博客

正常访问啦,Linux同样配置的哦。

三、准备需要加密的项目(SpringBoot项目):envsmart-api-1.0-SNAPSHOT.jar

  image.png

  image.png

  image.png

拷贝JDK所需文件至JDK根目录下

  image.png

内容如下

@echo off

set JAVA_HOME=D:\free_soft\Java\cipher.test\jdk1.8.0_20

set CLASSPATH=.;%JAVA_HOME%\lib;%CLASSPATH%

set PATH=%JAVA_HOME%\bin;%PATH%

java -agentpath:%JAVA_HOME%\bin\jvmlib.dll -jar envsmart-api-1.0-SNAPSHOT.jar

pause

  image.png

用加密工具加密SpringBoot项目

   image.png

    image.png

  image.png

  image.png

  image.png

  image.png

四、准备需要加密的项目(单独的Jar项目):test.jar

1、直接使用加密工具加密Jar包项目

2、加密后的Jar包使用命令执行,即可正常运行

  image.png


建议方案:根本的方法是凡是拷贝的副本,在运行时,程序自动连接在jvm内核中做正版验证。至少解决大部分问题。

实例下载地址

java加密运行class/jar/war(支持window/linux/Mac/龙芯Linux系统/龙芯)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 z360901061 发表于: 2019-11-16 22:59 40
java-web项目加密运行 本文来源:张军博客:https://www.zhangjunbk.com/article/31217

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有1条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警