众所周知,Java编译后的Jar包和Class文件,可以轻而易举的使用反编译工具(如JD-GUI)进行反编译,拿到源码。
为了保护自己发布的Jar包和Class文件,采用的方式大多是混淆方式,这种方式对于Class文件的加密是不彻底的,还是能够通过分析得出核心算法。
本工具是采用jvmti方式对Class文件进行加密,使用C++生成加密和解密库,先用加密库对Jar包进行加密,将加密后的Jar包及解密库文件发布出去,执行时候需要JVM引入解密库文件,解密后执行。
c++的.dll文件和.so文件的破解难度是很大的,这就能有效的保护软件和代码的知识产权.使用方法:1.打开windows命令行(运行=>cmd=>回车),在命令行中进入EncryptJar目录2.执行java-jarencrypt.jar3.输入h,然后回车,可以看到帮助菜单4.输入3,然后按回车键,进入加入jar文件功能5.输入要加密的jar文件的路径6.提示输入秘钥(key)的时候,直接回车,不要输入任何字符(否则后面classhook将不可解密加密后的jar包)7.输入目标路径(加密后的jar文件路径,此处要注意:jar文件名要保持相同,将加密后的文件保存到不同的目录)8.将加密后的jar包,替换原来的没有加密的jar包,与要发布的程序一起进行发布.(一般替换lib目录下对应的jar包即可)9.加密后的jar包运行方法:windows下:拷贝libClassHook.dll文件到程序的根目录(通常为要执行的jar程序的根目录)使用以下命令启动程序:java-agentlib:libClassHook-jarxxxxxxxxxxx.jar则在运行过程中会自动进行解密操作(解密过程是运行过程中用c++的dll进行解密的,可以有效防止破解class文件)如果执行过程报错,可将程序根目录添加到环境变量path中去Linux下:拷贝libClassHook.so到程序的根目录(通常为要执行的jar程序的根目录)使用以下命令启动程序:java-agentlib:ClassHook-jarxxxxxxxxxxx.jar(这里要删除掉lib,linux系统下会自动补全)则在运行过程中会自动进行解密操作(解密过程是运行过程中用c++的dll进行解密的,可以有效防止破解class文件)如果执行过程报错,可以在程序根目录下执行以下语句:exportLD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH或将libClassHook.so拷贝到/usr/lib目录中去。
支持操作系统:加密请在windows64位系统并安装了64位jdk环境下进行。
需要解密运行的程序支持LINUX(64位)和windows(64位)安装了JDK1.8以上的系统。
测试程序:(t_lib目录下的jar包为经过加密的jar包)java-agentlib:libClassHook-jartest.jar
1
一键设置JDK环境变量,需要管理员权限,是C#带界面的脚本。
2023/7/6 1:36:55 15KB JDK JAVA
1
SolarisJDK配置,加固升级时候留的笔记,小白适用加固参考
2023/6/29 6:44:46 576B Solaris JDK配置
1
VTK8.0.1资源+Java环境下,成功编译文件,环境搭建方法的vtk.Jar包和DLL文件集合,可在windows+64位jdk环境成功运转
2020/2/8 2:40:35 27.56MB VTK8.0.1 Java vtk.Jar包
1
需求三台机器安装zookeeper集群:安装JDK环境、安装部署zookeeper集群、启动zookeeper集群、修改配置
2020/9/6 18:50:07 35KB zookeeper 集群搭建
1
需求三台机器安装zookeeper集群:安装JDK环境、安装部署zookeeper集群、启动zookeeper集群、修改配置
2015/8/21 4:42:47 35KB zookeeper 集群搭建
1
windows多版本jdk快速切换工具,能够快速切换电脑上曾经安装的jdk环境,并且立即生效。
支持本地jdk文件,比如openjdk是没有安装的
2018/11/23 2:23:39 27.96MB windows jdk 快速切换 多版本
1
1、安装01文件夹外面的安装包IntelliJIDEA工具2、安装02文件夹外面的JDK 第一步:安装JDK 第二步:安装完后配置JDK环境3、安装03文件中的Apache-Tomcat安装和配置4、安装04文件中的MySQL数据库即可
2016/6/15 14:26:54 10.86MB JAVA ApacheTomcat MySQL IDEA
1
包含四个文件,很全面的蓝桥杯资源:jdk环境配置.doc蓝桥杯历年真题及答案.docx蓝桥杯练习零碎题目汇总.doc蓝桥杯java历年真题及答案整理(共129道题目及答案).doc
2020/11/1 7:41:43 1.27MB 蓝桥杯、Java
1
员工信息管理零碎,在JDK环境中运用JAVA,JSP等技术实现,同时采用Mysql数据库存储和管理数据。
2017/4/13 4:02:10 463KB jsp 毕业论文 java
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡