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

张军 19098 16

联系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内核中做正版验证。至少解决大部分问题。


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

发表我的评论
最新评论 总共16条评论
  1. 399151732@qq.com
    博主,你好,我按视频操作,项目启动不了,一闪而过,能否远程指导下?谢谢! 软件机器码:cfc03c63df50d13ffa62d7893ff49a0a 申请授权
    399151732@qq.com2021-01-16 14:13:57 回复
    • 360901061@qq.com
      好的,QQ已帮您处理,请查收消息
      360901061@qq.com回复399151732@qq.com2021-01-17 10:33:55 回复
  2. 399151732@qq.com
    软件机器码:cfc03c63df50d13ffa62d7893ff49a0a 申请授权
    399151732@qq.com2021-01-16 13:49:27 回复
    • 360901061@qq.com
      好的,QQ已帮您处理
      360901061@qq.com回复399151732@qq.com2021-01-17 10:33:43 回复
  3. 53576556@qq.com
    你好博主,看了文章,技术太强了,申请授权,项目机器码:219c6aa3b7c3b6390c0f4fb76f2a181b,加你QQ了,我的邮箱是93614281@qq.com
    53576556@qq.com2021-01-15 21:54:35 回复
    • 360901061@qq.com
      好的,谢谢支持!!!
      360901061@qq.com回复53576556@qq.com2021-01-15 22:33:16 回复
  4. 2352298401@qq.com
    感谢博主分享,我的软件机器码:2ac6be06adb5dd338c415f658c1c9955,请授权一下,谢谢!
    2352298401@qq.com2021-01-08 18:03:39 回复
    • 360901061@qq.com
      请联系我QQ:360901061
      360901061@qq.com回复2352298401@qq.com2021-01-08 18:54:17 回复
    • 360901061@qq.com
      已经发您了
      360901061@qq.com回复2352298401@qq.com2021-01-10 09:41:54 回复
  5. 13731168262@139.com
    博主技术很强,服务周到,购买授权很放心,大家多多支持
    13731168262@139.com2020-06-11 11:06:17 回复
    • 360901061@qq.com
      谢谢支持,您的支持是我最大的动力!!!
      360901061@qq.com回复13731168262@139.com2020-06-11 17:55:09 回复
  6. 623834439@qq.com
    感谢博主分享,我的项目是struts2.5.20 我的项目是机器码:582f97f94d8f3f793b0cb7ca558e9402 请授权一下
    623834439@qq.com2020-06-11 10:32:18 回复
    • 360901061@qq.com
      现在请大家购买注册码生成器授权,购买一次可以永久使用,并且可以对多个项目进行授权!可以管理多个项目的加密到期日期! 请联系QQ:360901061,远程技术支持服务!谢谢
      360901061@qq.com回复623834439@qq.com2020-06-11 17:57:09 回复
  7. 568809464@qq.com
    可以提供源码吗?想学习下
    568809464@qq.com2020-04-13 17:24:42 回复
    • 360901061@qq.com
      大家可以交流方法,源码不重要,知道方法即可
      360901061@qq.com回复568809464@qq.com2020-04-14 08:45:09 回复
    • 568809464@qq.com
      在.so文件中重写了classloader,在springboot项目启动时报错Caused by: java.lang.IllegalStateException: Unable to determine code source archive at org.springframework.boot.loader.Launcher.createArchive(Launcher.java:122) 这个是为什么?
      568809464@qq.com回复360901061@qq.com2020-04-15 17:03:08 回复
    • 360901061@qq.com
      可以看下我的网站视频讲解哦 https://www.zhangjunbk.com/v/index
      360901061@qq.com回复568809464@qq.com2020-04-18 19:32:58 回复
  8. leilvlin@163.com
    多谢博主那么慷慨,机器码:083e2b021c26cb138514fe3e4a8bdb44 请授权一下,谢谢,顺便问下博主有微信公众号没,感觉那个挺方便的
    leilvlin@163.com2020-04-13 00:10:43 回复
    • 360901061@qq.com
      20991231qq360901061599253ea211710404a051cb1747e17c6 微信群“张军网站共享资料群”
      360901061@qq.com回复leilvlin@163.com2020-04-13 08:58:50 回复
    • leilvlin@163.com
      谢谢
      leilvlin@163.com回复360901061@qq.com2020-04-13 09:07:26 回复
  9. angel_lin_in@163.com
    博主你好!请问支持非web在非tomcat容器下运行的项目吗? 还有替换了jdk的两个文件夹后,可以同时运行非加密的项目和加密后的项目吗? 另外我的机器码:9263bd3ab4955b6eeb565733ceef58b1, 麻烦给我个注册码.谢谢!
    angel_lin_in@163.com2020-03-25 12:18:46 回复
    • 360901061@qq.com
      可以同时运行的,注册码是20991231qq36090106187511b59df2a363d7d998a0a5760df2e
      360901061@qq.com回复angel_lin_in@163.com2020-03-25 16:07:02 回复
  10. 511406437@qq.com
    时代变了,害加密什么几把,提供服务就完事,害分享jar包
    511406437@qq.com2020-03-19 16:41:40 回复
    • 360901061@qq.com
      感谢评论,可能你写的项目都不是核心项目吧,如果是核心项目,还是有必要加密的哦
      360901061@qq.com回复511406437@qq.com2020-03-19 17:00:30 回复
  11. zhanglei_hb@qq.com
    博主您好!请问Tomcat使用Spring后支持吗? 另外,我的机器码:00f74d5415ea8f2ef36e4c7b5cfcf30f,麻烦给个注册码 QQQ
    zhanglei_hb@qq.com2020-03-12 18:45:58 回复
    • zhanglei_hb@qq.com
      谢谢博主!博主您好!今天试了下我的项目,发现有个问题:启动时加载lib下非加密的jar包里的.properties文件会报错,以ehcache-core.jar为例,会提示 Could not load [ehcache-version.properties],放classes目录下也是。当然,其他jar中有加载properties文件也是一样类似的错误。(环境:JDK1.8+TOMCAT8.0)
      zhanglei_hb@qq.com回复zhanglei_hb@qq.com2020-03-21 21:59:43 回复
    • 360901061@qq.com
      今天有时间我帮你远程看下吧
      360901061@qq.com回复zhanglei_hb@qq.com2020-03-22 00:51:30 回复
    • 360901061@qq.com
      ???可以加我微信,截图给我一下
      360901061@qq.com回复zhanglei_hb@qq.com2020-03-22 00:53:41 回复
    • zhanglei_hb@qq.com
      辛苦了,这么晚了还没睡,我加你QQ
      zhanglei_hb@qq.com回复360901061@qq.com2020-03-22 08:21:35 回复
    • 360901061@qq.com
      已解决,原因是因为原先struts版本2.3.37太高,降低到稳定版本2.3.16即可,谢谢使用
      360901061@qq.com回复zhanglei_hb@qq.com2020-03-22 14:30:07 回复
    • 360901061@qq.com
      多谢使用,永久注册码是:20991231qq3609010612f47dc3f6cbae4b8b5d7d33e47f10d8a
      360901061@qq.com回复zhanglei_hb@qq.com2020-03-13 19:06:25 回复
    • zhanglei_hb@qq.com
      谢谢博主!博主您好!今天试了下我的项目,发现有个问题:启动时加载lib下非加密的jar包里的.properties文件会报错,以ehcache-core.jar为例,会提示 Could not load [ehcache-version.properties],放classes目录下也是。当然,其他jar中有加载properties文件也是一样类似的错误。(环境:JDK1.8+TOMCAT8.0)
      zhanglei_hb@qq.com回复360901061@qq.com2020-03-21 22:00:44 回复
  12. 1076585014@qq.com
    楼主你好,这是我的机器码00f74d5415ea8f2ef36e4c7b5cfcf30f,麻烦给个注册码
    1076585014@qq.com2020-03-08 20:47:15 回复
    • 360901061@qq.com
      多谢使用,永久注册码:20991231qq3609010612f47dc3f6cbae4b8b5d7d33e47f10d8a
      360901061@qq.com回复1076585014@qq.com2020-03-08 20:48:42 回复
  13. 893947048@qq.com
    您好,我在使用的过程中发现tomcat抛出异常 没有找到jcbyte.JCByte 麻烦您提供下支撑 感谢
    893947048@qq.com2020-03-07 23:37:05 回复
    • 360901061@qq.com
      已经远程帮您解决了哦,感谢支持
      360901061@qq.com回复893947048@qq.com2020-03-08 12:55:30 回复
    • 893947048@qq.com
      感谢您的细心指导,不仅解决了问题还分析了前因后果,十分感谢
      893947048@qq.com回复360901061@qq.com2020-03-08 14:11:42 回复
  14. wgwang1994@163.com
    你好,目前这个jdk的新增文件有到期时间限制,这个是需要向您购买是吗?
    wgwang1994@163.com2019-11-21 20:54:00 回复
    • 360901061@qq.com
      此加密工具免费使用,支持远程支持,目前没有考虑收费哦
      360901061@qq.com回复wgwang1994@163.com2019-11-21 21:34:14 回复
  15. 437908704@qq.com
    麻烦问下,1,该jdk是否收费,收费标准是什么?看到视频里面说到有到期时间。 2,该加密方式大致思想是什么?
    437908704@qq.com2019-11-15 15:41:21 回复
    • 360901061@qq.com
      您好 1.该JDK免费使用,目前没有考虑收费。 2.对JDK运行机制进行拦截,不修改原JDK的源码,这样对使用者来说就可以放心使用了 感谢您的关注,谢谢
      360901061@qq.com回复437908704@qq.com2019-11-15 21:39:33 回复
    • 360901061@qq.com
      此加密工具免费使用,支持远程支持,目前没有考虑收费哦
      360901061@qq.com回复437908704@qq.com2019-11-15 22:14:33 回复
    • 360901061@qq.com
      支持远程技术支持,教你怎么使用哦
      360901061@qq.com回复437908704@qq.com2019-11-15 22:15:15 回复
  16. 360901061@qq.com
    如需技术帮助?请联系qq 360901061 感谢大家支持?
    360901061@qq.com2019-11-14 08:22:33 回复