社区
Java EE
帖子详情
如何替换JVM中的ClassLoader
furies21
2004-12-27 02:04:58
我们为了防止CLASS的被盗用,想加密所有的class文件,加密后无法在用JVM自带的ClasLoader对CLASS文件进行加载。要对原ClassLoader进行扩展解密模块后才行,现在已经写好了带解密切继承ClassLoader的类,不知道如何替换JVM中原来的ClassLoader。
...全文
250
5
打赏
收藏
如何替换JVM中的ClassLoader
我们为了防止CLASS的被盗用,想加密所有的class文件,加密后无法在用JVM自带的ClasLoader对CLASS文件进行加载。要对原ClassLoader进行扩展解密模块后才行,现在已经写好了带解密切继承ClassLoader的类,不知道如何替换JVM中原来的ClassLoader。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
magicsnake
2004-12-28
打赏
举报
回复
了解一下
asjj
2004-12-27
打赏
举报
回复
现在已经写好了带解密切继承ClassLoader的类
----------------------
假定继承ClassLoader的类名为MyClass,假定你解密的类package为“my.test.MyTest”,并且假定MyTest里有个方法是public static void doMethod(String s){System.out.println(s);}
//开始:
MyClass mc=new MyClass();
byte[] code=...//得到解密后的MyTest.class
Class cls = mc.defineClass("my.test.MyTest", code, 0, code.length);
String s="随便写....";
java.lang.reflect.Method m=cls.getMethod("doMethod",new Class[]{s.getClass()});
m.invoke(null,new Object[]{s});//打印s
bboonnee
2004-12-27
打赏
举报
回复
自己重载ClassLoader方法
jFresH_MaN
2004-12-27
打赏
举报
回复
只要用你自己的ClassLoader类里面的load方法就行了啊
其实就是和默认的loader一样用
Jacky1206
2004-12-27
打赏
举报
回复
建议不要这样用,一般来说你不可能把所有的 class 类加密吧,没有那种必要,只要若干核心类加密就可以了,那么只需要使用 Class 类的 forName 方法,里面制定你的 classloader 就可以了
JVM
ClassLoader
简析
JVM
ClassLoader
简析.压缩包
中
文档和示例代码
JVM
.zip_
JVM
代理_
classloader
运用代理模式,通过自定义
classloader
对代码加密,啊;敌法;打飞机
探索
JVM
底层奥秘
ClassLoader
源码分析与案例讲解
探索
JVM
底层奥秘
ClassLoader
源码分析与案例讲解,探索
JVM
底层奥秘
ClassLoader
源码分析与案例讲解.
JVM
类加载机制详细讲解
讲解
JVM
的
ClassLoader
子系统原理.
深入Java虚拟机
JVM
类加载学习笔记
深入Java虚拟机
JVM
类加载学习笔记:
jvm
java
classloader
垃圾回收 gc
Java EE
67,512
社区成员
225,881
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章