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加密運行支持項目轉換成exe:SpringBoot項目、Spring微服務項目、單獨的Jar包項目等等。
1、公司開發的java web要項目打包成war包往外賣,怎么對war包進行處理,防止其自己拷貝后往外出售呢,如果不通過加密的方式,還有其他方式防止其出售呢.
2、大家都知道的,class很好反編譯。出于對知識產權和自身軟件的保護,不希望任何人都可以看到源代碼或者被反編譯工具進行解密。
對于傳統的C或C++之類的語言來說,要在Web上保護源代碼是很容易的,只要不發布它就可以。遺憾的是,Java程序的源代碼很容易被別人偷看。只要有一個反編譯器,任何人都可以分析別人的代碼。Java的靈活性使得源代碼很容易被竊取。
有幾種技術可以“模糊”Java類文件,使得反編譯器處理類文件的效果大打折扣。然而,修改反編譯器使之能夠處理這些經過模糊處理的類文件并不是什么難事,所以不能簡單地依賴模糊技術來保證源代碼的安全。
我們可以用流行的加密工具加密應用,比如java-web加密解密工具。這時,最終用戶在運行應用之前必須先進行解密。但解密之后,最終用戶就有了一份不加密的類文件,這和事先不進行加密沒有什么差別。
再說硬件加密鎖,大多數廠商提供的加密鎖只能進行dll的連接或簡單的api調用,只要簡單地反編譯,就很容易把api去掉,這樣加密鎖根本起不了作用,那到底是否還有更好的解決辦法呢?
根據加密項目啟動運行時獲取機器碼,機器碼發給項目管理員獲取項目授權reg.lic文件,把reg.lic文件放到項目所用的【java加密運行-管理員-15.0.0.2.zip】解壓后的根目錄下(例如:**/ZJ_HOME/ZJ_HOME-5.2.x-15.0.0.2/**下)即可完成項目注冊
set ZJ_HOME=ZJ_HOME根目錄
set "JAVA_OPTS=%JAVA_OPTS% -agentpath:%ZJ_HOME%\jvmlib.dll"
set ZJ_HOME=C:\ZJ_HOME-5.2.x-15.0.0.2
set "JAVA_OPTS=%JAVA_OPTS% -agentpath:%ZJ_HOME%\jvmlib.dll"
ZJ_HOME=ZJ_HOME根目錄
JAVA_OPTS="$JAVA_OPTS -agentpath:$ZJ_HOME/jvmlib.so"
ZJ_HOME=/ZJ_HOME-5.2.x-15.0.0.2
JAVA_OPTS="$JAVA_OPTS -agentpath:$ZJ_HOME/jvmlib.so"
拷貝加密后的項目到tomcat的webapp中啟動項目了就可以了。
@echo off
set ZJ_HOME=D:\ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:%ZJ_HOME%\jvmlib.dll -jar zjweb.min.jar
export ZJ_HOME=/ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:$ZJ_HOME/jvmlib.so -jar server.jar api.MainApplication > api.log &
@echo off
set ZJ_HOME=D:\ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:%ZJ_HOME%\jvmlib.dll -jar zjweb.min.jar
export ZJ_HOME=/ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:$ZJ_HOME/jvmlib.so -jar server.jar api.MainApplication > api.log &
@echo off
set ZJ_HOME=D:\ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:%ZJ_HOME%\jvmlib.dll -jar zjweb.min.jar
export ZJ_HOME=/ZJ_HOME-5.2.x-15.0.0.2
java -agentpath:$ZJ_HOME/jvmlib.so -jar server.jar api.MainApplication > api.log &
做法是比如已經加密的AAA.jar包要提供給第三使用
1、把AAA.jar里面的所有實現全部刪除,只保留空方法供在開發中調用
2、編譯這些空方法無實現打包成ZZZ.jar,核心代碼都在已經加密的AAA.jar,而ZZZ.jar只是供調用,方便在eclipse中編譯通過
3、把AAA.jar和ZZZ.jar給第三方就可以了
如果大家有此需求,可心聯系我,QQ:360901061,謝謝大家支持
本文為張軍原創文章,轉載無需和我聯系,但請注明來自張軍的個人博客http://m.eyofj.com
本文來源:軍軍小站|張軍博客