当前位置:网站首页>深入分析类加载器
深入分析类加载器
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变化的时候进行一次类加载,这样缓存就没有了,就可以自动加载了,而且不会被发现,也不能被反编译。
边栏推荐
猜你喜欢
随机推荐
C# LibUsbDotNet 在USB-CDC设备的上位机应用
SQL函数 TO_CHAR(三)
The site is not found after the website is filed. You have not bound this domain name or IP to the corresponding site! The configuration file does not take effect!
主流小程序框架性能分析
ROS2系列知识(7):用rqt_console查看日志logs
每日优鲜大败局
Vulnhub target drone: HARRYPOTTER_ NAGINI
Good guy, the company server just crashed!
OpenCV-resize函数「建议收藏」
OneFlow源码解析:Op、Kernel与解释器
Winform message prompt box helper class
Unity ui点击事件只响应最上层ui的方式
2022 Strong Net Cup CTF---Strong Net Pioneer ASR wp
LeetCode Week 303
2022强网杯CTF---强网先锋 ASR wp
C#Excel帮助类
M1芯片电脑安装cerebro
C#的DataTable帮助类
DataTable Helper Class for C#
金仓数据库KingbaseES安全指南--6.3. Kerberos身份验证









