社区
Java EE
帖子详情
如何替换JVM中的ClassLoader
furies21
2004-12-27 02:04:58
我们为了防止CLASS的被盗用,想加密所有的class文件,加密后无法在用JVM自带的ClasLoader对CLASS文件进行加载。要对原ClassLoader进行扩展解密模块后才行,现在已经写好了带解密切继承ClassLoader的类,不知道如何替换JVM中原来的ClassLoader。
...全文
258
5
打赏
收藏
如何替换JVM中的ClassLoader
我们为了防止CLASS的被盗用,想加密所有的class文件,加密后无法在用JVM自带的ClasLoader对CLASS文件进行加载。要对原ClassLoader进行扩展解密模块后才行,现在已经写好了带解密切继承ClassLoader的类,不知道如何替换JVM中原来的ClassLoader。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 就可以了
Java
ClassLoader
学习总结
主要内容包括 Java类加载机制及加载流程,以及如何定义自己的类加载器,如何实现类的热
替换
。
阿里巴巴面试总结DOC版
阿里巴巴面试总结
JVM
- 类加载器
ClassLoader
JVM
- 类加载器
ClassLoader
。
JVM
的
Classloader
机制
原文链接:https://segmentfault.com/q/1010000000155690/a-1020000000155732 首先,你需要了解一下
JVM
的
Classloader
机制(详细请自行google之)。 简而言之,
JVM
的
classloader
加载继承关系分为Bootstarp
ClassLoader
--> Ext
ClassLoader
--> SystemClassLoad
替换
jvm
虚拟机默认
classloader
2019独角兽企业重金招聘Python工程师标准>>> ...
Java EE
67,550
社区成员
225,863
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章