当前位置:网站首页>深入分析类加载器
深入分析类加载器
2022-08-01 16:55:00 【Hide on jdk】
1.背景:有个计算工资的类,这个类如果没有被篡改,那么员工工资是正确的
2.这个类通过如下类加载器方法被加载了

3.这样技术人员拿到路径下的jar包,反编译一下就看到了被篡改的代码,怎么办呢?
4.把jar包里面的class后缀名改为myclass,此时反编译工具是无法看到结果的,同时重写类加载器
打破双亲委派机制,写自己的加载方式
5.如果有些人发现了这个规律,很容易就把myclass改回来,这样就被发现了,我们可以对class进行修改,比如在class的头部加上1,然后由自定义classload来重写加载,这样就不会被发现
6.但是这样有个问题,那就是每次修改修改后class不会自动刷新,而是要重启自己的应用,这显然不合理,Jar包变了,但是没有生效,因为classload有缓存。

7.我们可以把class变化的时候进行一次类加载,这样缓存就没有了,就可以自动加载了,而且不会被发现,也不能被反编译。
边栏推荐
猜你喜欢
随机推荐
关于2022年深圳市福田区支持高端服务业发展项目的申报通知
云商店携手快报税,解锁财务服务新体验!
02 es cluster construction
缓存一致性MESI与内存屏障
Path helper class for C#
软件测试谈薪技巧:同为测试人员,为什么有人5K,有人 20K?
C#的DateTime帮助类
2022强网杯CTF---强网先锋 ASR wp
08 Spark cluster construction
DOM series of touch screen events
How to Efficiently Develop Jmix Extension Components
C#的CSV格式文件帮助类
Daily Yuxian Big Defeat
Complete knapsack problem to find the number of combinations and permutations
Winform的UI帮助类——部分组件会使用到DevExpress组件
每日优鲜大败局
C#的路径帮助类
金仓数据库 KDTS 迁移工具使用指南(2. 简介)
DateTime Helper Class for C#
MySQL加锁案例分析









