javaee加密部署,tomcat使用自己的classloader解密
来源:互联网 发布:淘宝c店开店流程 编辑:程序博客网 时间:2024/05/19 05:04
【注意】
本项目已经开源到这里:http://git.oschina.net/uikoo9/jfinalQ-encrypt
好久没来发现有好多提问,csdn以后上的会慢慢变少,有问题可以在uikoo9.com博客评论,
这个加密部署已经开源为jfinalQ的一部分,有问题可以加jfinalQ群:209948677,多谢。
【更新】
将加密,解密,loader都做成了jar,配有说明文件,相信看了之后就可以使用了。
注意,这个只适合没有spring的,因为spring有自己的classloader。
地址:http://download.csdn.net/detail/uikoo9/7666193 (之前微云分享的过期了,才知道微云分享还会过期,坑啊,放到csdn的资源上了。)
【起因】
公司需要对一个web项目进行加密之后出售,
大家都知道的,class很好反编译,
所以需要对class文件先进行加密,
然后使用自己的classloader进行解密并加载。
【步骤】
大概分两步:
1.对class文件进行加密
2.写解密class文件并加载的classloader
3.将这个classloader加入到tomcat中,也就是使tomcat可以调用到这个classloader
【加密】
1.思路
字节流读取class文件,进行简单的移位
2.实现
做了一个小程序,实现了对某文件夹下所有class文件字节流读取,并+2位的加密方式
3.说明
swing是使用myeclipse的插件做的,可能比较乱
4.代码&下载
加密程序的源代码和程序打包成jar文件上传到了这里,双击可以使用。
【classloader】
1.代码:
【加入到tomcat】
1.context.xml
找到tomcat下contex.xml,在context之间加入以下代码:
其中loaderClass就是自己写loader,delegate=“true”的意思是只解密非系统的class和jar
2.添加loader
将自己写的loader的class文件放到tomcat\lib下
【开始】
1.使用加密程序对classes下所有文件加密,加密之后所有的class文件后缀变为uikoo9,可以自己修改源代码
2.将原classes文件夹删除,将加密后的classes文件夹复制进去
3.修改context.xml
4.tomcat\lib下添加loader.class
5.启动tomcat
经过实验是没问题的,如有疑问请留言。
参考:
http://blog.csdn.net/uikoo9/article/details/17281403
- javaee加密部署,tomcat使用自己的classloader解密【正解】
- javaee加密部署,tomcat使用自己的classloader解密
- javaee加密,tomcat使用自己的classloader解密
- javaee加密部署项目通过tomcat使用自定义的classload解密
- Tomcat自定义classLoader加密解密
- Java加密部署,使用自定义的classloader解密的方法实例
- javaEE Tomcat 部署方式
- 编写自己的classloader加载加密过的class
- RSA加密解密的使用!
- 使用自己的ClassLoader实现热替换
- 使用自己的ClassLoader实现热替换
- 使用自己的ClassLoader实现热替换
- java源程序加密解决方案(基于Classloader解密)
- 自定义ClassLoader对Class加密并解密
- ClassLoader与Tomcat的ClassLoader
- centos上面在Tomcat部署JavaEE项目的步骤
- tomcat手动部署自己整理使用
- 使用AES+自己算法设计加密解密算法
- Don‘t call setOnClickListener for an AdapterView. You probably want setOnItemClickListener instead
- 在VC中调用BCB编写的标准DLL函数库
- 以高斯塞德尔法和牛顿拉夫逊法为思想的基于Matlab的电力系统潮流计算
- hdu 5692 Snacks(dfs序+线段树)
- 3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
- javaee加密部署,tomcat使用自己的classloader解密
- 无人机跟踪系统项目开发过程记录-1
- 关于tomcat在关闭时的memory leak日志信息的解释
- jsonp跨域
- python界面开发
- 详解JS中Number()、parseInt()和parseFloat()的区别
- Ffmpeg(Fast Forward mpeg)用法总结(上)
- div添加背景图时候与清除浮动样式冲突
- JAVA01